1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//! The two public Rust entry points.
//!
//! Both delegate to the same private projection path over their supplied
//! arguments alone. Neither loads a project, constructs a snapshot, parses a
//! source, builds a semantic context, or runs a resolver tier.
use ;
use crateGraphBuildError;
use crateCodeGraph;
use crateGraphLimits;
use projection;
/// Project one snapshot-bound Rust resolution under the default ceilings.
///
/// The snapshot must be the one the resolution was validated against. A
/// resolution taken before a source-only edit is refused with
/// [`GraphBuildError::SnapshotFingerprintMismatch`] even though both values
/// name the same root target, and no graph record is allocated first.
///
/// # Errors
///
/// Returns [`GraphBuildError`] when the two values describe different root
/// targets or different repository states, when a stated join names a unit,
/// source, or definition the graph holds no record for, when containment is not
/// one unit-local forest, or when a collection reaches its ceiling.
/// Project one snapshot-bound Rust resolution under caller-chosen ceilings.
///
/// Lowering a [`GraphLimits`] field exercises the same insertion path the
/// default build uses, so a bounded caller and an unbounded one refuse
/// identically.
///
/// # Errors
///
/// The same refusals as [`build_rust_graph`], plus
/// [`GraphBuildError::CapacityExceeded`] naming the collection that reached
/// `limits`.