about summary refs log tree commit diff
path: root/tests/ui/lexical-scoping.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/lexical-scoping.rs')
-rw-r--r--tests/ui/lexical-scoping.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/lexical-scoping.rs b/tests/ui/lexical-scoping.rs
new file mode 100644
index 00000000000..04904958a6c
--- /dev/null
+++ b/tests/ui/lexical-scoping.rs
@@ -0,0 +1,19 @@
+// run-pass
+// Tests that items in subscopes can shadow type parameters and local variables (see issue #23880).
+
+#![allow(unused)]
+struct Foo<X> { x: Box<X> }
+impl<Bar> Foo<Bar> {
+    fn foo(&self) {
+        type Bar = i32;
+        let _: Bar = 42;
+    }
+}
+
+fn main() {
+    let f = 1;
+    {
+        fn f() {}
+        f();
+    }
+}