Skip to content

Cannot specify world to target for package referenced from a registry #399

@kate-goldenring

Description

@kate-goldenring

I have a component that adds two numbers. It uses the adder world defined in ghcr.io/bytecodealliance/docs/adder:0.1.0. In my Cargo.toml, I get an error if I specify the world within the package i want to target. This happens to be redundant in this case as only the adder world exists in the package, but I would expect it to still be permitted.

Example app

Cargo.toml:

[package.metadata.component.target]
# The registry which contains the package
registry = "ghcr.io/bytecodealliance"
# The package name
package = "docs:adder"
# The package version
version = "0.1.0"
# Adding the following incurs an erro
world = "adder"

Error during cargo component build --release:

error: failed to create a target world for package `adder` (/Users/kagold/Programs/component-docs/component-model/examples/tutorial/adder/Cargo.toml)

Caused by:
    0: failed to select world from target package `docs:adder`
    1: no world named `adder` in package
For now, i'll leave the world out but ill file an issue with cargo-component

WIT can be fetched

wkg get --format wit docs:adder@0.1.0 --output adder.wit  --registry ghcr.io

WIT:

package docs:adder@0.1.0;

interface add {
  add: func(a: u32, b: u32) -> u32;
}

world adder {
  export add;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions