Skip to content

Regression in beta: failed to parse slash in a custom cfg name #7613

@ordian

Description

@ordian

According to https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies, custom target specification is allowed, e.g.

[target."x86_64/windows.json".dependencies]
winhttp = "0.4.0"

cargo +stable metadata works on this toml, while cargo +beta metadata fails

❯ cargo +stable --version      
cargo 1.39.0 (1c6ec66d5 2019-09-30)
❯ cargo +beta --version
cargo 1.40.0-beta (5da4b4d47 2019-10-28)
❯ cat Cargo.toml 
[package]
name = "None"
version = "0.1.0"
[target."x86_64/windows.json"]
dependencies = { hello = "1.0" }
❯ cargo +stable metadata
<snip>
❯ cargo +beta metadata 
error: failed to parse manifest at `/tmp/Cargo.toml`

Caused by:
  failed to parse `x86_64/windows.json` as a cfg expression: invalid target specifier: unexpected character / in target name

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions