// 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_tinyvec_license"],
    default_team: "trendy_team_android_rust",
}

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

rust_library {
    name: "libtinyvec",
    host_supported: true,
    crate_name: "tinyvec",
    cargo_env_compat: true,
    cargo_pkg_version: "1.6.0",
    crate_root: "src/lib.rs",
    edition: "2018",
    features: [
        "alloc",
        "default",
        "rustc_1_40",
        "rustc_1_55",
        "rustc_1_57",
        "std",
        "tinyvec_macros",
    ],
    rustlibs: ["libtinyvec_macros"],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    product_available: true,
    vendor_available: true,
    min_sdk_version: "29",
}

rust_test {
    name: "tinyvec_test_tests_arrayvec",
    host_supported: true,
    crate_name: "arrayvec",
    cargo_env_compat: true,
    cargo_pkg_version: "1.6.0",
    crate_root: "tests/arrayvec.rs",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2018",
    features: [
        "alloc",
        "default",
        "rustc_1_40",
        "rustc_1_55",
        "rustc_1_57",
        "std",
        "tinyvec_macros",
    ],
    rustlibs: [
        "libcriterion",
        "libserde_test",
        "libsmallvec",
        "libtinyvec",
        "libtinyvec_macros",
    ],
}

rust_test {
    name: "tinyvec_test_tests_tinyvec",
    host_supported: true,
    crate_name: "tinyvec",
    cargo_env_compat: true,
    cargo_pkg_version: "1.6.0",
    crate_root: "tests/tinyvec.rs",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2018",
    features: [
        "alloc",
        "default",
        "rustc_1_40",
        "rustc_1_55",
        "rustc_1_57",
        "std",
        "tinyvec_macros",
    ],
    rustlibs: [
        "libcriterion",
        "libserde_test",
        "libsmallvec",
        "libtinyvec",
        "libtinyvec_macros",
    ],
}

rust_library_rlib {
    name: "libtinyvec_nostd",
    crate_name: "tinyvec",
    cargo_env_compat: true,
    cargo_pkg_version: "1.6.0",
    crate_root: "src/lib.rs",
    edition: "2018",
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    prefer_rlib: true,
    no_stdlibs: true,
    stdlibs: [
        "libcompiler_builtins.rust_sysroot",
        "libcore.rust_sysroot",
    ],
    product_available: true,
    vendor_available: true,
    min_sdk_version: "29",
}

dirgroup {
    name: "trusty_dirgroup_external_rust_crates_tinyvec",
    visibility: ["//trusty/vendor/google/aosp/scripts"],
    dirs: ["."],
}
