Module tvix_eval::spans

source ·
Expand description

Utilities for dealing with span tracking in the compiler and in error reporting.


  • Generates a ToSpan implementation for a type implementing rowan::AstNode. This is impossible to do as a blanket implementation because rustc forbids these implementations for traits from third-party crates due to a belief that semantic versioning truly could work (it doesn’t).


  • Helper struct to carry information required for making a span, but without actually performing the (expensive) span lookup.


  • Trait implemented by all types from which we can retrieve a span.