//@ compile-flags: -Znext-solver | |
//@ run-pass | |
// Test that selection prefers the builtin trait object impl for `Any` | |
// instead of the user defined impl. Both impls apply to the trait | |
// object. | |
use std::any::Any; | |
fn needs_usize(_: &usize) {} | |
fn main() { | |
let x: &dyn Any = &1usize; | |
if let Some(x) = x.downcast_ref::<usize>() { | |
needs_usize(x); | |
} | |
} |