pub struct ResolutionLimits {
pub max_manifests: u32,
pub max_member_scan_entries: u32,
pub max_units: u32,
pub max_source_files: u32,
pub max_source_file_bytes: u64,
pub max_total_source_bytes: u64,
pub max_module_depth: u32,
pub max_module_instances: u32,
pub max_dependency_depth: u32,
pub max_syntax_depth: u32,
pub max_candidates_per_reference: u32,
}Expand description
Explicit bounds on everything a project or snapshot may traverse.
Every field has a documented default. A caller may lower a value to prove a bound, or raise one for a large repository; nothing is truncated silently.
Fields§
§max_manifests: u32Manifests one project may read. Default 4,096.
max_member_scan_entries: u32Directory entries one project may visit while expanding [workspace]
member and exclude globs. Default 65,536.
max_manifests bounds what a project reads, not what it walks: a
pattern such as */* accepts every directory as a prefix, so the scan
descends a whole tree — a populated target/ included — before the
first manifest is read and the manifest ceiling applies.
max_units: u32Resolution units one snapshot may hold. Default 4,096.
max_source_files: u32Distinct source files one snapshot may hold. Default 65,536.
max_source_file_bytes: u64Bytes one source file may hold. Default 8 MiB.
max_total_source_bytes: u64Bytes all distinct source text may hold. Default 512 MiB.
max_module_depth: u32Rust module nesting depth followed inside one unit. Default 256.
max_module_instances: u32Rust module instances one unit may hold. Default 65,536.
Depth and distinct-source ceilings do not bound this on their own: a
declaration graph that reaches one source through several #[path]
alternatives instantiates that source once per route, so a few dozen
files can name millions of instances while every other ceiling holds.
max_dependency_depth: u32Cargo dependency depth followed from the root target. Default 256.
max_syntax_depth: u32Syntax nesting depth accepted while parsing. Default 256.
max_candidates_per_reference: u32Candidates one reference may carry. Default 1,024.
Trait Implementations§
Source§impl Clone for ResolutionLimits
impl Clone for ResolutionLimits
Source§fn clone(&self) -> ResolutionLimits
fn clone(&self) -> ResolutionLimits
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ResolutionLimits
Source§impl Debug for ResolutionLimits
impl Debug for ResolutionLimits
Source§impl Default for ResolutionLimits
impl Default for ResolutionLimits
impl Eq for ResolutionLimits
Source§impl PartialEq for ResolutionLimits
impl PartialEq for ResolutionLimits
impl StructuralPartialEq for ResolutionLimits
Auto Trait Implementations§
impl Freeze for ResolutionLimits
impl RefUnwindSafe for ResolutionLimits
impl Send for ResolutionLimits
impl Sync for ResolutionLimits
impl Unpin for ResolutionLimits
impl UnsafeUnpin for ResolutionLimits
impl UnwindSafe for ResolutionLimits
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<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
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.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§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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