1load("@rules_cc//cc:defs.bzl", "cc_library") 2load( 3 "@rules_rust//rust:defs.bzl", 4 "rust_library", 5 "rust_test", 6) 7 8# TODO: These targets started failing on windows after the Rust 1.78.0 upgrade. 9# https://github.com/bazelbuild/rules_rust/issues/2640 10INCOMPATIBLE_WINDOWS = select({ 11 "@platforms//os:windows": ["@platforms//:incompatible"], 12 "//conditions:default": [], 13}) 14 15rust_library( 16 name = "transitive", 17 srcs = ["transitive.rs"], 18 edition = "2018", 19 target_compatible_with = INCOMPATIBLE_WINDOWS, 20) 21 22cc_library( 23 name = "direct", 24 srcs = ["direct.cc"], 25 hdrs = ["direct.h"], 26 target_compatible_with = INCOMPATIBLE_WINDOWS, 27 deps = [":transitive"], 28) 29 30rust_test( 31 name = "main", 32 srcs = ["main.rs"], 33 edition = "2018", 34 target_compatible_with = INCOMPATIBLE_WINDOWS, 35 deps = [":direct"], 36) 37