https://gcc.gnu.org/g:14c4c2f142d1908e8e93aa15d49f61f97f060727

commit 14c4c2f142d1908e8e93aa15d49f61f97f060727
Author: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>
Date:   Mon May 20 13:29:51 2024 +0200

    Add two new tests related to may_dangle attribute
    
    First test checks the may_dangle outer atttribute on generic params can
    be parsed. The second one tests whether may_dangle attributes are
    correctly feature gated.
    
    gcc/testsuite/ChangeLog:
    
            * rust/compile/dropck_eyepatch_feature_gate.rs: New test.
            * rust/compile/may_dangle.rs: New test.
    
    Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>

Diff:
---
 gcc/testsuite/rust/compile/dropck_eyepatch_feature_gate.rs |  8 ++++++++
 gcc/testsuite/rust/compile/may_dangle.rs                   | 10 ++++++++++
 2 files changed, 18 insertions(+)

diff --git a/gcc/testsuite/rust/compile/dropck_eyepatch_feature_gate.rs 
b/gcc/testsuite/rust/compile/dropck_eyepatch_feature_gate.rs
new file mode 100644
index 000000000000..3c3174f93bba
--- /dev/null
+++ b/gcc/testsuite/rust/compile/dropck_eyepatch_feature_gate.rs
@@ -0,0 +1,8 @@
+// { dg-options "-frust-compile-until=lowering" }
+struct Test<T> {
+    _inner: T,
+}
+
+trait Action {}
+
+unsafe impl<#[may_dangle] T> Action for Test<T> {} //{ dg-error ".may_dangle. 
has unstable semantics and may be removed in the future." "" { target *-*-* }  }
diff --git a/gcc/testsuite/rust/compile/may_dangle.rs 
b/gcc/testsuite/rust/compile/may_dangle.rs
new file mode 100644
index 000000000000..6b81b53aa596
--- /dev/null
+++ b/gcc/testsuite/rust/compile/may_dangle.rs
@@ -0,0 +1,10 @@
+// { dg-options "-fsyntax-only" }
+
+#![feature(dropck_eyepatch)]
+struct Test<T> {
+    _inner: T,
+}
+
+trait Action {}
+
+unsafe impl<#[may_dangle] T> Action for Test<T> {}

Reply via email to