It's unclear why the spans are gated behind the span feature. They are essential for diagnostics, take almost no space, and all users of naga that I could find enable it or have it enabled because they depend on wgpu-core transitively.
The validate feature might have more value than span as it gates quite a bit more code than span but still gets enabled by wgpu-core unconditionally.
The main driving factor behind removing them is maintenance burden (having to always consider the case where those are not enabled).
Related (original PRs):
It's unclear why the spans are gated behind the
spanfeature. They are essential for diagnostics, take almost no space, and all users of naga that I could find enable it or have it enabled because they depend onwgpu-coretransitively.The
validatefeature might have more value thanspanas it gates quite a bit more code thanspanbut still gets enabled bywgpu-coreunconditionally.The main driving factor behind removing them is maintenance burden (having to always consider the case where those are not enabled).
Related (original PRs):