The type placeholder _
was used within a type on an item’s signature.
Erroneous code example:
fn foo() -> _ { 5 } // error
static BAR: _ = "test"; // error
RunIn those cases, you need to provide the type explicitly:
fn foo() -> i32 { 5 } // ok!
static BAR: &str = "test"; // ok!
RunThe type placeholder _
can be used outside item’s signature as follows:
let x = "a4a".split('4')
.collect::<Vec<_>>(); // No need to precise the Vec's generic type.
Run