Skip to content

Remove experimental --env-set option - #161831

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
Urgau:rm-env-set
Aug 31, 2026
Merged

rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
Urgau:rm-env-set

Conversation

@Urgau

@Urgau Urgau commented Aug 26, 2026

Copy link
Copy Markdown
Member

This PR removes the experimental/unstable --env-set option.

The primary motivation for the feature meson/ninja consider it insufficient and a failure. They are even planning to use a wrapper anyway, entirely removing the need for it.

I looked at GitHub search and apart from Buck2 who seemed to be using it, I didn't find a significant user.

Close-ish #118372

cc @GuillaumeGomez @bonzini
r? @nnethercote

@rustbot

rustbot commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead.

cc @rust-lang/rust-analyzer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue. labels Aug 26, 2026

@nnethercote nnethercote left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've never heard of this option. Why does an unstable option not have a -Z prefix?

View changes since this review

@bonzini

bonzini commented Aug 30, 2026

Copy link
Copy Markdown

Why does an unstable option not have a -Z prefix?

Because it's enabled by -Zunstable-options. :)

@nnethercote nnethercote left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's good enough for @GuillaumeGomez it's good enough for me.

View changes since this review

So if you first passed:

```bash
--env-set A=B --env X=12

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This --env was out of date.

@nnethercote

Copy link
Copy Markdown
Contributor

@bors r+

@rust-bors

rust-bors Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

📌 Commit fadc7c6 has been approved by nnethercote

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 Aug 30, 2026
rust-bors Bot pushed a commit that referenced this pull request Aug 31, 2026
Rollup of 3 pull requests

Successful merges:

 - #161603 (Add llubi to llvm-tools)
 - #161831 (Remove experimental `--env-set` option)
 - #161721 (Add f16 summary provider for PDB debug info)
@rust-bors
rust-bors Bot merged commit 4a1c249 into rust-lang:main Aug 31, 2026
13 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Aug 31, 2026
rust-bors Bot pushed a commit that referenced this pull request Aug 31, 2026
Rollup merge of #161831 - Urgau:rm-env-set, r=nnethercote

Remove experimental `--env-set` option

This PR removes the experimental/unstable `--env-set` option.

The primary motivation for the feature meson/ninja [consider it](#161609 (comment)) insufficient and a failure. They are even [planning](#161609 (comment)) to use a wrapper anyway, entirely removing the need for it.

I looked at GitHub search and apart from Buck2 who [seemed to be using it](#161609 (comment)), I didn't find a significant user.
@Urgau Urgau mentioned this pull request Aug 31, 2026
1 of 3 tasks
asukaminato0721 pushed a commit to asukaminato0721/rust-analyzer that referenced this pull request Sep 2, 2026
Rollup of 3 pull requests

Successful merges:

 - rust-lang/rust#161603 (Add llubi to llvm-tools)
 - rust-lang/rust#161831 (Remove experimental `--env-set` option)
 - rust-lang/rust#161721 (Add f16 summary provider for PDB debug info)
mikeslade added a commit to mikeslade/rust-lints that referenced this pull request Sep 27, 2026
…iver for the removed --env-set (#11)

nix flake update moved only crane; #10 already carried nixpkgs and
rust-overlay to today's snapshot, so the toolchain stays
nightly-2026-09-27. cargo update moves 35 packages, among them
dylint_linting 6.0.2 -> 6.1.0, and the flake's dylint tools follow.

rust-lang/rust#161831 removed the unstable --env-set flag on
2026-08-31. dylint >= 6.0.3 passes it on every lint run, so its driver
fails on any newer nightly with "Unrecognized option: 'env-set'"
(trailofbits/dylint#2078, still open). The flake now patches the driver
source to stop passing the flag, restoring the 6.0.2 behaviour, with
--replace-fail so the upstream fix shows up here as a build failure.

Also fixes one clippy redundant_closure so clippy is clean.
dmandreev added a commit to issuerd/issuerd that referenced this pull request Sep 30, 2026
Four syntax-only, deny-by-default lints over a pre-expansion early pass
(no name resolution, no clippy_utils dependency), enforcing the AGENTS.md
"Logging Conventions" at compile time:

- tracing_error_debug: error/err fields must use the % (Display) sigil,
  not ? (Debug), at any level.
- secret_field_in_log: no secret-named fields (password/token/code/
  cookie/...) in event macros or #[instrument(fields(...))]; metadata
  suffixes (_hash/_len/_count/_type/_id) and the OAuth-vocabulary
  token_*/code_*/authorization_* compounds are exempt.
- session_id_in_log: session_id/sid fields only at DEBUG/TRACE, never
  in span fields.
- instrument_skip_sensitive: sensitive #[instrument] parameters
  (state/headers/body/params/query/IPs, *_token/*_secret/*_password/
  *_code/*_assertion/*_key) must be in skip(...)/skip_all.

The crate is a detached workspace ([workspace] table) pinned to
nightly-2026-08-20: dylint's driver passes the unstable --env-set flag
(trailofbits/dylint#2010) which rustc removed in rust-lang/rust#161831
(merged 2026-08-31), so the pin must predate the removal
(trailofbits/dylint#2078). Ui tests via dylint_testing/compiletest cover
positive and negative cases for all four lints (cargo test in the crate).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants