//@ build-fail #![feature(large_assignments)] #![move_size_limit = "1000"] #![deny(large_assignments)] #![allow(unused)] // Note: This type does not implement Copy. struct Data([u8; 9999]); fn main() { // Looking at llvm-ir output, we can see a memcpy'd into Data, so we want // the lint to trigger here. let data = Data([100; 9999]); //~ ERROR large_assignments // Looking at llvm-ir output, we can see that there is no memcpy involved in // this function call. Instead, just a pointer is passed to the function. So // the lint shall not trigger here. take_data(data); } fn take_data(data: Data) {}