about summary refs log tree commit diff
path: root/tests/ui/traits/const-traits/mbe-bare-trait-objects-const-trait-bounds.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/traits/const-traits/mbe-bare-trait-objects-const-trait-bounds.rs')
-rw-r--r--tests/ui/traits/const-traits/mbe-bare-trait-objects-const-trait-bounds.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/tests/ui/traits/const-traits/mbe-bare-trait-objects-const-trait-bounds.rs b/tests/ui/traits/const-traits/mbe-bare-trait-objects-const-trait-bounds.rs
index 820d3d63b62..a5f6ae198f6 100644
--- a/tests/ui/traits/const-traits/mbe-bare-trait-objects-const-trait-bounds.rs
+++ b/tests/ui/traits/const-traits/mbe-bare-trait-objects-const-trait-bounds.rs
@@ -1,20 +1,24 @@
-// Ensure that we don't consider `const Trait` and `~const Trait` to
+// Ensure that we don't consider `const Trait` to
 // match the macro fragment specifier `ty` as that would be a breaking
 // change theoretically speaking. Syntactically trait object types can
 // be "bare", i.e., lack the prefix `dyn`.
 // By contrast, `?Trait` *does* match `ty` and therefore an arm like
 // `?$Trait:path` would never be reached.
 // See `parser/macro/mbe-bare-trait-object-maybe-trait-bound.rs`.
-
-//@ check-pass
+// `[const] Trait` is already an error for a `ty` fragment,
+// so we do not need to prevent that.
 
 macro_rules! check {
-    ($Type:ty) => { compile_error!("ty"); };
+    ($Type:ty) => {
+        compile_error!("ty");
+    };
     (const $Trait:path) => {};
-    (~const $Trait:path) => {};
+    ([const] $Trait:path) => {};
 }
 
 check! { const Trait }
-check! { ~const Trait }
+check! { [const] Trait }
+//~^ ERROR: expected identifier, found `]`
+//~| ERROR: const trait impls are experimental
 
 fn main() {}