commit | 519705f755261899ce5d5cc517f7938ccd25f4aa | [log] [tgz] |
---|---|---|
author | Dani Ferreira Franco Moura <danimoura@google.com> | Thu Nov 17 05:14:19 2022 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Nov 17 05:14:51 2022 -0800 |
tree | b88db9d1a7bee55d3b7c00a813e2b2636fa6b15c | |
parent | b4d5d8ee88e4129f9fc0edfa0b44d408dd3d3699 [diff] |
Add test cases for nullability verification of template-instantiated methods. In particular, we added tests to check that nullability information gets propagated in templates that have multiple arguments and in templates that have integer arguments. Some test cases have commented out lines that currently produce false negatives. We hope to develop the infrastructure to warn on those cases soon. PiperOrigin-RevId: 489185007
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