impl_trait_in_bindings
The tracking issue for this feature is: #34511
The impl_trait_in_bindings feature gate lets you use impl Trait syntax in
let, static, and const bindings.
A simple example is:
#![feature(impl_trait_in_bindings)] use std::fmt::Debug; fn main() { let a: impl Debug + Clone = 42; let b = a.clone(); println!("{:?}", b); // prints `42` }
Note however that because the types of a and b are opaque in the above
example, calling inherent methods or methods outside of the specified traits
(e.g., a.abs() or b.abs()) is not allowed, and yields an error.