mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
Auto merge of #122676 - matthiaskrgr:rollup-noti0vr, r=matthiaskrgr
Rollup of 4 pull requests Successful merges: - #122639 (Fix typos) - #122654 (interpret/memory: explain why we use == on bool) - #122656 (simplify_cfg: rename some passes so that they make more sense) - #122657 (Move `option_env!` and `env!` tests to the `env-macro` directory) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
a42873e85b
@ -949,6 +949,8 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||
/// Runs the close in "validation" mode, which means the machine's memory read hooks will be
|
||||
/// suppressed. Needless to say, this must only be set with great care! Cannot be nested.
|
||||
pub(super) fn run_for_validation<R>(&self, f: impl FnOnce() -> R) -> R {
|
||||
// This deliberately uses `==` on `bool` to follow the pattern
|
||||
// `assert!(val.replace(new) == old)`.
|
||||
assert!(
|
||||
self.memory.validation_in_progress.replace(true) == false,
|
||||
"`validation_in_progress` was already set"
|
||||
|
@ -1935,7 +1935,7 @@ impl<'a, 'tcx> ProbeContext<'a, 'tcx> {
|
||||
}
|
||||
}
|
||||
|
||||
/// Determine if the associated item withe the given DefId matches
|
||||
/// Determine if the associated item with the given DefId matches
|
||||
/// the desired name via a doc alias.
|
||||
fn matches_by_doc_alias(&self, def_id: DefId) -> bool {
|
||||
let Some(name) = self.method_name else {
|
||||
|
@ -774,7 +774,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
|
||||
let (current_root, parent_root) =
|
||||
if self.tcx.sess.opts.unstable_opts.maximal_hir_to_mir_coverage {
|
||||
// Some consumers of rustc need to map MIR locations back to HIR nodes. Currently
|
||||
// the the only part of rustc that tracks MIR -> HIR is the
|
||||
// the only part of rustc that tracks MIR -> HIR is the
|
||||
// `SourceScopeLocalData::lint_root` field that tracks lint levels for MIR
|
||||
// locations. Normally the number of source scopes is limited to the set of nodes
|
||||
// with lint annotations. The -Zmaximal-hir-to-mir-coverage flag changes this
|
||||
|
@ -507,7 +507,7 @@ fn run_analysis_cleanup_passes<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
|
||||
let passes: &[&dyn MirPass<'tcx>] = &[
|
||||
&cleanup_post_borrowck::CleanupPostBorrowck,
|
||||
&remove_noop_landing_pads::RemoveNoopLandingPads,
|
||||
&simplify::SimplifyCfg::EarlyOpt,
|
||||
&simplify::SimplifyCfg::PostAnalysis,
|
||||
&deref_separator::Derefer,
|
||||
];
|
||||
|
||||
@ -544,7 +544,7 @@ fn run_runtime_cleanup_passes<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
|
||||
let passes: &[&dyn MirPass<'tcx>] = &[
|
||||
&lower_intrinsics::LowerIntrinsics,
|
||||
&remove_place_mention::RemovePlaceMention,
|
||||
&simplify::SimplifyCfg::ElaborateDrops,
|
||||
&simplify::SimplifyCfg::PreOptimizations,
|
||||
];
|
||||
|
||||
pm::run_passes(tcx, body, passes, Some(MirPhase::Runtime(RuntimePhase::PostCleanup)));
|
||||
|
@ -37,8 +37,11 @@ pub enum SimplifyCfg {
|
||||
Initial,
|
||||
PromoteConsts,
|
||||
RemoveFalseEdges,
|
||||
EarlyOpt,
|
||||
ElaborateDrops,
|
||||
/// Runs at the beginning of "analysis to runtime" lowering, *before* drop elaboration.
|
||||
PostAnalysis,
|
||||
/// Runs at the end of "analysis to runtime" lowering, *after* drop elaboration.
|
||||
/// This is before the main optimization passes on runtime MIR kick in.
|
||||
PreOptimizations,
|
||||
Final,
|
||||
MakeShim,
|
||||
AfterUninhabitedEnumBranching,
|
||||
@ -50,8 +53,8 @@ impl SimplifyCfg {
|
||||
SimplifyCfg::Initial => "SimplifyCfg-initial",
|
||||
SimplifyCfg::PromoteConsts => "SimplifyCfg-promote-consts",
|
||||
SimplifyCfg::RemoveFalseEdges => "SimplifyCfg-remove-false-edges",
|
||||
SimplifyCfg::EarlyOpt => "SimplifyCfg-early-opt",
|
||||
SimplifyCfg::ElaborateDrops => "SimplifyCfg-elaborate-drops",
|
||||
SimplifyCfg::PostAnalysis => "SimplifyCfg-post-analysis",
|
||||
SimplifyCfg::PreOptimizations => "SimplifyCfg-pre-optimizations",
|
||||
SimplifyCfg::Final => "SimplifyCfg-final",
|
||||
SimplifyCfg::MakeShim => "SimplifyCfg-make_shim",
|
||||
SimplifyCfg::AfterUninhabitedEnumBranching => {
|
||||
|
@ -968,8 +968,6 @@
|
||||
"ui/errors/issue-89280-emitter-overflow-splice-lines.rs",
|
||||
"ui/errors/issue-99572-impl-trait-on-pointer.rs",
|
||||
"ui/expr/if/issue-4201.rs",
|
||||
"ui/extenv/issue-110547.rs",
|
||||
"ui/extenv/issue-55897.rs",
|
||||
"ui/extern/auxiliary/issue-80074-macro-2.rs",
|
||||
"ui/extern/auxiliary/issue-80074-macro.rs",
|
||||
"ui/extern/issue-10025.rs",
|
||||
|
@ -18,7 +18,7 @@ const ENTRY_LIMIT: usize = 900;
|
||||
// FIXME: The following limits should be reduced eventually.
|
||||
|
||||
const ISSUES_ENTRY_LIMIT: usize = 1750;
|
||||
const ROOT_ENTRY_LIMIT: usize = 866;
|
||||
const ROOT_ENTRY_LIMIT: usize = 859;
|
||||
|
||||
const EXPECTED_TEST_FILE_EXTENSIONS: &[&str] = &[
|
||||
"rs", // test source files
|
||||
|
@ -1,4 +1,4 @@
|
||||
// MIR for `main` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `main` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: ();
|
@ -1,4 +1,4 @@
|
||||
// MIR for `main` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `main` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: ();
|
@ -1,4 +1,4 @@
|
||||
//@ unit-test: SimplifyCfg-elaborate-drops
|
||||
//@ unit-test: SimplifyCfg-pre-optimizations
|
||||
// EMIT_MIR_FOR_EACH_PANIC_STRATEGY
|
||||
// Retagging (from Stacked Borrows) relies on the array index being a fresh
|
||||
// temporary, so that side-effects cannot change it.
|
||||
@ -10,7 +10,7 @@ unsafe fn foo(z: *mut usize) -> u32 {
|
||||
}
|
||||
|
||||
|
||||
// EMIT_MIR array_index_is_temporary.main.SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR array_index_is_temporary.main.SimplifyCfg-pre-optimizations.after.mir
|
||||
fn main() {
|
||||
// CHECK-LABEL: fn main(
|
||||
// CHECK: debug x => [[x:_.*]];
|
||||
|
@ -1,4 +1,4 @@
|
||||
// MIR for `main` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `main` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: ();
|
@ -1,7 +1,7 @@
|
||||
// skip-filecheck
|
||||
//@ compile-flags: -Z mir-opt-level=0
|
||||
|
||||
// EMIT_MIR byte_slice.main.SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR byte_slice.main.SimplifyCfg-pre-optimizations.after.mir
|
||||
fn main() {
|
||||
let x = b"foo";
|
||||
let y = [5u8, b'x'];
|
||||
|
@ -1,4 +1,4 @@
|
||||
// MIR for `BAR::promoted[0]` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `BAR::promoted[0]` after SimplifyCfg-pre-optimizations
|
||||
|
||||
const BAR::promoted[0]: &[&i32; 1] = {
|
||||
let mut _0: &[&i32; 1];
|
@ -1,4 +1,4 @@
|
||||
// MIR for `FOO::promoted[0]` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `FOO::promoted[0]` after SimplifyCfg-pre-optimizations
|
||||
|
||||
const FOO::promoted[0]: &[&i32; 1] = {
|
||||
let mut _0: &[&i32; 1];
|
@ -6,11 +6,11 @@ extern "C" {
|
||||
static Y: i32 = 42;
|
||||
|
||||
// EMIT_MIR const_promotion_extern_static.BAR.PromoteTemps.diff
|
||||
// EMIT_MIR const_promotion_extern_static.BAR-promoted[0].SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR const_promotion_extern_static.BAR-promoted[0].SimplifyCfg-pre-optimizations.after.mir
|
||||
static mut BAR: *const &i32 = [&Y].as_ptr();
|
||||
|
||||
// EMIT_MIR const_promotion_extern_static.FOO.PromoteTemps.diff
|
||||
// EMIT_MIR const_promotion_extern_static.FOO-promoted[0].SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR const_promotion_extern_static.FOO-promoted[0].SimplifyCfg-pre-optimizations.after.mir
|
||||
static mut FOO: *const &i32 = [unsafe { &X }].as_ptr();
|
||||
|
||||
// EMIT_MIR const_promotion_extern_static.BOP.built.after.mir
|
||||
|
@ -4,7 +4,7 @@
|
||||
// Ensure that there are no drop terminators in `unwrap<T>` (except the one along the cleanup
|
||||
// path).
|
||||
|
||||
// EMIT_MIR no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.mir
|
||||
fn unwrap<T>(opt: Option<T>) -> T {
|
||||
match opt {
|
||||
Some(x) => x,
|
||||
|
@ -1,4 +1,4 @@
|
||||
// MIR for `unwrap` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `unwrap` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn unwrap(_1: Option<T>) -> T {
|
||||
debug opt => _1;
|
@ -1,4 +1,4 @@
|
||||
// MIR for `unwrap` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `unwrap` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn unwrap(_1: Option<T>) -> T {
|
||||
debug opt => _1;
|
@ -1,4 +1,4 @@
|
||||
// MIR for `main` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `main` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: ();
|
@ -1,4 +1,4 @@
|
||||
// MIR for `main` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `main` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: ();
|
@ -2,7 +2,7 @@
|
||||
// EMIT_MIR_FOR_EACH_PANIC_STRATEGY
|
||||
|
||||
|
||||
// EMIT_MIR packed_struct_drop_aligned.main.SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR packed_struct_drop_aligned.main.SimplifyCfg-pre-optimizations.after.mir
|
||||
fn main() {
|
||||
let mut x = Packed(Aligned(Droppy(0)));
|
||||
x.0 = Aligned(Droppy(0));
|
||||
|
@ -1,4 +1,4 @@
|
||||
// MIR for `array_casts` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `array_casts` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn array_casts() -> () {
|
||||
let mut _0: ();
|
@ -1,4 +1,4 @@
|
||||
// MIR for `array_casts` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `array_casts` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn array_casts() -> () {
|
||||
let mut _0: ();
|
@ -1,4 +1,4 @@
|
||||
// MIR for `main::{closure#0}` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `main::{closure#0}` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn main::{closure#0}(_1: &{closure@main::{closure#0}}, _2: &i32) -> &i32 {
|
||||
debug x => _2;
|
@ -1,4 +1,4 @@
|
||||
// MIR for `main::{closure#0}` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `main::{closure#0}` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn main::{closure#0}(_1: &{closure@main::{closure#0}}, _2: &i32) -> &i32 {
|
||||
debug x => _2;
|
@ -1,4 +1,4 @@
|
||||
// MIR for `main` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `main` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: ();
|
@ -1,4 +1,4 @@
|
||||
// MIR for `main` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `main` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: ();
|
@ -8,8 +8,8 @@
|
||||
|
||||
struct Test(i32);
|
||||
|
||||
// EMIT_MIR retag.{impl#0}-foo.SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR retag.{impl#0}-foo_shr.SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR retag.{impl#0}-foo.SimplifyCfg-pre-optimizations.after.mir
|
||||
// EMIT_MIR retag.{impl#0}-foo_shr.SimplifyCfg-pre-optimizations.after.mir
|
||||
impl Test {
|
||||
// Make sure we run the pass on a method, not just on bare functions.
|
||||
fn foo<'x>(&self, x: &'x mut i32) -> &'x mut i32 {
|
||||
@ -26,8 +26,8 @@ impl Drop for Test {
|
||||
fn drop(&mut self) {}
|
||||
}
|
||||
|
||||
// EMIT_MIR retag.main.SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR retag.main-{closure#0}.SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR retag.main.SimplifyCfg-pre-optimizations.after.mir
|
||||
// EMIT_MIR retag.main-{closure#0}.SimplifyCfg-pre-optimizations.after.mir
|
||||
pub fn main() {
|
||||
let mut x = 0;
|
||||
{
|
||||
@ -55,7 +55,7 @@ pub fn main() {
|
||||
}
|
||||
|
||||
/// Casting directly to an array should also go through `&raw` and thus add appropriate retags.
|
||||
// EMIT_MIR retag.array_casts.SimplifyCfg-elaborate-drops.after.mir
|
||||
// EMIT_MIR retag.array_casts.SimplifyCfg-pre-optimizations.after.mir
|
||||
fn array_casts() {
|
||||
let mut x: [usize; 2] = [0, 0];
|
||||
let p = &mut x as *mut usize;
|
||||
|
@ -1,4 +1,4 @@
|
||||
// MIR for `<impl at $DIR/retag.rs:13:1: 13:10>::foo` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `<impl at $DIR/retag.rs:13:1: 13:10>::foo` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn <impl at $DIR/retag.rs:13:1: 13:10>::foo(_1: &Test, _2: &mut i32) -> &mut i32 {
|
||||
debug self => _1;
|
@ -1,4 +1,4 @@
|
||||
// MIR for `<impl at $DIR/retag.rs:13:1: 13:10>::foo` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `<impl at $DIR/retag.rs:13:1: 13:10>::foo` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn <impl at $DIR/retag.rs:13:1: 13:10>::foo(_1: &Test, _2: &mut i32) -> &mut i32 {
|
||||
debug self => _1;
|
@ -1,4 +1,4 @@
|
||||
// MIR for `<impl at $DIR/retag.rs:13:1: 13:10>::foo_shr` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `<impl at $DIR/retag.rs:13:1: 13:10>::foo_shr` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn <impl at $DIR/retag.rs:13:1: 13:10>::foo_shr(_1: &Test, _2: &i32) -> &i32 {
|
||||
debug self => _1;
|
@ -1,4 +1,4 @@
|
||||
// MIR for `<impl at $DIR/retag.rs:13:1: 13:10>::foo_shr` after SimplifyCfg-elaborate-drops
|
||||
// MIR for `<impl at $DIR/retag.rs:13:1: 13:10>::foo_shr` after SimplifyCfg-pre-optimizations
|
||||
|
||||
fn <impl at $DIR/retag.rs:13:1: 13:10>::foo_shr(_1: &Test, _2: &i32) -> &i32 {
|
||||
debug self => _1;
|
@ -1,5 +1,5 @@
|
||||
- // MIR for `main` before SimplifyCfg-early-opt
|
||||
+ // MIR for `main` after SimplifyCfg-early-opt
|
||||
- // MIR for `main` before SimplifyCfg-post-analysis
|
||||
+ // MIR for `main` after SimplifyCfg-post-analysis
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: ();
|
@ -4,7 +4,7 @@
|
||||
//@ no-prefer-dynamic
|
||||
|
||||
// EMIT_MIR simplify_cfg.main.SimplifyCfg-initial.diff
|
||||
// EMIT_MIR simplify_cfg.main.SimplifyCfg-early-opt.diff
|
||||
// EMIT_MIR simplify_cfg.main.SimplifyCfg-post-analysis.diff
|
||||
fn main() {
|
||||
loop {
|
||||
if bar() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: expected string literal
|
||||
--> $DIR/extenv-arg-2-not-string-literal.rs:1:25
|
||||
--> $DIR/env-arg-2-not-string-literal.rs:1:25
|
||||
|
|
||||
LL | fn main() { env!("one", 10); }
|
||||
| ^^
|
@ -1,5 +1,5 @@
|
||||
error: environment variable `\t` not defined at compile time
|
||||
--> $DIR/extenv-escaped-var.rs:2:5
|
||||
--> $DIR/env-escaped-var.rs:2:5
|
||||
|
|
||||
LL | env!("\t");
|
||||
| ^^^^^^^^^^
|
@ -1,5 +1,5 @@
|
||||
error: `env!()` takes 1 or 2 arguments
|
||||
--> $DIR/extenv-no-args.rs:1:13
|
||||
--> $DIR/env-no-args.rs:1:13
|
||||
|
|
||||
LL | fn main() { env!(); }
|
||||
| ^^^^^^
|
@ -1,5 +1,5 @@
|
||||
error: my error message
|
||||
--> $DIR/extenv-not-defined-custom.rs:1:13
|
||||
--> $DIR/env-not-defined-custom.rs:1:13
|
||||
|
|
||||
LL | fn main() { env!("__HOPEFULLY_NOT_DEFINED__", "my error message"); }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
@ -1,5 +1,5 @@
|
||||
error: environment variable `CARGO__HOPEFULLY_NOT_DEFINED__` not defined at compile time
|
||||
--> $DIR/extenv-not-defined-default.rs:2:5
|
||||
--> $DIR/env-not-defined-default.rs:2:5
|
||||
|
|
||||
LL | env!("CARGO__HOPEFULLY_NOT_DEFINED__");
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
@ -1,5 +1,5 @@
|
||||
error: expected string literal
|
||||
--> $DIR/extenv-not-string-literal.rs:1:18
|
||||
--> $DIR/env-not-string-literal.rs:1:18
|
||||
|
|
||||
LL | fn main() { env!(10, "two"); }
|
||||
| ^^
|
@ -1,5 +1,5 @@
|
||||
error: `env!()` takes 1 or 2 arguments
|
||||
--> $DIR/extenv-too-many-args.rs:1:13
|
||||
--> $DIR/env-too-many-args.rs:1:13
|
||||
|
|
||||
LL | fn main() { env!("one", "two", "three"); }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
@ -1,5 +1,5 @@
|
||||
error: environment variable `NON_EXISTENT` not defined at compile time
|
||||
--> $DIR/issue-55897.rs:10:22
|
||||
--> $DIR/error-recovery-issue-55897.rs:10:22
|
||||
|
|
||||
LL | include!(concat!(env!("NON_EXISTENT"), "/data.rs"));
|
||||
| ^^^^^^^^^^^^^^^^^^^^
|
||||
@ -8,13 +8,13 @@ LL | include!(concat!(env!("NON_EXISTENT"), "/data.rs"));
|
||||
= note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: suffixes on string literals are invalid
|
||||
--> $DIR/issue-55897.rs:15:22
|
||||
--> $DIR/error-recovery-issue-55897.rs:15:22
|
||||
|
|
||||
LL | include!(concat!("NON_EXISTENT"suffix, "/data.rs"));
|
||||
| ^^^^^^^^^^^^^^^^^^^^ invalid suffix `suffix`
|
||||
|
||||
error[E0432]: unresolved import `prelude`
|
||||
--> $DIR/issue-55897.rs:1:5
|
||||
--> $DIR/error-recovery-issue-55897.rs:1:5
|
||||
|
|
||||
LL | use prelude::*;
|
||||
| ^^^^^^^
|
||||
@ -23,7 +23,7 @@ LL | use prelude::*;
|
||||
| help: a similar path exists: `std::prelude`
|
||||
|
||||
error[E0432]: unresolved import `env`
|
||||
--> $DIR/issue-55897.rs:4:9
|
||||
--> $DIR/error-recovery-issue-55897.rs:4:9
|
||||
|
|
||||
LL | use env;
|
||||
| ^^^ no `env` in the root
|
@ -1,5 +1,5 @@
|
||||
error: environment variable `\t` not defined at compile time
|
||||
--> $DIR/issue-110547.rs:4:5
|
||||
--> $DIR/name-whitespace-issue-110547.rs:4:5
|
||||
|
|
||||
LL | env!{"\t"};
|
||||
| ^^^^^^^^^^
|
||||
@ -8,7 +8,7 @@ LL | env!{"\t"};
|
||||
= note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: environment variable `\t` not defined at compile time
|
||||
--> $DIR/issue-110547.rs:5:5
|
||||
--> $DIR/name-whitespace-issue-110547.rs:5:5
|
||||
|
|
||||
LL | env!("\t");
|
||||
| ^^^^^^^^^^
|
||||
@ -17,7 +17,7 @@ LL | env!("\t");
|
||||
= note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: environment variable `\u{2069}` not defined at compile time
|
||||
--> $DIR/issue-110547.rs:6:5
|
||||
--> $DIR/name-whitespace-issue-110547.rs:6:5
|
||||
|
|
||||
LL | env!("\u{2069}");
|
||||
| ^^^^^^^^^^^^^^^^
|
@ -1,5 +1,5 @@
|
||||
error: option_env! takes 1 argument
|
||||
--> $DIR/extoption_env-no-args.rs:1:13
|
||||
--> $DIR/option_env-no-args.rs:1:13
|
||||
|
|
||||
LL | fn main() { option_env!(); }
|
||||
| ^^^^^^^^^^^^^
|
@ -1,5 +1,5 @@
|
||||
error: argument must be a string literal
|
||||
--> $DIR/extoption_env-not-string-literal.rs:1:25
|
||||
--> $DIR/option_env-not-string-literal.rs:1:25
|
||||
|
|
||||
LL | fn main() { option_env!(10); }
|
||||
| ^^
|
@ -1,5 +1,5 @@
|
||||
error: option_env! takes 1 argument
|
||||
--> $DIR/extoption_env-too-many-args.rs:1:13
|
||||
--> $DIR/option_env-too-many-args.rs:1:13
|
||||
|
|
||||
LL | fn main() { option_env!("one", "two"); }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
Loading…
Reference in New Issue
Block a user