bazel /
crubit /
57aac9389b3d0ff31bd089c4da3f2ec6a7b41c30 Change `project`->`project_pin`.
Rationale: We will *certainly* want other kinds of projection. For example:
1. reference projection, for aliasing non-mut references. Exact mechanism under discussion, but there will need to be a projection operation, because normal Rust references cannot alias mut references.
2. (current goal) raw pointer projection: for example, the `ctor!()` macro projects into raw pointers. However, if we want to allow `ctor!()` to initialize things that cannot normally be initialized by value, it will need to ignore private padding fields during projection.
(I'll explain #2 more in the followup that actually implements it.)
PiperOrigin-RevId: 449353646
3 files changed