about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorJack Huey <31162821+jackh726@users.noreply.github.com>2021-08-21 20:56:31 -0400
committerGitHub <noreply@github.com>2021-08-21 20:56:31 -0400
commit0689152b1ef9c0f8f0543c1e93b079f1cbed75bc (patch)
tree382108ec7fcd96e424d0a2b4a9142796bc1ed530 /src
parent908b2ead9cc84904e8a31792c92a01d6e38ae179 (diff)
parent2644a159c7d43bc22ed868819a01cb9646e51b14 (diff)
downloadrust-0689152b1ef9c0f8f0543c1e93b079f1cbed75bc.tar.gz
rust-0689152b1ef9c0f8f0543c1e93b079f1cbed75bc.zip
Rollup merge of #88172 - spastorino:tait-defining-use-submodule-test, r=oli-obk
Test that type alias impl trait happens in a submodule

r? `@oli-obk`

Related to #86727
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/type-alias-impl-trait/defining-use-submodule.rs23
-rw-r--r--src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs10
2 files changed, 23 insertions, 10 deletions
diff --git a/src/test/ui/type-alias-impl-trait/defining-use-submodule.rs b/src/test/ui/type-alias-impl-trait/defining-use-submodule.rs
new file mode 100644
index 00000000000..8b51f55715e
--- /dev/null
+++ b/src/test/ui/type-alias-impl-trait/defining-use-submodule.rs
@@ -0,0 +1,23 @@
+// check-pass
+
+#![feature(type_alias_impl_trait)]
+#![allow(dead_code)]
+
+// test that the type alias impl trait defining use is in a submodule
+
+fn main() {}
+
+type Foo = impl std::fmt::Display;
+type Bar = impl std::fmt::Display;
+
+mod foo {
+    pub fn foo() -> super::Foo {
+        "foo"
+    }
+
+    pub mod bar {
+        pub fn bar() -> crate::Bar {
+            1
+        }
+    }
+}
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs
index 80192d19af9..d2c8c1f63df 100644
--- a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs
+++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait.rs
@@ -11,7 +11,6 @@ fn main() {
     assert_eq!(bar2().to_string(), "bar2");
     let mut x = bar1();
     x = bar2();
-    assert_eq!(boo::boo().to_string(), "boo");
     assert_eq!(my_iter(42u8).collect::<Vec<u8>>(), vec![42u8]);
 }
 
@@ -33,15 +32,6 @@ fn bar2() -> Bar {
     "bar2"
 }
 
-// definition in submodule
-type Boo = impl std::fmt::Display;
-
-mod boo {
-    pub fn boo() -> super::Boo {
-        "boo"
-    }
-}
-
 type MyIter<T> = impl Iterator<Item = T>;
 
 fn my_iter<T>(t: T) -> MyIter<T> {