-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement --env
compiler flag (without tracked_env
support)
#118368
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A part from the 2 nits I think this looks good.
Nit: could you also add a feature gate UI test in tests/ui/feature-gates
My understanding is this is a subset of that RFC, implementing only |
This flag will very likely remain unstable for quite some time (at least until the RFC is merged). We can always rename at this point. Not a big fan of |
70f7df6
to
bafdbae
Compare
Added the feature gate test, updated the UI test with |
Is there any documentation for this feature? Note that environment variables are case-insensitive but case-preserving on Windows so we might need to document that, for example, |
Fair enough. I don't have strong opinion either way tbh. |
Unlike |
Forgot about this. @GuillaumeGomez you should add the documentation under |
Ah so there was a place where such documentation exists. Thanks @Urgau ! |
Added the documentation. |
28a7a39
to
556b447
Compare
556b447
to
ea7ad83
Compare
This comment has been minimized.
This comment has been minimized.
ea7ad83
to
5ed5e9f
Compare
The test passes locally. Weird... I rebased just in case, let's see if it works better... |
This comment has been minimized.
This comment has been minimized.
5ed5e9f
to
8ee6a19
Compare
CI fixed! \o/ |
8ee6a19
to
22b9c2d
Compare
I applied both suggestions, thanks! |
Let's reroll reviewer. r? rust-lang/compiler |
22b9c2d
to
dc2f77a
Compare
I applied suggestions. I'll add |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
awesome, thanks!
@bors r+ |
Why did rustbot assign this PR to me in #118368 (comment) ?... Did the title change re-trigger |
You're bors' chosen one! \o/ |
☀️ Test successful - checks-actions |
Finished benchmarking commit (d86d65b): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 670.824s -> 668.008s (-0.42%) |
…Nilstrieb Add support for `--env` on `tracked_env::var` Follow-up of rust-lang#118368. Part of Part of rust-lang#80792. It adds support of the `--env` option for proc-macros through `tracked_env::var`. r? `@Nilstrieb`
…Nilstrieb Add support for `--env` on `tracked_env::var` Follow-up of rust-lang#118368. Part of Part of rust-lang#80792. It adds support of the `--env` option for proc-macros through `tracked_env::var`. r? ``@Nilstrieb``
…lstrieb Add support for `--env` on `tracked_env::var` Follow-up of rust-lang#118368. Part of Part of rust-lang#80792. It adds support of the `--env` option for proc-macros through `tracked_env::var`. r? `@Nilstrieb`
Add support for `--env` on `tracked_env::var` Follow-up of rust-lang/rust#118368. Part of Part of rust-lang/rust#80792. It adds support of the `--env` option for proc-macros through `tracked_env::var`. r? `@Nilstrieb`
Add support for `--env` on `tracked_env::var` Follow-up of rust-lang/rust#118368. Part of Part of rust-lang/rust#80792. It adds support of the `--env` option for proc-macros through `tracked_env::var`. r? `@Nilstrieb`
Add support for `--env` on `tracked_env::var` Follow-up of rust-lang/rust#118368. Part of Part of rust-lang/rust#80792. It adds support of the `--env` option for proc-macros through `tracked_env::var`. r? `@Nilstrieb`
Add support for `--env` on `tracked_env::var` Follow-up of rust-lang/rust#118368. Part of Part of rust-lang/rust#80792. It adds support of the `--env` option for proc-macros through `tracked_env::var`. r? `@Nilstrieb`
Update Rust toolchain from nightly-2023-12-10 to nightly-2023-12-11 without any other source changes. This is an automatically generated pull request. If any of the CI checks fail, manual intervention is required. In such a case, review the changes at https://github.com/rust-lang/rust from rust-lang@06e02d5 up to rust-lang@d86d65b. The log for this commit range is: rust-lang@d86d65bbc1 Auto merge of rust-lang#118368 - GuillaumeGomez:env-flag, r=Nilstrieb rust-lang@ec4176167b Auto merge of rust-lang#118703 - Kobzol:bootstrap-config-unused, r=onur-ozkan rust-lang@f1c5558edc Add ChangeInfo record rust-lang@ccbd88dc83 Remove unused run_dsymutil and gpg_password_file config values rust-lang@6badc0d840 Destructure TOML configs rust-lang@7e452c123c Auto merge of rust-lang#118791 - saethlin:use-immediate-type, r=nikic rust-lang@b9068315db Auto merge of rust-lang#116952 - compiler-errors:lifetime_capture_rules_2024, r=TaKO8Ki rust-lang@befd1eb4ec Auto merge of rust-lang#116278 - Kobzol:bootstrap-lld-mode, r=albertlarsan68,petrochenkov rust-lang@dc2f77aad6 Add (unstable) documentation for `--env` command line option rust-lang@d2b1f94f05 Add feature gate test for `--env` flag rust-lang@37d68093da Add ui tests for `--env` option rust-lang@486e55e547 Implement `--env` compiler flag rust-lang@53031b264e Review fixes rust-lang@84f6130fe3 Auto merge of rust-lang#118692 - surechen:remove_unused_imports, r=petrochenkov rust-lang@4750e9de47 Produce an explicit error when using a self-contained lld, but we don't add it to sysroot rust-lang@ea769dbeb7 Add change tracker entry rust-lang@cbfe6327a1 Do not invoke external lld to figure out thread flags in self-contained mode rust-lang@50865745e1 Update `config.example.toml` rust-lang@40c3d351ad Use MCP510 rust-lang@48c1607bc6 Introduce `LldMode` and generalize parsing of `use-lld` rust-lang@d9f9e67bc1 Refactor rust(do)c linker flags rust-lang@b3c9ffdc77 Add `is_msvc` function rust-lang@c1a3919378 Auto merge of rust-lang#118792 - naglis:fix-mutex-doc-typo, r=workingjubilee rust-lang@42dfac5e08 Auto merge of rust-lang#118788 - compiler-errors:const-pretty, r=fee1-dead rust-lang@61afc9c928 Auto merge of rust-lang#116949 - hamza1311:stablize-arc_unwrap_or_clone, r=dtolnay rust-lang@c71c246876 Auto merge of rust-lang#118550 - cjgillot:filecheck-const-prop, r=Mark-Simulacrum rust-lang@40ae34194c remove redundant imports rust-lang@f7253f2317 Auto merge of rust-lang#118787 - GuillaumeGomez:rollup-fj5wr3q, r=GuillaumeGomez rust-lang@7d50a39763 Fix typo in `std::sync::Mutex` example rust-lang@8cd8d31369 Auto merge of rust-lang#118069 - onur-ozkan:bypass_bootstrap_lock, r=Mark-Simulacrum rust-lang@b0a580112b Use immediate_backend_type when reading from a const alloc rust-lang@afa35e90ef Print constness in TraitPredPrintModifiersAndPath rust-lang@7467c3a45c s/const_effect/host_effect rust-lang@f1bf874fb1 Don't print host effect param in pretty path_generic_args rust-lang@6860654d82 allow bypassing the build directory lock rust-lang@dd234696ed Rollup merge of rust-lang#118782 - jyn514:powershell, r=ChrisDenton rust-lang@034d73d6d7 Rollup merge of rust-lang#118775 - Young-Flash:fix, r=compiler-errors rust-lang@5b9e917b64 Rollup merge of rust-lang#118774 - lcnr:region-refactor-uwu, r=compiler-errors rust-lang@cc821d3ae6 Rollup merge of rust-lang#118747 - Urgau:check-cfg-freebsd-cleanup, r=onur-ozkan rust-lang@83e814f88c Rollup merge of rust-lang#117966 - lxy19980601:safe_compilation_options, r=Mark-Simulacrum rust-lang@2cf54e9f99 use `&` instead of start-process in x.ps1 rust-lang@ef796db5f0 add test for inductive cycle hangs rust-lang@cb6984217f chore: add test case for type with generic rust-lang@0f40b6545d Remove extra check-cfg handled by libc directly rust-lang@803772e81d Enable new capture rules by default on edition 2024 rust-lang@acba7efe1b Add test for implicitly capturing late-bound var with new capture rules rust-lang@0ad160a585 Add lifetime_capture_rules_2024 rust-lang@3f8487a099 Add safe compilation options rust-lang@30a95b7c0a FileCheck while_let_loops. rust-lang@c00068e49f FileCheck tuple_literal_propagation. rust-lang@87522d0007 FileCheck return_place. rust-lang@a12027e128 FileCheck switch_int. rust-lang@19767eb7a6 FileCheck slice_len. rust-lang@3e90c1b434 FileCheck scalar_literal_propagation. rust-lang@f3743aec51 FileCheck repeat. rust-lang@343ef6a9cb FileCheck reify_fn_ptr. rust-lang@6baec3ccc2 FileCheck ref_deref. rust-lang@c8c9207e4c FileCheck read_immutable_static. rust-lang@45dd5d6bf3 FileCheck mutable_variable_unprop_assign. rust-lang@6a8eea8f5b FileCheck mutable_variable_aggregate_partial_read. rust-lang@d91bb5074e FileCheck mutable_variable_no_prop. rust-lang@3e169abc1b FileCheck mutable_variable_aggregate_mut_ref. rust-lang@03c5ad1549 FileCheck mutable_variable_aggregate. rust-lang@ea9f968333 FileCheck mutable_variable. rust-lang@902a3e2e75 FileCheck mult_by_zero. rust-lang@8e9b912c4c FileCheck issue_67019. rust-lang@ce9b1e23a5 FileCheck issue_66971. rust-lang@218d8ccf43 FileCheck inherit_overflow. rust-lang@6086dd6766 FileCheck indirect. rust-lang@bf5d114da8 FileCheck discriminant. rust-lang@043d29b58a FileCheck and rename const_prop_fails_gracefully. rust-lang@7f328d2a44 FileCheck checked_add. rust-lang@e6a1b77cd1 FileCheck cast. rust-lang@b8f2f63931 FileCheck boxes. rust-lang@3fc03948a8 FileCheck boolean_identities. rust-lang@e8e35c8127 FileCheck bad_op_unsafe_oob_for_slices. rust-lang@97f03cb898 FileCheck bad_op_mod_by_zero. rust-lang@0d5bc872a9 FileCheck bad_op_div_by_zero. rust-lang@9f01d9d1b6 FileCheck array_index. rust-lang@6564bac532 FileCheck aggregate. rust-lang@378abbc604 FileCheck address_of_pair. rust-lang@540921e468 Stablize arc_unwrap_or_clone Co-authored-by: celinval <celinval@users.noreply.github.com>
Part of #80792.
Implementation of rust-lang/compiler-team#653.
Not an implementation of rust-lang/rfcs#2794.
It adds the
--env
compiler flag option which allows to set environment values used byenv!
andoption_env!
.Important to note: When trying to retrieve an environment variable value, it will first look into the ones defined with
--env
, and if there isn't one, then only it will look into the environment variables. So if you use--env PATH=a
, thenenv!("PATH")
will return"a"
and not the actualPATH
value.As mentioned in the title,
tracked_env
support is not added here. I'll do it in a follow-up PR.r? rust-lang/compiler