1 // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // Test that an impl with only one bound region `'a` cannot be used to
12 // satisfy a constraint where there are two bound regions.
15 fn foo(&self, x
: X
) { }
19 where T
: for<'a
,'b
> Foo
<(&'a
isize, &'b
isize)>
24 where T
: for<'z
> Foo
<(&'z
isize, &'z
isize)>
28 ///////////////////////////////////////////////////////////////////////////
29 // Expressed as a where clause
33 impl<'a
> Foo
<(&'a
isize, &'a
isize)> for SomeStruct
37 fn a() { want_foo1::<SomeStruct>(); }
// OK -- foo wants just one region
38 fn b() { want_foo2::<SomeStruct>(); }
//~ ERROR E0277