Skip to content

Conversation

epage
Copy link
Contributor

@epage epage commented Jun 22, 2023

What does this PR try to resolve?

This is part of the work for #12207.

When you put in your path foo.rs:

#!/usr/bin/env cargo

fn main() {}

You expect it to build once and then repeatedly run the same version. However, .cargo/config.toml doesn't work like that (normally). It is an environment file, like .env, and is based on your current working directory. So if you run foo.rs from within a random project, it might rebuild due to RUSTFLAGS in .cargo/config.toml.

I had some concern about whether this current behavior is right or not and noted this in the Pre-RFC. This came up again while we were discussing editions on zulip. In looking further into this, it turns out we already have precedence for this with cargo install --path <path>.

How should we test and review this PR?

The second commit has the fix, the docs, and a change to a test (from the first commit) to show that the fix actually changed behavior.

@rustbot
Copy link
Collaborator

rustbot commented Jun 22, 2023

r? @weihanglo

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added A-cli Area: Command-line interface, option parsing, etc. A-documenting-cargo-itself Area: Cargo's documentation Command-run S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 22, 2023
@joshtriplett
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Jun 22, 2023

📌 Commit 78334e8 has been approved by joshtriplett

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 22, 2023
@bors
Copy link
Contributor

bors commented Jun 22, 2023

⌛ Testing commit 78334e8 with merge 2035d0d...

@bors
Copy link
Contributor

bors commented Jun 22, 2023

☀️ Test successful - checks-actions
Approved by: joshtriplett
Pushing 2035d0d to master...

@bors bors merged commit 2035d0d into rust-lang:master Jun 22, 2023
@epage epage deleted the config branch June 23, 2023 00:15
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Jun 24, 2023
Update cargo

8 commits in 4cebd130ebca3bc219180a54f3e26cc1b14a91de..03bc66b55c290324bd46eb22e369c8fae1908f91
2023-06-21 18:59:29 +0000 to 2023-06-23 23:27:46 +0000
- fix(script): Be quiet on programmatic output (rust-lang/cargo#12305)
- docs(unstable): Update script documentation (rust-lang/cargo#12308)
- cargo script example needs nightly -Zscript feature (rust-lang/cargo#12287)
- fix(script): Process config relative to script, not CWD (rust-lang/cargo#12303)
- -Znext-lockfile-bump: Don't suggest using -Z on stable (rust-lang/cargo#12302)
- build(deps): bump openssl from 0.10.54 to 0.10.55 (rust-lang/cargo#12300)
- Add `.toml` file extension restriction for `-Zconfig-include` (rust-lang/cargo#12298)
- docs(unstable): Point stable-unstable docs to nightly docs (rust-lang/cargo#12299)

r? `@ghost`
@ehuss ehuss added this to the 1.72.0 milestone Jul 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cli Area: Command-line interface, option parsing, etc. A-documenting-cargo-itself Area: Cargo's documentation Command-run S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants