|
|
|
|
|
by tialaramex
100 days ago
|
|
The ZSTs are unit types. They have one value, which we usually write as just the type name, so e.g. struct Goose;
let x = Goose; // The variable x has type Goose, but also value Goose, the only value of that type
The choice to underscore that Rust's unit types have size zero is to contrast with languages like C or C++ where these types, which don't need representing, must nevertheless take up a whole byte of storage and it's just wasted.But what we're talking about here are empty types. In Rust we'd write this: enum Donkey {}
// We can't make any variables with the Donkey type, because there are no values of this type and a variable needs a value
|
|