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
//! High-level intermediate representation (HIR) boundary.
//!
//! HIR is the first compiler layer whose reference positions are intended to be
//! **truly resolved**. The current `syntax::phase::Resolved` AST is only a
//! locally normalized syntax tree: it has no `UnresolvedRef` nodes, but many
//! module-sensitive references still carry source paths or leaf-only display names.
//!
//! The HIR boundary is deliberately separate from the syntax AST so the syntax
//! phase can stay path-first and honest, while HIR can require stronger
//! invariants:
//!
//! - definition sites are owned by canonical [`DagId`](crate::dag_id::DagId)
//! identities;
//! - module-level reference sites use [`ResolvedName`](crate::syntax::names::ResolvedName)
//! or [`ResolvedIndexVariant`](crate::syntax::names::ResolvedIndexVariant);
//! - lexical references, such as locals and generic parameters, use dedicated
//! lexical IDs instead of module names;
//! - built-ins use explicit variants or dedicated typed wrappers, not ad-hoc
//! string dispatch;
//! - no HIR reference field stores a dotted source alias string.
//!
//! This module defines and lowers the semantic boundary for type expressions,
//! value expressions, and assertion bodies. Module-aware TIR and runtime
//! evaluation consume this HIR slice for declaration/assertion semantics rather
//! than re-resolving source-shaped syntax AST references.
pub
pub use ;
pub use ;
pub use ;