Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Capabilities

Reading

Samples

struct Env; // ZST. impl uses a global type
struct BasicArena { }

#explicit capability env = Env; // capability use-case
#implicit capability arena = BasicArena; // context use-case

fn std::env::var(s: AsRef<str>) String with Env {}
fn std::env::var(s: AsRef<str>) String with Env {}

fn main() () \ {env} {
let arena = BasicArena.new();
use arena as Arena;

foo()
// pass some capabilities explicitly
.with
(Env)
}

fn foo() uint \ {arena, env} {
let id = arena.alloc(1);
let var = std::env::var("foo")?;
}