]> git.lizzy.rs Git - rust.git/blob - src/test/ui/shadowed/shadowed-type-parameter.rs
Rollup merge of #100026 - WaffleLapkin:array-chunks, r=scottmcm
[rust.git] / src / test / ui / shadowed / shadowed-type-parameter.rs
1 // Test that shadowed lifetimes generate an error.
2
3
4 struct Foo<T>(T);
5
6
7 impl<T> Foo<T> {
8     fn shadow_in_method<T>(&self) {}
9     //~^ ERROR the name `T` is already used
10
11     fn not_shadow_in_item<U>(&self) {
12         struct Bar<T, U>(T,U); // not a shadow, separate item
13         fn foo<T, U>() {} // same
14     }
15 }
16
17 trait Bar<T> {
18     fn dummy(&self) -> T;
19
20     fn shadow_in_required<T>(&self);
21     //~^ ERROR the name `T` is already used
22
23     fn shadow_in_provided<T>(&self) {}
24     //~^ ERROR the name `T` is already used
25
26     fn not_shadow_in_required<U>(&self);
27     fn not_shadow_in_provided<U>(&self) {}
28 }
29
30 fn main() {}