google/crubit
A bidirectional bindings generator for C++ and Rust.
https://skillcdn.ai/gh/google/crubitConnect this address to your AI to use these skills. How to connect
- Unverified
- Default branch
main - Commit
a9601ab - License
Apache-2.0
Explore this repository
Searches the original text of skills and documents; display translations are not searched.
Documents
- Build System Integrationscrubit.rs/overview/build_systemsdocs/overview/build_systems.md
- Cargo Build of Crubitcrubit.rs/overview/cargo_builddocs/overview/cargo_build.md
- Protobuf Code Generation in Crubit's Cargo Buildcrubit.rs/overview/cargo_build_protobufdocs/overview/cargo_build_protobuf.md
- Debugging Crubitcrubit.rs/overview/debuggingdocs/overview/debugging.md
- Limits of CrubitCrubit aims to make Rust a viable option for engineering teams with large, pre-existing C++ codebases. There are limits to how well C++ and Rust can interoperate. Tradeoffs still exist, and there can…docs/overview/limits.md
- Overview of Crubit's C++/Rust bindingsTo call a C++ function from Rust, one can manually declare the foreign function interface (FFI) as follows:docs/overview/overview.md
- Panics and Exceptions in C++/Rust FFI bindingsSUMMARY: Crubit currently requires -fno-exceptions, and converts unwinding panics into aborts.docs/overview/panics_and_exceptions.md
- Reference SafetyThe Rust reference documents Undefined Behavior (UB) and says that "it is the programmer's responsibility when writing unsafe code to ensure that any safe code interacting with the unsafe code cannot…docs/overview/reference_safety.md
- Crubit assumptions about `extern "C"` ABI of built-in Rust typescc_bindings_from_rs makes certain assumptions about internal implementation details of the Rust compiler. In particular, cc_bindings_from_rs assumes a specific ABI of extern “C” functions that pass/r…docs/overview/rust_builtin_type_abi_assumptions.md
- Memory SafetyThis page attempts to document the soundness properties of Crubit itself, as a layer on top of existing C++ APIs.docs/overview/safety.md
- Are we Crubit Yet?NOTE: The bug links below, of the form b/123456, are for Google-internal tracking purposes.docs/overview/status.md
- Unstable FeaturesFor each feature we use, we document the following:docs/overview/unstable_features.md