The type placeholder _ was used within a type on an item's signature.
Erroneous code example:
#![allow(unused)]
fn main() {
fn foo() -> _ { 5 } // error
static BAR: _ = "test"; // error
} In those cases, you need to provide the type explicitly:
#![allow(unused)]
fn main() {
fn foo() -> i32 { 5 } // ok!
static BAR: &str = "test"; // ok!
} The type placeholder _ can be used outside item's signature as follows:
#![allow(unused)]
fn main() {
let x = "a4a".split('4')
.collect::<Vec<_>>(); // No need to precise the Vec's generic type.
}
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0121.html