Extern type

An extern type is a type which the compiler knows nothing about. It might be dynamically sized or have a fixed size, but either way the compiler doesn't know the size. The main purpose of extern types is interoperability with other languages, e.g. C; it is equivalent to a void pointer in C.

Like DSTs, extern types must be behind a reference or a pointer-like type, such as. Unlike a DST, a reference/pointer to an extern type is a regular (thin) pointer, not a fat pointer.