1
Fork 0

Add sanity check.

We force the relative span's parent to be absolute. This avoids having to
handle long dependency chains.
This commit is contained in:
Camille GILLOT 2021-04-27 19:58:46 +02:00
parent 940fa9251e
commit fb5ced0fbd
3 changed files with 9 additions and 3 deletions

View file

@ -345,6 +345,8 @@ impl Definitions {
assert_eq!(root.local_def_index, CRATE_DEF_INDEX);
let mut def_id_to_span = IndexVec::new();
// A relative span's parent must be an absolute span.
debug_assert_eq!(crate_span.data_untracked().parent, None);
let _root = def_id_to_span.push(crate_span);
debug_assert_eq!(_root, root);
@ -394,6 +396,8 @@ impl Definitions {
self.expansions_that_defined.insert(def_id, expn_id);
}
// A relative span's parent must be an absolute span.
debug_assert_eq!(span.data_untracked().parent, None);
let _id = self.def_id_to_span.push(span);
debug_assert_eq!(_id, def_id);