summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/auxiliary/issue-11225-2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/issues/auxiliary/issue-11225-2.rs')
-rw-r--r--src/test/ui/issues/auxiliary/issue-11225-2.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/issues/auxiliary/issue-11225-2.rs b/src/test/ui/issues/auxiliary/issue-11225-2.rs
new file mode 100644
index 000000000..4381f0a4e
--- /dev/null
+++ b/src/test/ui/issues/auxiliary/issue-11225-2.rs
@@ -0,0 +1,28 @@
+use inner::Trait;
+
+mod inner {
+ pub struct Foo;
+ pub trait Trait {
+ fn f(&self);
+ fn f_ufcs(&self);
+ }
+
+ impl Trait for Foo {
+ fn f(&self) { }
+ fn f_ufcs(&self) { }
+ }
+}
+
+pub trait Outer {
+ fn foo<T: Trait>(&self, t: T) { t.f(); }
+ fn foo_ufcs<T: Trait>(&self, t: T) { T::f(&t); }
+}
+
+impl Outer for isize {}
+
+pub fn foo<T: Outer>(t: T) {
+ t.foo(inner::Foo);
+}
+pub fn foo_ufcs<T: Outer>(t: T) {
+ T::foo_ufcs(&t, inner::Foo)
+}