granite-rust/tests/ui/methods/method-two-traits-distinguished-via-where-clause.rs
2024-02-07 10:42:01 +08:00

27 lines
450 B
Rust

// run-pass
// Test that we select between traits A and B. To do that, we must
// consider the `Sized` bound.
// pretty-expanded FIXME #23616
trait A { //~ WARN trait `A` is never used
fn foo(self);
}
trait B {
fn foo(self);
}
impl<T: Sized> A for *const T {
fn foo(self) {}
}
impl<T> B for *const [T] {
fn foo(self) {}
}
fn main() {
let x: [isize; 4] = [1,2,3,4];
let xptr = &x[..] as *const [isize];
xptr.foo();
}