Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In Arret nearly every intermediate data structure contains a
Span
so our generated code can be mapped back to source location. However, they're rarely used until we need to report a diagnostic or generate debugging information.This led to a common pattern in unit tests where we use a dummy span to test intermediate transformations where we aren't starting from actual Arret source. This used to be a
const
calledEMPTY_SPAN
which can be used to build otherconst
data structures used for testing.In etaoins/arret#160 we needed to switch to an
empty_span()
function because there is no longer aconst
constructor forSpan
.We can't make
Span::new
const
yet because const functions are not powerful enough. However,Span::initial
is perfect for this use case.