//@ 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) {}