summaryrefslogtreecommitdiffstats
path: root/src/test/ui/inference/issue-81522.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/inference/issue-81522.rs')
-rw-r--r--src/test/ui/inference/issue-81522.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/inference/issue-81522.rs b/src/test/ui/inference/issue-81522.rs
new file mode 100644
index 000000000..902f8fdde
--- /dev/null
+++ b/src/test/ui/inference/issue-81522.rs
@@ -0,0 +1,31 @@
+// Regression test for #81522.
+// Ensures that `#[allow(unstable_name_collisions)]` appended to things other than function
+// suppresses the corresponding diagnostics emitted from inside them.
+// But note that this attribute doesn't work for macro invocations if it is appended directly.
+
+// aux-build:inference_unstable_iterator.rs
+// aux-build:inference_unstable_itertools.rs
+// run-pass
+
+extern crate inference_unstable_iterator;
+extern crate inference_unstable_itertools;
+
+#[allow(unused_imports)]
+use inference_unstable_iterator::IpuIterator;
+use inference_unstable_itertools::IpuItertools;
+
+fn main() {
+ // expression statement
+ #[allow(unstable_name_collisions)]
+ 'x'.ipu_flatten();
+
+ // let statement
+ #[allow(unstable_name_collisions)]
+ let _ = 'x'.ipu_flatten();
+
+ // block expression
+ #[allow(unstable_name_collisions)]
+ {
+ 'x'.ipu_flatten();
+ }
+}