pub struct Package {
pub name: String,
pub exports: BTreeMap<String, WeftHash>,
pub defs: BTreeMap<WeftHash, Def>,
}Expand description
A distributable set of definitions plus the petnames it exports.
Fields§
§name: StringHuman-facing package name (informational — identity lives in hashes).
exports: BTreeMap<String, WeftHash>Petname → definition hash. What use-ing this package gives you.
defs: BTreeMap<WeftHash, Def>Every definition the exports (transitively) need, keyed by hash.
Implementations§
Source§impl Package
impl Package
Sourcepub fn build(
name: &str,
defs: Vec<Def>,
exports: Vec<(&str, usize)>,
) -> Result<Self, WeftError>
pub fn build( name: &str, defs: Vec<Def>, exports: Vec<(&str, usize)>, ) -> Result<Self, WeftError>
Build a package from defs + (petname, def_index) export pairs.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Package
impl<'de> Deserialize<'de> for Package
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Package
impl RefUnwindSafe for Package
impl Send for Package
impl Sync for Package
impl Unpin for Package
impl UnsafeUnpin for Package
impl UnwindSafe for Package
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