tree: 5e80ff99d9dc65cbacc2e7ea42694385b512881b [path history] [tgz]
  1. extra_rs_srcs_for_cc_std/
  2. internal/
  3. rstd/
  4. BUILD
  5. ctor.rs
  6. ctor_macro_test.rs
  7. ctor_proc_macros.rs
  8. ctor_proc_macros_test.rs
  9. forward_declare.rs
  10. forward_declare_macros_test.rs
  11. forward_declare_proc_macros.rs
  12. oops.rs
  13. README.md
support/README.md

Crubit runtime support library

Disclaimer: This project is experimental, under heavy development, and should not be used yet.

This directory contains C++ and Rust libraries needed to support the C++ and Rust FFI bindings that Crubit's tools generate:

  • The C++ and Rust code generated by Crubit's rs_bindings_from_cc and cc_bindings_from_rs tools may depend on these libraries. For example, compile-time assertions related to struct layout in the generated ..._rs_api.h depend on crubit/support/offset_of.h.

  • The C++ and Rust code that uses Crubit-generated bindings may need to depend on these libraries. For example, Rust code that uses Crubit-generated bindings for C++ may need to use the forward_declare crate to perform safe casting between forward-declared and fully-defined types.