rust/tests/ui/methods/supertrait-shadowing/trivially-false-subtrait.rs
2025-02-13 05:45:53 +00:00

27 lines
451 B
Rust

//@ check-pass
// Make sure we don't prefer a subtrait that we would've otherwise eliminated
// in `consider_probe` during method probing.
#![feature(supertrait_item_shadowing)]
#![allow(dead_code)]
struct W<T>(T);
trait Upstream {
fn hello(&self) {}
}
impl<T> Upstream for T {}
trait Downstream: Upstream {
fn hello(&self) {}
}
impl<T> Downstream for W<T> where T: Foo {}
trait Foo {}
fn main() {
let x = W(1i32);
x.hello();
}