commit | 4a1231db62f6e2328cb207d933e973568c6e5e54 | [log] [tgz] |
---|---|---|
author | Martin Brænne <mboehme@google.com> | Fri Jul 01 01:45:44 2022 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Jul 01 01:46:10 2022 -0700 |
tree | e7714bae3fa7588b0a9fa1feb25439eda54e0672 | |
parent | 57405823c160182d6a2164dd8bac98dd3a414bb9 [diff] |
Introduce the ObjectRepository::CreateObject...() object allocation functions. Replace the Object::Create...() functions with corresponding constructors; these should, however, only be used in tests where an ObjectRepository is not available. Everywhere else, we replace calls to Object::Create...() with the new ObjectRepository::CreateObject...() functions. However, at the callsites, we immediately convert back to an Object value. This is fine because Object still has value semantics, but it will allows to gradually start replacing Object values with `const Object *` pointers. PiperOrigin-RevId: 458412874
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