aboutsummaryrefslogtreecommitdiff
path: root/tests/unstable.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unstable.rs')
-rw-r--r--tests/unstable.rs25
1 files changed, 23 insertions, 2 deletions
diff --git a/tests/unstable.rs b/tests/unstable.rs
index 78dbd08..1c94950 100644
--- a/tests/unstable.rs
+++ b/tests/unstable.rs
@@ -3,28 +3,47 @@
#![feature(proc_macro_hygiene, stmt_expr_attributes)]
#[remain::sorted]
+#[derive(PartialEq)]
pub enum TestEnum {
A,
+ #[remain::unsorted]
+ Ignored,
B,
C,
D,
+ __Nonexhaustive,
}
#[remain::sorted]
+#[derive(PartialEq)]
pub struct TestStruct {
a: usize,
b: usize,
c: usize,
+ #[unsorted]
+ ignored: usize,
d: usize,
}
#[test]
-fn test_match() {
+fn test_attrs() {
+ fn is_partial_eq<T: PartialEq>() -> bool {
+ true
+ }
+
+ assert!(is_partial_eq::<TestEnum>());
+ assert!(is_partial_eq::<TestStruct>());
+}
+
+#[test]
+fn test_let() {
let value = TestEnum::A;
#[remain::sorted]
let _ = match value {
TestEnum::A => {}
+ #[remain::unsorted]
+ TestEnum::Ignored => {}
TestEnum::B => {}
TestEnum::C => {}
_ => {}
@@ -32,13 +51,15 @@ fn test_match() {
}
#[test]
-fn test_let() {
+fn test_match() {
let value = TestEnum::A;
#[remain::sorted]
match value {
TestEnum::A => {}
TestEnum::B => {}
+ #[unsorted]
+ TestEnum::Ignored => {}
TestEnum::C => {}
_ => {}
}