pub struct Item {
pub name: Arc<str>,
pub bounds: Vec<(Arc<str>, Vec<Arc<str>>)>,
pub kind: Kind,
pub effects: Vec<Effect>,
pub tier: Tier,
}Expand description
One published name.
Fields§
§name: Arc<str>§bounds: Vec<(Arc<str>, Vec<Arc<str>>)>The trait bounds on this name’s type parameters. A bounded definition publishes the bound
and not the dictionary parameters it was lowered with: those are named
Trait::method@T and belong to the lowering rather than to the contract, and an importing
module reconstructs them from the bound.
kind: Kind§effects: Vec<Effect>The effect row, as atoms. A published row is always closed: §3.6 says boundaries are declared, and a row variable is an inference artefact that has no meaning outside the module that solved it.
tier: TierTrait Implementations§
impl Eq for Item
impl StructuralPartialEq for Item
Auto Trait Implementations§
impl Freeze for Item
impl RefUnwindSafe for Item
impl Send for Item
impl Sync for Item
impl Unpin for Item
impl UnwindSafe for Item
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more