| #![feature(large_assignments)] |
| #![deny(large_assignments)] |
| #![move_size_limit = "1000"] |
| |
| //! Tests that with `-Zinline-mir`, we do NOT get an error that points to the |
| //! implementation of `UnsafeCell` since that is not actionable by the user: |
| //! |
| //! ```text |
| //! error: moving 9999 bytes |
| //! --> /rustc/FAKE_PREFIX/library/core/src/cell.rs:2054:9 |
| //! | |
| //! = note: value moved from here |
| //! ``` |
| //! |
| //! We want the diagnostics to point to the relevant user code. |
| |
| //@ build-fail |
| //@ compile-flags: -Zmir-opt-level=1 -Zinline-mir |
| |
| pub fn main() { |
| let data = [10u8; 9999]; |
| let cell = std::cell::UnsafeCell::new(data); //~ ERROR large_assignments |
| std::hint::black_box(cell); |
| } |