Something other than a type or an associated type was given. Erroneous code example: ```compile_fail,E0575 enum Rick { Morty } let _: ::Morty; // error! trait Age { type Empire; fn Mythology() {} } impl Age for u8 { type Empire = u16; } let _: ::Mythology; // error! ``` In both cases, we're declaring a variable (called `_`) and we're giving it a type. However, `::Morty` and `::Mythology` aren't types, therefore the compiler throws an error. `::Morty` is an enum variant, you cannot use a variant as a type, you have to use the enum directly: ``` enum Rick { Morty } let _: Rick; // ok! ``` `::Mythology` is a trait method, which is definitely not a type. However, the `Age` trait provides an associated type `Empire` which can be used as a type: ``` trait Age { type Empire; fn Mythology() {} } impl Age for u8 { type Empire = u16; } let _: ::Empire; // ok! ```