| //@ build-fail |
| |
| #![feature(large_assignments)] |
| #![move_size_limit = "1000"] |
| #![deny(large_assignments)] |
| #![allow(unused)] |
| |
| // We want copy semantics, because moving data into functions generally do not |
| // translate to actual `memcpy`s. |
| #[derive(Copy, Clone)] |
| struct Data([u8; 9999]); |
| |
| fn main() { |
| one_arg(Data([0; 9999])); //~ ERROR large_assignments |
| |
| // each individual large arg shall have its own span |
| many_args(Data([0; 9999]), true, Data([0; 9999])); |
| //~^ ERROR large_assignments |
| //~| ERROR large_assignments |
| } |
| |
| fn one_arg(a: Data) {} |
| |
| fn many_args(a: Data, b: bool, c: Data) {} |