Hi folks,
Our team was mulling over project ideas for 2025 Q4, and the idea of ANGLE spanification came up. As far as we can tell, this simply chunks into
- Harden angle::Span. We are most interested in driving spanification to improve memory safety, and angle::Span is not currently flush with Chromium's base::span in this regard. (Note 1)
- Propagate angle::Span. Adapt Chromium's spanify tool (or write a brand-new one) to greatly lessen the human effort required to rewrite clumps of functions, classes, etc.
...and I'm handwaving away a lot of the follow-up work, etc. etc., especially perf analysis, which I suspect will temper how much we can get out of both these items.
I'd like to hear what the project team thinks about this --- would you be receptive to CLs sent, are there no-go areas that will probably not bear spanification, etc.?
Thanks,
Kalvin
Note 1: To state the obvious for my own benefit ---
angle::Span currently appears only to have bounds checking on
first(),
last(), and
subspan(), and even then only tied to
ANGLE_ENABLE_ASSERTS. All other accessors look unguarded to me.