LogoMist

Structs & Enums

Defining structs and enums with named, tuple, and struct variants.

Structs

pub struct Point
{
    i32 x;
    i32 y;
}

pub struct Generic<T>
{
    T value;
}

Fields can be public or private:

struct User
{
    pub str& name;
    i32 age;  // private
}

Enums

pub enum Option<T>
{
    Some(T);
    None;
}

pub enum Message
{
    Quit;
    Move(i32, i32);
    Write { str& content; i32 length; };
}

Enum variants can be:

  • NamedVariant
  • TupleVariant(T1, T2)
  • StructVariant { T1 field1; T2 field2; }

On this page