diff options
| author | Felix S. Klock II <pnkfelix@pnkfx.org> | 2021-06-04 15:44:25 -0400 | 
|---|---|---|
| committer | Felix S. Klock II <pnkfelix@pnkfx.org> | 2021-06-04 16:44:28 -0400 | 
| commit | 34deda3cc250c2607a68cda75fe256f43b110fdc (patch) | |
| tree | 555065a1472bc26f2b65d75ad57f9148047375e2 | |
| parent | a5cb9afad8dc2a6ffff312c3b7c373339070018d (diff) | |
| download | rust-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.rs | 1 | ||||
| -rw-r--r-- | src/test/ui/thread-local-static.stderr | 10 | 
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`.  | 
