24 lines
476 B
Rust
24 lines
476 B
Rust
// 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() {}
|