sun::borrow_checker::BorrowChecker::LifetimeValue

sun::borrow_checker::BorrowChecker::LifetimeValue

struct · Source (opens in a new tab)

struct sun::borrow_checker::BorrowChecker::LifetimeValue

A lifetime as the caller-side checker sees it.

Concrete: pinned to a scope depth of this frame (deeper dies sooner). Symbolic: one of the current signature's named lifetimes - valid in some ancestor frame the name stands for. Outlives: outlives this frame with no name relating it to anything (the elided, trusted case - today's semantics).

Public Fields

depth

public · variable · Source (opens in a new tab)

size_t sun::borrow_checker::BorrowChecker::LifetimeValue::depth = 0

No documentation comment.

described

public · variable · Source (opens in a new tab)

std::string sun::borrow_checker::BorrowChecker::LifetimeValue::described

No documentation comment.

kind

public · variable · Source (opens in a new tab)

Kind sun::borrow_checker::BorrowChecker::LifetimeValue::kind = Kind::Outlives

No documentation comment.

Related: Kind, Kind::Outlives

name

public · variable · Source (opens in a new tab)

std::string sun::borrow_checker::BorrowChecker::LifetimeValue::name

No documentation comment.

Public Enums

Kind

public · enum · Source (opens in a new tab)

enum class sun::borrow_checker::BorrowChecker::LifetimeValue::Kind

Distinguishes unconstrained, concrete-scope, and named signature lifetimes.

Outlives

Outlives

No documentation comment.

Concrete

Concrete

No documentation comment.

Symbolic

Symbolic

No documentation comment.