Skip to content

rust_binary with crate_type = cdylib doesn't produce expected providers #1330

Open
@keith

Description

@keith

We have a rule like this:

    rust_binary(
        name = ...,
        edition = "2018",
        crate_type = "cdylib",
        out_binary = True,
...
    )

which since 5abeb93 (in release 0.4.0) fails with:

ERROR: /Users/ksmiley/dev/envoy/test/extensions/common/wasm/test_data/BUILD:12:17: in rust_binary rule //test/extensions/common/wasm/test_data:_wasm_test_rust_wasm:
/private/var/tmp/_bazel_ksmiley/4096f01a2eae006dd7eb0d708a9f3935/external/rules_rust/rust/private/rust.bzl:295:5: rule advertised the 'CrateInfo' provider, but this provider was not among those returned
ERROR: /Users/ksmiley/dev/envoy/test/extensions/common/wasm/test_data/BUILD:12:17: Analysis of target '//test/extensions/common/wasm/test_data:_wasm_test_rust_wasm' failed
ERROR: Analysis of target '//test/extensions/common/wasm:wasm_vm_test' failed; build aborted:

It looks like the issue is that rust_binary still states that it will create CrateInfo yet it does not in this case. Our use case doesn't seem to care about this, so just removing that requirement is enough. This is reproducible on this branch envoyproxy/envoy#21208 with bazel build --nobuild //test/extensions/common/wasm:wasm_vm_test --define=wasm=wamr.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions