Error code E0121

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. }