pub(super) mod hir;
mod rules;
use super::InferredIndex;
use crate::registry::types::Registry;
pub(super) fn index_def_for_inferred<'a>(
index: &InferredIndex,
dag: Option<&'a crate::tir::typed::DagTIR>,
registry: &'a Registry,
) -> Option<&'a crate::registry::types::IndexDef> {
if let Some(nat_range) = index.concrete_nat_range() {
return registry.indexes.get_nat_range(nat_range);
}
let resolved = index.declared_resolved()?;
dag.map(|dag| &dag.semantic.collection_refs)
.and_then(|refs| refs.index_defs.get(resolved))
}