1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#![feature(auto_traits)] pub mod bar { use std::marker; pub auto trait Bar {} pub trait Foo { fn foo(&self) {} } impl Foo { pub fn test<T: Bar>(&self) {} } pub struct TypeId; impl TypeId { pub fn of<T: Bar + ?Sized>() -> TypeId { panic!() } } }