22 lines
489 B
Rust
22 lines
489 B
Rust
#![deny(let_underscore_drop)]
|
|
#![feature(type_alias_impl_trait)]
|
|
|
|
pub struct Foo {
|
|
/// This type must have nontrivial drop glue
|
|
field: String,
|
|
}
|
|
|
|
pub type Tait = impl Sized;
|
|
|
|
pub fn ice_cold(beverage: Tait) {
|
|
// Must destructure at least one field of `Foo`
|
|
let Foo { field } = beverage;
|
|
// boom
|
|
_ = field; //~ ERROR non-binding let on a type that implements `Drop`
|
|
|
|
let _ = field; //~ ERROR non-binding let on a type that implements `Drop`
|
|
}
|
|
|
|
|
|
pub fn main() {}
|