Documentation for routine trusts assembled from the following pages:

Language documentation: Type system §

From Type system

(Type system) trait trusts §

To allow one class to access the private methods of another class use the trait trusts. A forward declaration of the trusted class may be required.

class B {...};
class A {
    trusts B;
    has $!foo;
    method !foo { return-rw $!foo }
    method raku { "A.new(foo => $!foo)" }
};
class B {
    has A $.a .= new;
    method change { $!a!A::foo = 42self }
};
say B.new.change;
# OUTPUT: «B.new(a => A.new(foo => 42))␤»

Role: Metamodel::Trusting §

From Metamodel::Trusting

(Metamodel::Trusting) method trusts §

method trusts($type --> List)

Returns a list of types that the invocant trusts.

class A { trusts Int};
say .^name for A.^trusts;       # Int