pub enum Anchor {
Free,
RelativePlain,
RelativeSensitive,
RelativeUnplaced,
ImplicitOutput,
ImplicitSource,
RunsFolderCode,
NamesItsWrites,
}Expand description
How much one write depends on the folder the command runs in.
Variants§
Free
The target is pinned without the folder: absolute, ~, a stream; or, declared on a command
(writes_cwd = "none"), whatever it writes is somewhere fixed (pkill, rustup target add).
RelativePlain
A relative path that stays below the folder and names nothing sensitive.
RelativeSensitive
A relative path whose name means something wherever it lands: a hidden segment, a git hook,
a credential file name, a region the table names under the workspace or under ~.
RelativeUnplaced
A relative path that climbs out of the folder, or whose spelling cannot be read ($VAR, a
glob, a substitution).
ImplicitOutput
The tool writes, without naming a path, only into a subtree of the folder it owns and
regenerates (cargo build → target/).
ImplicitSource
The tool rewrites existing files of its own kind of project in the folder (cargo fmt,
git commit -am x).
RunsFolderCode
The command runs code the folder holds (cargo run, swift build).
NamesItsWrites
Declared on a command (writes_cwd = "named"): it writes only the paths it names, each
judged by its own anchor value (touch, tee, sed -i). Not a decompressor, whose output
name is derived from its input, nor a sync that brings the source’s names.
Implementations§
Trait Implementations§
impl Copy for Anchor
impl Eq for Anchor
impl StructuralPartialEq for Anchor
Auto Trait Implementations§
impl Freeze for Anchor
impl RefUnwindSafe for Anchor
impl Send for Anchor
impl Sync for Anchor
impl Unpin for Anchor
impl UnsafeUnpin for Anchor
impl UnwindSafe for Anchor
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.