Skip to content

[rustc] Tolerate spaces and blanks inside @response files #116068

@fangism

Description

@fangism

We have build tooling that generates rust command-line arguments inside response files, passed like rustc @args.rsp.
In some cases, the tool emits response files with empty lines, or lines that contain only a single space.

Case (second line is a single space):

foo.rs
 

diagnostic:

error: multiple input filenames provided (first two filenames are `foo.rs` and ` `)

Case (second line is blank):

foo.rs

diagnostic:

error: multiple input filenames provided (first two filenames are `foo.rs` and ``)

Could the rustc compiler be updated to ignore space-only and blank lines in response files?

Activity

added
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
on Sep 22, 2023
added
T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
C-feature-requestCategory: A feature request, i.e: not implemented / a PR.
A-CLIArea: Command-line interface (CLI) to the compiler
and removed
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
on Sep 22, 2023
Noratrieb

Noratrieb commented on Sep 22, 2023

@Noratrieb
Member

Sounds reasonable to me, feel free to send in a PR. The PR would need an FCP from the compiler team because this is stable behavior. A compiler major change proposal is probably not needed because this is so small.

fangism

fangism commented on Sep 22, 2023

@fangism
Author

Case: leading and trailing spaces

 foo.rs
bar.rs 

(one space after bar.rs)

diagnostic:

error: multiple input filenames provided (first two filenames are ` foo.rs` and `bar.rs `)
added a commit that references this issue on Oct 10, 2023
e985fb9
added 4 commits that reference this issue on Oct 10, 2023
4a77c4f
9e25397
ac0e874
2fb8fc6
jsgf

jsgf commented on Oct 27, 2023

@jsgf
Contributor

Rustc args files are intended to contain verbatim command line args, one per line. If you're generating spurious spaces or blank lines, you're not generating valid args files. So stripping out blank lines or "extra" whitespace is explicitly not a valid operation to perform on args files.

Can't you just update the generator to generate valid args files in the first place? What's the generator in this case?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-CLIArea: Command-line interface (CLI) to the compilerC-feature-requestCategory: A feature request, i.e: not implemented / a PR.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @jsgf@fangism@rustbot@Noratrieb

      Issue actions

        [rustc] Tolerate spaces and blanks inside @response files · Issue #116068 · rust-lang/rust