// This file is generated by cargo_embargo.
// Do not modify this file because the changes will be overridden on upgrade.

package {
    default_applicable_licenses: ["external_rust_crates_arrayvec_license"],
}

license {
    name: "external_rust_crates_arrayvec_license",
    visibility: [":__subpackages__"],
    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
    license_text: ["LICENSE"],
}

rust_test {
    name: "arrayvec_test_src_lib",
    host_supported: true,
    crate_name: "arrayvec",
    cargo_env_compat: true,
    cargo_pkg_version: "0.7.4",
    crate_root: "src/lib.rs",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2018",
    features: [
        "default",
        "std",
    ],
    rustlibs: [
        "libbencher",
        "libmatches",
        "libserde_test",
    ],
}

rust_test {
    name: "arrayvec_test_tests_tests",
    host_supported: true,
    crate_name: "tests",
    cargo_env_compat: true,
    cargo_pkg_version: "0.7.4",
    crate_root: "tests/tests.rs",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2018",
    features: [
        "default",
        "std",
    ],
    rustlibs: [
        "libarrayvec",
        "libbencher",
        "libmatches",
        "libserde_test",
    ],
}

rust_library {
    name: "libarrayvec",
    host_supported: true,
    crate_name: "arrayvec",
    cargo_env_compat: true,
    cargo_pkg_version: "0.7.4",
    crate_root: "src/lib.rs",
    edition: "2018",
    features: [
        "default",
        "std",
    ],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    product_available: true,
    vendor_available: true,
}
