pub enum CopyScope {
Tasks,
Projects {
tasks: bool,
},
Members(CopyItems),
Documents,
}Expand description
What the ids a copy names are, and what travels with them.
One value rather than a kind beside a flag, because three of the four combinations those two would make are real and the fourth — tasks, with the tasks of each also copied — means nothing. The member list is a variant for the same reason: it narrows a project copy that carries its tasks, and it has nothing to say to the other three.
Variants§
Tasks
The ids name tasks, and only those tasks are copied.
Projects
The ids name projects.
Members(CopyItems)
The ids name projects, and of the tasks in them exactly these are copied.
A member the list does not name is not read at the destination, not compared, not written and not reported, and no walk for what the copy left behind runs. A named member with no counterpart there is still created: the list narrows which members are read and written, never which outcomes are possible.
An edge from a copied item to a member the list does not name resolves to the
destination id that member’s own GlobalId::ORIGIN_KEY records at the source,
without reading the destination for it. When that member records none, the copy is
refused before anything is written.
Documents
The ids name documents, and only those documents are copied.
Nothing travels with a document: it takes part in no dependency graph, and it holds nothing of its own the way a project holds tasks.
Trait Implementations§
impl Eq for CopyScope
impl StructuralPartialEq for CopyScope
Auto Trait Implementations§
impl Freeze for CopyScope
impl RefUnwindSafe for CopyScope
impl Send for CopyScope
impl Sync for CopyScope
impl Unpin for CopyScope
impl UnsafeUnpin for CopyScope
impl UnwindSafe for CopyScope
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.