]> git.lizzy.rs Git - rust.git/blob - src/test/compile-fail/generic-lifetime-trait-impl.rs
Auto merge of #22517 - brson:relnotes, r=Gankro
[rust.git] / src / test / compile-fail / generic-lifetime-trait-impl.rs
1 // Copyright 2012 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.
4 //
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.
10
11 // This code used to produce an ICE on the definition of trait Bar
12 // with the following message:
13 //
14 // Type parameter out of range when substituting in region 'a (root
15 // type=fn(Self) -> 'astr) (space=FnSpace, index=0)
16 //
17 // Regression test for issue #16218.
18
19 trait Bar<'a> {}
20
21 trait Foo<'a> {
22     fn bar<'b, T: Bar<'b>>(self) -> &'b str;
23 }
24
25 impl<'a> Foo<'a> for &'a str {
26     fn bar<T: Bar<'a>>(self) -> &'a str { panic!() } //~ ERROR lifetime
27 }
28
29 fn main() {
30 }