commit | d680b1ce0499a7a262b9c17a1e70fb6642f259f5 | [log] [tgz] |
---|---|---|
author | Googler <no-reply@google.com> | Thu Mar 23 13:45:19 2023 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Mar 23 13:46:00 2023 -0700 |
tree | 55243c03d3142ef4d5efe65a7f108ab94735aaab | |
parent | b7145e6f702d6ff6f213ffdf23d8da6c9142af05 [diff] |
Enable `arbitrary_self_types` feature flag for generated Rust API Since we plan to allow `some_method(self: RvalueReference<...>...)`, which means the type of `self` isn't one of the more standard `self` types such as `&Self`, `&mut Self`, etc.). `arbitrary_self_types` allows `self` to be of a type that `Deref`'s to more standard types. PiperOrigin-RevId: 518952698
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.
$ apt install clang lld bazel $ git clone git@github.com:google/crubit.git $ cd crubit $ bazel build --linkopt=-fuse-ld=/usr/bin/ld.lld //rs_bindings_from_cc:rs_bindings_from_cc_impl
$ git clone https://github.com/llvm/llvm-project $ cd llvm-project $ CC=clang CXX=clang++ cmake -S llvm -B build -DLLVM_ENABLE_PROJECTS='clang' -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install $ cmake --build build -j $ # wait... $ cmake --install build $ cd ../crubit $ LLVM_INSTALL_PATH=../llvm-project/install bazel build //rs_bindings_from_cc:rs_bindings_from_cc_impl