diff options
| author | Jubilee Young <workingjubilee@gmail.com> | 2024-05-19 19:59:06 -0700 |
|---|---|---|
| committer | Jubilee Young <workingjubilee@gmail.com> | 2024-05-19 20:09:03 -0700 |
| commit | b6d0d6da553d3836767b484530b23ad89807f470 (patch) | |
| tree | a890f7d31382a0a03cdfb01ff494b7abe91c4b3f /compiler/rustc_interface/src/util.rs | |
| parent | 9985821b2fe20a969b799ec920563170fcc45d8f (diff) | |
| download | rust-b6d0d6da553d3836767b484530b23ad89807f470.tar.gz rust-b6d0d6da553d3836767b484530b23ad89807f470.zip | |
note value of RUST_MIN_STACK and explain unsetting
Diffstat (limited to 'compiler/rustc_interface/src/util.rs')
| -rw-r--r-- | compiler/rustc_interface/src/util.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/compiler/rustc_interface/src/util.rs b/compiler/rustc_interface/src/util.rs index f549ae49012..ce2382b9501 100644 --- a/compiler/rustc_interface/src/util.rs +++ b/compiler/rustc_interface/src/util.rs @@ -65,9 +65,15 @@ fn init_stack_size(early_dcx: &EarlyDiagCtxt) -> usize { // so no one thinks we parsed them setting `RUST_MIN_STACK="64 megabytes"` // FIXME: we could accept `RUST_MIN_STACK=64MB`, perhaps? .map(|s| { - s.trim().parse::<usize>().unwrap_or_else(|_| { - #[allow(rustc::untranslatable_diagnostic)] - early_dcx.early_fatal("`RUST_MIN_STACK` should be unset or a number of bytes") + let s = s.trim(); + // FIXME(workingjubilee): add proper diagnostics when we factor out "pre-run" setup + #[allow(rustc::untranslatable_diagnostic, rustc::diagnostic_outside_of_impl)] + s.parse::<usize>().unwrap_or_else(|_| { + let mut err = early_dcx.early_struct_fatal(format!( + r#"`RUST_MIN_STACK` should be a number of bytes, but was "{s}""#, + )); + err.note("you can also unset `RUST_MIN_STACK` to use the default stack size"); + err.emit() }) }) // otherwise pick a consistent default |
