pub struct CustomFact {
pub argv: Vec<String>,
}Expand description
Fact-kind body for custom. Spawns argv as a child process
rooted at the repo; the process’s stdout (trimmed of trailing
whitespace) becomes the fact’s String value. A non-zero
exit code resolves to the empty string; timeouts and spawn
failures do the same. No shell is invoked — argv is passed
to execve (or the platform equivalent) verbatim.
Security: custom facts are only allowed in the user’s own
top-level config. Any extends: ancestor that declares one
is rejected at load time — otherwise a malicious ruleset
could execute arbitrary code just by being fetched.
Fields§
§argv: Vec<String>Program and arguments. argv[0] is looked up through PATH
if it’s not an absolute or relative-with-separator path.
Trait Implementations§
Source§impl Clone for CustomFact
impl Clone for CustomFact
Source§fn clone(&self) -> CustomFact
fn clone(&self) -> CustomFact
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CustomFact
impl Debug for CustomFact
Source§impl<'de> Deserialize<'de> for CustomFact
impl<'de> Deserialize<'de> for CustomFact
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 CustomFact
impl RefUnwindSafe for CustomFact
impl Send for CustomFact
impl Sync for CustomFact
impl Unpin for CustomFact
impl UnsafeUnpin for CustomFact
impl UnwindSafe for CustomFact
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more