struct ProjectResolutionRegistry {
retained_limit: u64,
supplemental_entities_by_digest: BTreeMap<String, GraphEntity>,
candidate_digests_by_key: BTreeMap<CanonicalResolutionKey, BTreeSet<String>>,
forwarding_key_digests: BTreeSet<[u8; 32]>,
retained_bytes: u64,
}Expand description
Project-wide stable entities and their canonical resolution-key bindings.
Fields§
§retained_limit: u64Remaining operation bytes after all coexisting owners.
supplemental_entities_by_digest: BTreeMap<String, GraphEntity>Persisted candidates not already owned by the staged entity projection.
candidate_digests_by_key: BTreeMap<CanonicalResolutionKey, BTreeSet<String>>Canonical keys mapped only to sorted, deduplicated entity digests.
forwarding_key_digests: BTreeSet<[u8; 32]>Compact hint for file-owned declaration lookup markers; witnesses remain in the key map.
retained_bytes: u64Conservative peak bytes retained by this temporary resolution registry.
Implementations§
Source§impl ProjectResolutionRegistry
impl ProjectResolutionRegistry
Sourcefn reserve(&mut self, bytes: u64) -> Result<(), CliError>
fn reserve(&mut self, bytes: u64) -> Result<(), CliError>
Reserve a new retained owner before mutation or cloning.
Sourcefn insert_candidate(
&mut self,
key: &CanonicalResolutionKey,
entity: &GraphEntity,
) -> Result<(), CliError>
fn insert_candidate( &mut self, key: &CanonicalResolutionKey, entity: &GraphEntity, ) -> Result<(), CliError>
Insert one key-to-entity binding without cloning the entity per exported key.
Sourcefn insert_staged_candidate(
&mut self,
key: &CanonicalResolutionKey,
entity: &GraphEntity,
) -> Result<(), CliError>
fn insert_staged_candidate( &mut self, key: &CanonicalResolutionKey, entity: &GraphEntity, ) -> Result<(), CliError>
Bind an entity already owned by the staged projection without cloning it.
Sourcefn record_forwarding_key(
&mut self,
key: &CanonicalResolutionKey,
entity: &GraphEntity,
) -> Result<(), CliError>
fn record_forwarding_key( &mut self, key: &CanonicalResolutionKey, entity: &GraphEntity, ) -> Result<(), CliError>
Index marker presence without walking every declaration candidate on the fast path.
Sourcefn insert_candidate_binding(
&mut self,
key: &CanonicalResolutionKey,
digest: String,
) -> Result<(), CliError>
fn insert_candidate_binding( &mut self, key: &CanonicalResolutionKey, digest: String, ) -> Result<(), CliError>
Insert only new witnesses, reserving canonical text and both tree rows first.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ProjectResolutionRegistry
impl RefUnwindSafe for ProjectResolutionRegistry
impl Send for ProjectResolutionRegistry
impl Sync for ProjectResolutionRegistry
impl Unpin for ProjectResolutionRegistry
impl UnsafeUnpin for ProjectResolutionRegistry
impl UnwindSafe for ProjectResolutionRegistry
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<'a, T> FromIn<'a, T> for T
impl<'a, T> FromIn<'a, T> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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