diff options
Diffstat (limited to 'src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs')
-rw-r--r-- | src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs b/src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs new file mode 100644 index 000000000..6765da421 --- /dev/null +++ b/src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs @@ -0,0 +1,20 @@ +#![feature(fn_traits)] + +// That a closure whose expected argument types include two distinct +// bound regions. + +use std::cell::Cell; + +fn doit<T,F>(val: T, f: &F) + where F : Fn(&Cell<&T>, &T) +{ + let x = Cell::new(&val); + f.call((&x,&val)) +} + +pub fn main() { + doit(0, &|x, y| { + x.set(y); + //~^ lifetime may not live long enough + }); +} |