#[non_exhaustive]pub enum Backend {
Sandbox,
Host,
}Expand description
Which backend a decision selects.
The value that used to be a boolean called granted, and the rename is the substance rather than the style. While conditions 1-2 were unbuilt there were only two outcomes — run on the host, or refuse — so “granted” answered the whole question. Now there are two backends, and the layers choose between them rather than choosing between running and not.
Nothing in this type says whether the chosen backend is available. That is deliberate: availability is a property of the machine and the build, not of the policy, and a selection that quietly became a host run because a hypervisor was missing is the silent downgrade ADR-0020 §6 exists to prevent. The runner asks; this module only ever says which one to ask.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Sandbox
A digest-pinned image in a microVM. The default.
Host
This machine, with this user’s toolchain, filesystem and credentials.
Trait Implementations§
impl Copy for Backend
impl Eq for Backend
impl StructuralPartialEq for Backend
Auto Trait Implementations§
impl Freeze for Backend
impl RefUnwindSafe for Backend
impl Send for Backend
impl Sync for Backend
impl Unpin for Backend
impl UnsafeUnpin for Backend
impl UnwindSafe for Backend
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.