| // Check that false bounds don't leak | |
| #![feature(trivial_bounds)] | |
| pub trait Foo { | |
| fn test(&self); | |
| } | |
| fn return_str() -> str where str: Sized { | |
| *"Sized".to_string().into_boxed_str() | |
| } | |
| fn cant_return_str() -> str { //~ ERROR | |
| *"Sized".to_string().into_boxed_str() | |
| } | |
| fn my_function() where i32: Foo | |
| { | |
| 3i32.test(); | |
| Foo::test(&4i32); | |
| generic_function(5i32); | |
| } | |
| fn foo() { | |
| 3i32.test(); //~ ERROR | |
| Foo::test(&4i32); //~ ERROR | |
| generic_function(5i32); //~ ERROR | |
| } | |
| fn generic_function<T: Foo>(t: T) {} | |
| fn main() {} |