Docs menu

E138: A generic type needs its type arguments

What compiler error E138 means, and how to fix it.

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.

Last updated: Oct 15, 2026Edit this page on GitHub

Esc

Type to search.