| //@ check-pass | |
| //@ compile-flags: --emit=mir,link | |
| // Force mir to be emitted, to ensure that const | |
| // propagation doesn't ICE on a function | |
| // with an 'impossible' body. See issue #67696 | |
| // Inconsistent bounds with trait implementations | |
| #![feature(trivial_bounds)] | |
| #![allow(unused)] | |
| trait A { | |
| fn foo(&self) -> Self where Self: Copy; | |
| } | |
| impl A for str { | |
| fn foo(&self) -> Self where Self: Copy { *"" } | |
| } | |
| impl A for i32 { | |
| fn foo(&self) -> Self { 3 } | |
| } | |
| fn main() {} |