Merge `TypeMapper` back into `Importer` - part 3/N: `Insert`.

This CL is one of steps toward merging `TypeMapper` back into
`Importer`.  The merge is:
- possible (after https://github.com/google/crubit/commit/16a5610d96eda5720bb57b5f927b00f00635ddf0 which means that there is only 1 instance
  of `TypeMapper`, because `ImportFields` doesn't anymore need to
  temporarily assume that the containing record can be imported),
- desirable (to support b/228868369 we need to let `ConvertType` call
  into `Importer::ConvertTemplateSpecializationType`).

This CL makes `TypeMapper::Insert` a private method of `TypeMapper`.
Callers of `TypeMapper::Insert` are transitioned to call the newly
introduced, equivalent `Importer::MarkAsSuccessfullyImported`.

PiperOrigin-RevId: 451509535
5 files changed
tree: b042177c5c53465415871d7970f5bccf7d053568
  1. .bazelci/
  2. bazel/
  3. cc_template/
  4. common/
  5. docs/
  6. lifetime_analysis/
  7. lifetime_annotations/
  8. migrator/
  9. rs_bindings_from_cc/
  10. .bazelrc
  11. .gitignore
  12. BUILD
  13. Cargo.Bazel.lock
  14. CODE_OF_CONDUCT
  15. CONTRIBUTING
  16. LICENSE
  17. README.md
  18. WORKSPACE
README.md

Crubit: C++/Rust Bidirectional Interop Tool

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.

Building Crubit

$ 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

Using a prebuilt LLVM tree

$ 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
$ cmake --build build -j
$ # wait...
$ cd ../crubit
$ PREBUILT_LLVM_PATH=../llvm-project bazel build //rs_bindings_from_cc:rs_bindings_from_cc_impl