Utilities for dealing with span tracking in the compiler and in error reporting.
- Generates a
ToSpanimplementation for a type implementing
rowan::AstNode. This is impossible to do as a blanket implementation because
rustcforbids 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.