pub fn route_refusals(
stmts: &[Stmt<'_>],
interner: &Interner,
is_record: &dyn Fn(Symbol) -> bool,
) -> Vec<(Symbol, Symbol, NotLowerable)>Expand description
Every ## Route this program cannot lower, and why — computed ONCE where the whole program is
visible, for the tiers whose per-statement walk cannot see it.
A route’s lowerability depends on the COMPONENTS beside it (a -> View template may place
one), so it is not a property of the Stmt::RouteDef alone. The VM’s statement walk and the
AOT emitter each reach a route with no program in hand; asking there with an empty component
list refuses every route that places a component, which is a loud wrong answer where the parser
already knew the right one. Both read this instead.