summaryrefslogtreecommitdiffstats
path: root/tests/ui/impl-trait/in-trait/foreign.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/impl-trait/in-trait/foreign.rs')
-rw-r--r--tests/ui/impl-trait/in-trait/foreign.rs16
1 files changed, 14 insertions, 2 deletions
diff --git a/tests/ui/impl-trait/in-trait/foreign.rs b/tests/ui/impl-trait/in-trait/foreign.rs
index 6341f5b42..f4972d948 100644
--- a/tests/ui/impl-trait/in-trait/foreign.rs
+++ b/tests/ui/impl-trait/in-trait/foreign.rs
@@ -1,9 +1,21 @@
// check-pass
// aux-build: rpitit.rs
+// [next] compile-flags: -Zlower-impl-trait-in-trait-to-assoc-ty
+// revisions: current next
extern crate rpitit;
+use std::sync::Arc;
+
+// Implement an RPITIT from another crate.
+struct Local;
+impl rpitit::Foo for Local {
+ fn bar() -> Arc<String> { Arc::new(String::new()) }
+}
+
fn main() {
- // Witness an RPITIT from another crate
- let () = <rpitit::Foreign as rpitit::Foo>::bar();
+ // Witness an RPITIT from another crate.
+ let &() = <rpitit::Foreign as rpitit::Foo>::bar();
+
+ let x: Arc<String> = <Local as rpitit::Foo>::bar();
}