LogoMist

Functions

Function declarations, self parameters, return types, and unsafe functions.

// Return type is `void` (unit)
void greet(str& name)
{
    println!("Hello, {name}");
}

// With return type
i32 add(i32 a, i32 b)
{
    return a + b;
}

// Expression body (last expression is the return value)
i32 square(i32 x)
{
    x * x
}

// Public function
pub i32 multiply(i32 a, i32 b)
{
    a * b
}

// Generic function
T identity<T>(T value)
{
    value
}

// Unsafe function
unsafe i32 dangerous()
{
    42
}

Self Parameter

Methods can take self, mut self, &self, &mut self, and &'a self / &'a mut self with lifetimes:

pub void set_value(&mut self, i32 v)
{
    self.value = v;
}

On this page