pub enum LoadMode {
Legacy,
Envelopes {
deps: Option<PathBuf>,
},
}Expand description
How multi-file dependencies are declared and resolved — Axis B,
orthogonal to RustyfiVersion (Axis A, the grammar generation),
except that the one combination with no upstream analogue — V0_0 +
Envelopes — is rejected by load up front.
Variants§
Legacy
@require:/@import: header search against LoadOptions::lib_root,
and dev-0-1-0’s only mode too (its headers are byte-identical to
0.0.6’s, minus @stage:). The Default.
Envelopes
use package / use … of headers resolved the saphe-split way
(upstream ≈ “0.1.0-alpha.1”): local files by relative path, packages
from a pre-solved envelope graph. Requires version == V0_1.
Fields
deps: Option<PathBuf>Path to a pre-resolved rustyfi-deps.yaml (upstream’s mandatory
--deps flag on rustyfi build, saphe-split:bin/rustyfi.ml,
flag_deps). None = no package dependencies available: any use package header is a LoadError::PackageDependencyUnresolved.
Some(path) is decoded, its envelopes are read + topo-
sorted, and each use package M header is validated against the
config’s used_as aliases; the envelope source files are prepended
to the loaded program (dependency-first, before any local file).
Trait Implementations§
impl Eq for LoadMode
impl StructuralPartialEq for LoadMode
Auto Trait Implementations§
impl Freeze for LoadMode
impl RefUnwindSafe for LoadMode
impl Send for LoadMode
impl Sync for LoadMode
impl Unpin for LoadMode
impl UnsafeUnpin for LoadMode
impl UnwindSafe for LoadMode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.