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

package {
    default_applicable_licenses: ["external_rust_crates_slab_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "external_rust_crates_slab_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE",
    ],
}

rust_library {
    name: "libslab",
    host_supported: true,
    crate_name: "slab",
    cargo_env_compat: true,
    cargo_pkg_version: "0.4.9",
    srcs: ["src/lib.rs"],
    edition: "2018",
    features: [
        "default",
        "std",
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.btservices",
        "com.android.resolv",
        "com.android.virt",
    ],
    product_available: true,
    vendor_available: true,
    min_sdk_version: "29",
}

rust_test {
    name: "slab_test_tests_slab",
    host_supported: true,
    crate_name: "slab",
    cargo_env_compat: true,
    cargo_pkg_version: "0.4.9",
    srcs: ["tests/slab.rs"],
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2018",
    features: [
        "default",
        "std",
    ],
    rustlibs: [
        "libserde",
        "libserde_test",
        "libslab",
    ],
    proc_macros: ["librustversion"],
}
