pub struct Hold {
pub frame: Waku,
pub provisions: Provisions,
}Expand description
What a run is held to: the frame it may reach the host through, and the capabilities pure providers stand in for.
Fields§
§frame: Waku§provisions: ProvisionsImplementations§
Source§impl Hold
impl Hold
Sourcepub fn withheld_host_names(&self) -> Vec<(&'static str, Capability)>
pub fn withheld_host_names(&self) -> Vec<(&'static str, Capability)>
Every host name neither the frame grants nor a whole-program provider stands in for. A scoped provider’s names stay here: code outside its packages gets the frame’s answer.
Sourcepub fn bind<H: 'static>(&self, interp: &mut Interpreter<H>, who: &'static str)
pub fn bind<H: 'static>(&self, interp: &mut Interpreter<H>, who: &'static str)
Bind the hold into interp: a breach for every withheld host name,
then each whole-program provider over its capability’s names and each
scoped one under provided_name.
Sourcepub fn rebind_scoped(
&self,
program: &ResolvedProgram,
forms: &mut [Spanned],
) -> Vec<(&'static str, Capability)>
pub fn rebind_scoped( &self, program: &ResolvedProgram, forms: &mut [Spanned], ) -> Vec<(&'static str, Capability)>
Move each scoped provider’s host names, where a file of a package it
serves writes them in forms, onto provided_name. A provider
serves the packages its for: names and every package they use, by
the imports program resolved; forms is program’s evaluated tree,
top-level form for top-level form. Returns the host names the entry
file may not write: Hold::withheld_host_names less those a scoped
provider serves the entry’s own package.
Trait Implementations§
impl Eq for Hold
impl StructuralPartialEq for Hold
Auto Trait Implementations§
impl Freeze for Hold
impl RefUnwindSafe for Hold
impl Send for Hold
impl Sync for Hold
impl Unpin for Hold
impl UnsafeUnpin for Hold
impl UnwindSafe for Hold
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.