Skip to main content

Module lattice

Module lattice 

Source

Structs§

NoGlb 🔒

Traits§

GreatestLowerBound 🔒

Functions§

glb_live 🔒
glb_perms
The greatest lower bound (GLB) of two permissions (perm1, perm2), if it exists. The GLB perm3 is a permission such that perm3 <: perm1 and perm3 <: perm2 but also there is no other mutual lower bound perm4 where perm3 <: perm4. In other words, if perm1 and perm2 represent upper bounds in inference (i.e., for some inference variable ?X, ?X <: perm1 and ?X <: perm2), then perm3 combines those two bounds on ?X into a single bound ?X <: perm3 that must also hold (because there is no possible value for ?X that wouldn’t satisfy it).
lub_perms
The least upper bound (LUB) of two permissions (perm1, perm2). The LUB perm3 is a permission such that perm1 <: perm3 and perm1 <: perm3 but also there is no other mutual upper bound perm4 where perm4 <: perm3. In other words, if perm1 and perm2 represent lower bounds in inference (i.e., for some inference variable ?X, perm1 <: ?X and perm2 <: ?X), then perm3 combines those two bounds on ?X into a single bound perm3 <: ?X that must also hold (because there is no possible value for ?X that wouldn’t satisfy it).
simplify 🔒
Remove each candidate c1 \in candidates where there exists another candidates c2 \in candidates and c1 <: c2

Type Aliases§

Glb 🔒