Keyword auto-imported

self

Source: compiler/src/builtin_docs/keywords.md

The receiver of a method: the instance the method was called on.

Instance methods take self implicitly (it is not listed in the parameters). Read and write fields as self.field and call other methods as self.method(). static fn methods have no self. Class invariants and ensures clauses can mention self.

class Counter {
    n: int,
}

impl Counter {
    pub fn bump() -> int {
        self.n = self.n + 1;
        return self.n;
    }
}

See also#

  • fn: Declares a function, a method, or (written in an expression) an anonymous function.
  • let: Declares a mutable local variable.
  • const: Declares a binding that cannot be reassigned: a local, a module constant, or a class field that is set only by new.
  • static: Declares a module-level or class-level slot shared by the whole program, or a method without self.
  • readonly: A read-only view of a value: nothing reachable through it can be changed.
  • if: Runs a block when a bool condition is true.
  • else: Introduces the branch of an if that runs when its condition is false (or its pattern does not match).
  • while: Repeats a block while a bool condition is true.
↑ ↓ navigate ↵ open