diff options
Diffstat (limited to 'tests/ui/impl-trait/in-trait/foreign.rs')
-rw-r--r-- | tests/ui/impl-trait/in-trait/foreign.rs | 16 |
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(); } |