blob: d10a39d57f02590c337cdec8c5c770e7b76cfd19 [file] [log] [blame]
"""Support libraries that the generated Rust/C++ bindings depend upon."""
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_proc_macro")
load("//common:crubit_wrapper_macros_oss.bzl", "crubit_rust_test")
package(default_applicable_licenses = ["//:license"])
rust_library(
name = "ctor",
srcs = ["ctor.rs"],
proc_macro_deps = [":ctor_proc_macros"],
rustc_flags = ["-Zallow-features=negative_impls"],
visibility = ["//:__subpackages__"],
)
rust_proc_macro(
name = "ctor_proc_macros",
srcs = ["ctor_proc_macros.rs"],
deps = [
"@crate_index//:proc-macro2",
"@crate_index//:quote",
"@crate_index//:syn",
],
)
crubit_rust_test(
name = "ctor_proc_macros_test",
crate = ":ctor_proc_macros_proc_macro_internal",
deps = [
"//common:token_stream_matchers",
],
)
crubit_rust_test(
name = "ctor_test",
srcs = ["ctor.rs"],
proc_macro_deps = [":ctor_proc_macros"],
rustc_flags = ["-Zallow-features=negative_impls"],
)
crubit_rust_test(
name = "ctor_proc_macros_e2e_test",
srcs = ["ctor_proc_macros_test.rs"],
rustc_flags = ["-Zallow-features=negative_impls"],
deps = [
":ctor",
],
)
crubit_rust_test(
name = "ctor_macro_test",
srcs = ["ctor_macro_test.rs"],
deps = [
":ctor",
],
)
rust_library(
name = "forward_declare",
srcs = ["forward_declare.rs"],
proc_macro_deps = [":forward_declare_proc_macros"],
rustc_flags = ["-Zallow-features=extern_types,negative_impls,vec_into_raw_parts"],
visibility = ["//:__subpackages__"],
)
rust_proc_macro(
name = "forward_declare_proc_macros",
srcs = ["forward_declare_proc_macros.rs"],
deps = [
"@crate_index//:proc-macro2",
"@crate_index//:quote",
"@crate_index//:syn",
],
)
crubit_rust_test(
name = "forward_declare_macros_test",
srcs = ["forward_declare_macros_test.rs"],
deps = [":forward_declare"],
)
rust_library(
name = "oops",
srcs = ["oops.rs"],
rustc_flags = ["-Zallow-features=negative_impls"],
visibility = [
"//:__subpackages__",
],
)
crubit_rust_test(
name = "oops_test",
srcs = ["oops.rs"],
rustc_flags = ["-Zallow-features=negative_impls"],
)