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> {}