Document base vs nested alloc interning
This commit is contained in:
parent
a57a00ebf6
commit
5d46b982c5
@ -125,6 +125,9 @@ pub fn intern_const_alloc_recursive<
|
|||||||
|
|
||||||
// Intern the base allocation, and initialize todo list for recursive interning.
|
// Intern the base allocation, and initialize todo list for recursive interning.
|
||||||
let base_alloc_id = ret.ptr().provenance.unwrap().alloc_id();
|
let base_alloc_id = ret.ptr().provenance.unwrap().alloc_id();
|
||||||
|
// First we intern the base allocation, as it requires a different mutability.
|
||||||
|
// This gives us the initial set of nested allocations, which will then all be processed
|
||||||
|
// recursively in the loop below.
|
||||||
let mut todo: Vec<_> =
|
let mut todo: Vec<_> =
|
||||||
intern_shallow(ecx, base_alloc_id, base_mutability).unwrap().map(|prov| prov).collect();
|
intern_shallow(ecx, base_alloc_id, base_mutability).unwrap().map(|prov| prov).collect();
|
||||||
// We need to distinguish "has just been interned" from "was already in `tcx`",
|
// We need to distinguish "has just been interned" from "was already in `tcx`",
|
||||||
|
Loading…
Reference in New Issue
Block a user