Replace pin_project with a home-grown clone.

Thanks to this, we can make it `impl !Unpin` (the most immediate need). More generally, we can control its generated API surface (e.g. if people really want accessors, instead of projection, we can generate those).

This also gets rid of the requirement that users depend on pin_project, despite not themselves using it. (Another way out of that would've been to use the non-proc-macro pin_project_lite crate.)

PiperOrigin-RevId: 447448916
4 files changed
tree: 40bc3b0bcfa9a0814da651de5e0762d3664e9091
  1. cc_template/
  2. common/
  3. docs/
  4. lifetime_annotations/
  5. migrator/
  6. rs_bindings_from_cc/
  7. BUILD
  8. CODE_OF_CONDUCT
  9. CONTRIBUTING
  10. LICENSE
  11. README.md
README.md

Crubit: C++/Rust Bidirectional Interop Tool

Extremely experimental interop tooling for C++ and Rust.

Please don‘t use, this is an experiment and we don’t yet know where will it take us. There will be breaking changes without warning. Unfortunately, we can't take contributions at this point.