A non-const reference is just as clear a signal that the parameter may be modified as a non-const pointer. If there's no modification const ref should be used.
You could choose to textually "tag" passing by mutable ref by passing `&foo` but this can rub people the wrong way, just like chaining pointer outvars with `&out_foo`.
More like change for the sake of politics, Apple didn't want to use any Khronos IP so the WebGPU committee had to work backwards to justify inventing something new from scratch, despite the feedback from potential users being overwhelmingly against doing that.
Then after sending the spec on a multi-year sidequest to develop a shader language from scratch, Apple still hasn't actually shipped WebGPU in Safari, despite Google managing to ship it across multiple platforms over a year ago. Apple only needs to support Metal.
Do you mean to allege "[the Apple delegates to] the WebGPU committee"? Because the committee as a whole has a ton of public minutes that show how strident the opposition to this was. (Probably filed under "This is not a place of honor" :)) I don't even want to re-read what I said at the time. No one involved, literally no one, is happy about that chapter, believe me. We are happy to be shipping something, though.
> UBER SHALL NOT BE LIABLE FOR … PERSONAL INJURY OR DEATH … RESULTING FROM ANY USE OF THE SERVICES, REGARDLESS OF THE NEGLIGENCE
Arbitration or in a court, where is their case when this is in the TOS?
[0] https://www.uber.com/legal/en/document/?name=general-terms-o...
> If any provision of these Terms is held to be invalid or unenforceable, such provision shall be struck and the remaining provisions shall be enforced to the fullest extent under law.
"14.7 miles per gallon (mpg) (without air conditioning) 8.6 mpg (with air conditioning)"
The same document estimates off the shelf commercial right hand drive vehicles averaging 6.3 mpg if used fleet-wide.
Apple with their VisionPro is quite a bit further along and their Persona[2] are available to consumer, though the price tag of the device puts it out of reach for almost everybody.
Without knowing how it works at Facebook, it's quite possible the data points got slurped in, the models found meaning in the data and acted on it, and no human knew anything about it.
There is a trail of people who signed off on this implementation. It is the fault of one or more people, not machines.