about summary refs log tree commit diff
path: root/tests/ui/resolve/impl-items-vis-unresolved.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/resolve/impl-items-vis-unresolved.rs')
-rw-r--r--tests/ui/resolve/impl-items-vis-unresolved.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/ui/resolve/impl-items-vis-unresolved.rs b/tests/ui/resolve/impl-items-vis-unresolved.rs
new file mode 100644
index 00000000000..1494c1cf968
--- /dev/null
+++ b/tests/ui/resolve/impl-items-vis-unresolved.rs
@@ -0,0 +1,26 @@
+// Visibilities on impl items expanded from macros are resolved (issue #64705).
+
+macro_rules! perftools_inline {
+    ($($item:tt)*) => (
+        $($item)*
+    );
+}
+
+mod state {
+    pub struct RawFloatState;
+    impl RawFloatState {
+        perftools_inline! {
+            pub(super) fn new() {} // OK
+        }
+    }
+}
+
+pub struct RawFloatState;
+impl RawFloatState {
+    perftools_inline! {
+        pub(super) fn new() {}
+        //~^ ERROR failed to resolve: there are too many leading `super` keywords
+    }
+}
+
+fn main() {}