A generic type is a template: Box<T> or List<T> becomes a real type only when you say what T is. Naming it on its own leaves Turf not knowing what the box holds.
Example
struct Box<T> { v: T }mut b: Box = Box::default(); // a Box of what?Say what it holds:
Example
mut b: Box<int> = Box::default();mut names: List<string> = List::default();The same rule applies to a method of a generic struct. It repeats the struct’s type parameters, so Turf knows they are the same ones:
Example
struct Box<T> { v: T }fn<T> Box.get(): T { ... } // not `fn Box.get()`Run turf --explain E138 in a terminal to read this again.