load("@rules_cc//cc:defs.bzl", "cc_library") load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test") load("//tools/bazel:rust_cxx_bridge.bzl", "rust_cxx_bridge") rust_test( name = "test", size = "small", srcs = ["test.rs"], edition = "2024", deps = [ ":cxx_test_suite", "//:cxx", ], ) rust_library( name = "cxx_test_suite", testonly = True, srcs = [ "ffi/cast.rs", "ffi/lib.rs", "ffi/module.rs", ], edition = "2024", link_deps = [ ":impl", ], deps = [ "//:cxx", "@crates.io//:serde", ], ) cc_library( name = "impl", testonly = True, srcs = [ "ffi/tests.cc", ":bridge/source", ":module/source", ], hdrs = ["ffi/tests.h"], linkstatic = True, deps = [ ":bridge/include", ":module/include", "//:core", ], ) rust_cxx_bridge( name = "bridge", testonly = True, src = "ffi/lib.rs", deps = [":impl"], ) rust_cxx_bridge( name = "module", testonly = True, src = "ffi/module.rs", deps = [":impl"], )