blob: e44c7c18083d0e41f45534b4d7ccbbc3b97c97ec [file] [log] [blame]
//@ 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();
}