Module tvix_eval::spans

source ·
Expand description

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

Macros

  • 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).

Enums

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

Traits

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