The MIR code currently adds drops for all types that are not Copy, even if we can see that there is no destructor (e.g., struct Foo(u32)). This is relatively harmless (trans ignores such types) but it means more memory alloc etc than necessary. See associated FIXME.