diff options
Diffstat (limited to 'tests/ui/svh/auxiliary/svh-uta-change-use-trait.rs')
-rw-r--r-- | tests/ui/svh/auxiliary/svh-uta-change-use-trait.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/svh/auxiliary/svh-uta-change-use-trait.rs b/tests/ui/svh/auxiliary/svh-uta-change-use-trait.rs new file mode 100644 index 000000000..823d29571 --- /dev/null +++ b/tests/ui/svh/auxiliary/svh-uta-change-use-trait.rs @@ -0,0 +1,22 @@ +//! "svh-uta-trait.rs" is checking that we detect a +//! change from `use foo::TraitB` to use `foo::TraitB` in the hash +//! (SVH) computation (#14132), since that will affect method +//! resolution. +//! +//! This is the upstream crate. + +#![crate_name = "uta"] + +mod traits { + pub trait TraitA { fn val(&self) -> isize { 2 } } + pub trait TraitB { fn val(&self) -> isize { 3 } } +} + +impl traits::TraitA for () {} +impl traits::TraitB for () {} + +pub fn foo<T>(_: isize) -> isize { + use traits::TraitB; + let v = (); + v.val() +} |