about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2021-06-04 15:44:25 -0400
committerFelix S. Klock II <pnkfelix@pnkfx.org>2021-06-04 16:44:28 -0400
commit34deda3cc250c2607a68cda75fe256f43b110fdc (patch)
tree555065a1472bc26f2b65d75ad57f9148047375e2
parenta5cb9afad8dc2a6ffff312c3b7c373339070018d (diff)
downloadrust-34deda3cc250c2607a68cda75fe256f43b110fdc.tar.gz
rust-34deda3cc250c2607a68cda75fe256f43b110fdc.zip
With the revert of PR 83091, `swap` is not a `const fn` anymore.
(for the short term, that is; see issue 84297.)
-rw-r--r--src/test/ui/thread-local-static.rs1
-rw-r--r--src/test/ui/thread-local-static.stderr10
2 files changed, 9 insertions, 2 deletions
diff --git a/src/test/ui/thread-local-static.rs b/src/test/ui/thread-local-static.rs
index c7fee9e6b4c..dc542fe2db9 100644
--- a/src/test/ui/thread-local-static.rs
+++ b/src/test/ui/thread-local-static.rs
@@ -11,6 +11,7 @@ const fn g(x: &mut [u32; 8]) {
     //~| ERROR mutable references are not allowed
     //~| ERROR use of mutable static is unsafe
     //~| constant functions cannot refer to statics
+    //~| ERROR calls in constant functions are limited to constant functions
 }
 
 fn main() {}
diff --git a/src/test/ui/thread-local-static.stderr b/src/test/ui/thread-local-static.stderr
index 08bf593a5a7..a213282eb85 100644
--- a/src/test/ui/thread-local-static.stderr
+++ b/src/test/ui/thread-local-static.stderr
@@ -30,6 +30,12 @@ LL |     std::mem::swap(x, &mut STATIC_VAR_2)
    = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
    = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable
 
+error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants
+  --> $DIR/thread-local-static.rs:9:5
+   |
+LL |     std::mem::swap(x, &mut STATIC_VAR_2)
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
 error[E0133]: use of mutable static is unsafe and requires unsafe function or block
   --> $DIR/thread-local-static.rs:9:23
    |
@@ -38,7 +44,7 @@ LL |     std::mem::swap(x, &mut STATIC_VAR_2)
    |
    = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
 
-error: aborting due to 5 previous errors
+error: aborting due to 6 previous errors
 
-Some errors have detailed explanations: E0013, E0133, E0658.
+Some errors have detailed explanations: E0013, E0015, E0133, E0658.
 For more information about an error, try `rustc --explain E0013`.