2016-08-04 01:51:52 +02:00
|
|
|
trait T1 {}
|
|
|
|
trait T2 {}
|
|
|
|
|
|
|
|
trait Foo {
|
2017-12-11 00:12:25 +03:00
|
|
|
type A: T1;
|
2016-08-04 01:51:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
trait Bar : Foo {
|
2017-12-11 00:12:25 +03:00
|
|
|
type A: T2;
|
2016-08-04 01:51:52 +02:00
|
|
|
fn do_something() {
|
2016-08-18 00:43:18 +02:00
|
|
|
let _: Self::A;
|
2016-08-18 00:07:24 +02:00
|
|
|
//~^ ERROR E0221
|
2016-10-23 21:53:31 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
trait T3 {}
|
|
|
|
|
|
|
|
trait My : std::str::FromStr {
|
2017-12-11 00:12:25 +03:00
|
|
|
type Err: T3;
|
2016-10-23 21:53:31 +03:00
|
|
|
fn test() {
|
|
|
|
let _: Self::Err;
|
|
|
|
//~^ ERROR E0221
|
2016-08-04 01:51:52 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
}
|