pub struct PathSet {
pub reads: BTreeSet<String>,
pub listings: BTreeSet<String>,
pub present: BTreeSet<String>,
pub absent: BTreeSet<String>,
pub written: BTreeSet<String>,
}Fields§
§reads: BTreeSet<String>Files whose content the task read.
listings: BTreeSet<String>Directories it listed; . is the workspace root.
present: BTreeSet<String>Paths it found, without reading them. A file among them is keyed by
its content all the same: a tool that compares timestamps, as
tsc --build does, decides by a file it never reads.
absent: BTreeSet<String>Paths it looked for and did not find.
written: BTreeSet<String>Paths it wrote in the directories it listed, left out of their listings: they are there after it runs, and need not be before.
Implementations§
Source§impl PathSet
impl PathSet
Sourcepub fn from_accesses(
accesses: &[Access],
exclusions: &Exclusions<'_>,
root: &Path,
) -> Self
pub fn from_accesses( accesses: &[Access], exclusions: &Exclusions<'_>, root: &Path, ) -> Self
The path set of a task’s recorded accesses, in the order it made
them. root is the workspace root, to tell a directory opened for
listing from a file opened for reading.
Sourcepub fn is_relative(&self) -> bool
pub fn is_relative(&self) -> bool
Whether every path it names lies within the workspace: relative, and
never through ...
pub fn is_empty(&self) -> bool
Sourcepub fn changed_since(
&self,
root: &Path,
started: SystemTime,
outputs: &[&Outputs],
) -> Option<&str>
pub fn changed_since( &self, root: &Path, started: SystemTime, outputs: &[&Outputs], ) -> Option<&str>
A path the set keys that changed after started, when the task ran:
keyed by how it is now, a recording would key the task by what was
left there rather than by what the task saw.
A file read or found changed if it was written. A listing, which keys
its entries’ names and kinds, changed if an entry was added, removed
or renamed, which moves the directory’s own modification time; what
is written inside an entry does not change it, though it moves the
entry’s change time. Where the task wrote into the directory, its time
moves with the task’s own writes, so there an entry other than the
task’s writes and outputs changed it: a file whose change time
moved, by being added, moved in or rewritten, or a subdirectory
created after started, by its birth time, which a file system
without one cannot tell. A removal there, or a subdirectory moved in,
cannot be told from the task’s own writes.
pub fn digest(&self) -> Result<String>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PathSet
impl<'de> Deserialize<'de> for PathSet
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>,
impl Eq for PathSet
impl StructuralPartialEq for PathSet
Auto Trait Implementations§
impl Freeze for PathSet
impl RefUnwindSafe for PathSet
impl Send for PathSet
impl Sync for PathSet
impl Unpin for PathSet
impl UnsafeUnpin for PathSet
impl UnwindSafe for PathSet
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.