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() {}
|