use -Z flag instead of env var

This commit is contained in:
Alex Burka 2017-11-18 20:16:10 +00:00
parent bec62c2f12
commit 7a5a1f9857
33 changed files with 83 additions and 63 deletions

View File

@ -1036,6 +1036,8 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options,
"run all passes except translation; no output"), "run all passes except translation; no output"),
treat_err_as_bug: bool = (false, parse_bool, [TRACKED], treat_err_as_bug: bool = (false, parse_bool, [TRACKED],
"treat all errors that occur as bugs"), "treat all errors that occur as bugs"),
macro_backtrace: bool = (false, parse_bool, [UNTRACKED],
"show macro backtraces even for foreign macros"),
continue_parse_after_error: bool = (false, parse_bool, [TRACKED], continue_parse_after_error: bool = (false, parse_bool, [TRACKED],
"attempt to recover from parse errors (experimental)"), "attempt to recover from parse errors (experimental)"),
incremental: Option<String> = (None, parse_opt_string, [UNTRACKED], incremental: Option<String> = (None, parse_opt_string, [UNTRACKED],

View File

@ -731,6 +731,8 @@ pub fn build_session_with_codemap(sopts: config::Options,
let treat_err_as_bug = sopts.debugging_opts.treat_err_as_bug; let treat_err_as_bug = sopts.debugging_opts.treat_err_as_bug;
let macro_backtrace = sopts.debugging_opts.macro_backtrace;
let emitter: Box<Emitter> = match (sopts.error_format, emitter_dest) { let emitter: Box<Emitter> = match (sopts.error_format, emitter_dest) {
(config::ErrorOutputType::HumanReadable(color_config), None) => { (config::ErrorOutputType::HumanReadable(color_config), None) => {
Box::new(EmitterWriter::stderr(color_config, Some(codemap.clone()), false)) Box::new(EmitterWriter::stderr(color_config, Some(codemap.clone()), false))
@ -755,6 +757,7 @@ pub fn build_session_with_codemap(sopts: config::Options,
let diagnostic_handler = let diagnostic_handler =
errors::Handler::with_emitter(can_print_warnings, errors::Handler::with_emitter(can_print_warnings,
treat_err_as_bug, treat_err_as_bug,
macro_backtrace,
emitter); emitter);
build_session_(sopts, build_session_(sopts,
@ -925,7 +928,7 @@ pub fn early_error(output: config::ErrorOutputType, msg: &str) -> ! {
Box::new(EmitterWriter::stderr(color_config, None, true)) Box::new(EmitterWriter::stderr(color_config, None, true))
} }
}; };
let handler = errors::Handler::with_emitter(true, false, emitter); let handler = errors::Handler::with_emitter(true, false, false, emitter);
handler.emit(&MultiSpan::new(), msg, errors::Level::Fatal); handler.emit(&MultiSpan::new(), msg, errors::Level::Fatal);
panic!(errors::FatalError); panic!(errors::FatalError);
} }
@ -940,7 +943,7 @@ pub fn early_warn(output: config::ErrorOutputType, msg: &str) {
Box::new(EmitterWriter::stderr(color_config, None, true)) Box::new(EmitterWriter::stderr(color_config, None, true))
} }
}; };
let handler = errors::Handler::with_emitter(true, false, emitter); let handler = errors::Handler::with_emitter(true, false, false, emitter);
handler.emit(&MultiSpan::new(), msg, errors::Level::Warning); handler.emit(&MultiSpan::new(), msg, errors::Level::Warning);
} }

View File

@ -141,7 +141,7 @@ pub fn run<F>(run_compiler: F) -> isize
errors::emitter::EmitterWriter::stderr(errors::ColorConfig::Auto, errors::emitter::EmitterWriter::stderr(errors::ColorConfig::Auto,
None, None,
true); true);
let handler = errors::Handler::with_emitter(true, false, Box::new(emitter)); let handler = errors::Handler::with_emitter(true, false, false, Box::new(emitter));
handler.emit(&MultiSpan::new(), handler.emit(&MultiSpan::new(),
"aborting due to previous error(s)", "aborting due to previous error(s)",
errors::Level::Fatal); errors::Level::Fatal);
@ -1221,7 +1221,7 @@ pub fn monitor<F: FnOnce() + Send + 'static>(f: F) {
Box::new(errors::emitter::EmitterWriter::stderr(errors::ColorConfig::Auto, Box::new(errors::emitter::EmitterWriter::stderr(errors::ColorConfig::Auto,
None, None,
false)); false));
let handler = errors::Handler::with_emitter(true, false, emitter); let handler = errors::Handler::with_emitter(true, false, false, emitter);
// a .span_bug or .bug call has already printed what // a .span_bug or .bug call has already printed what
// it wants to print. // it wants to print.

View File

@ -104,7 +104,7 @@ fn test_env<F>(source_string: &str,
let mut options = config::basic_options(); let mut options = config::basic_options();
options.debugging_opts.verbose = true; options.debugging_opts.verbose = true;
options.unstable_features = UnstableFeatures::Allow; options.unstable_features = UnstableFeatures::Allow;
let diagnostic_handler = errors::Handler::with_emitter(true, false, emitter); let diagnostic_handler = errors::Handler::with_emitter(true, false, false, emitter);
let cstore = Rc::new(CStore::new(::DefaultTransCrate::metadata_loader())); let cstore = Rc::new(CStore::new(::DefaultTransCrate::metadata_loader()));
let sess = session::build_session_(options, let sess = session::build_session_(options,

View File

@ -23,7 +23,7 @@ use syntax_pos::{MultiSpan, Span};
#[must_use] #[must_use]
#[derive(Clone)] #[derive(Clone)]
pub struct DiagnosticBuilder<'a> { pub struct DiagnosticBuilder<'a> {
handler: &'a Handler, pub handler: &'a Handler,
diagnostic: Diagnostic, diagnostic: Diagnostic,
} }

View File

@ -23,7 +23,6 @@ use std::rc::Rc;
use term; use term;
use std::collections::HashMap; use std::collections::HashMap;
use std::cmp::min; use std::cmp::min;
use std::env;
/// Emitter trait for emitting errors. /// Emitter trait for emitting errors.
pub trait Emitter { pub trait Emitter {
@ -65,8 +64,11 @@ impl Emitter for EmitterWriter {
} }
} }
self.fix_multispans_in_std_macros(&mut primary_span, &mut children); if !db.handler.macro_backtrace {
self.fix_multispans_in_std_macros(&mut primary_span, &mut children);
}
self.emit_messages_default(&db.level, self.emit_messages_default(&db.level,
db.handler.macro_backtrace,
&db.styled_message(), &db.styled_message(),
&db.code, &db.code,
&primary_span, &primary_span,
@ -787,23 +789,21 @@ impl EmitterWriter {
fn fix_multispans_in_std_macros(&mut self, fn fix_multispans_in_std_macros(&mut self,
span: &mut MultiSpan, span: &mut MultiSpan,
children: &mut Vec<SubDiagnostic>) { children: &mut Vec<SubDiagnostic>) {
if env::var_os("RUST_MACRO_BACKTRACE").is_none() { let mut spans_updated = self.fix_multispan_in_std_macros(span);
let mut spans_updated = self.fix_multispan_in_std_macros(span); for child in children.iter_mut() {
for child in children.iter_mut() { spans_updated |= self.fix_multispan_in_std_macros(&mut child.span);
spans_updated |= self.fix_multispan_in_std_macros(&mut child.span); }
} if spans_updated {
if spans_updated { children.push(SubDiagnostic {
children.push(SubDiagnostic { level: Level::Note,
level: Level::Note, message: vec![
message: vec![ (["this error originates in a macro outside of the current crate",
(["this error originates in a macro outside of the current crate", "(run with -Z macro-backtrace for more info)"].join(" "),
"(run with RUST_MACRO_BACKTRACE=1 for more info)"].join(" "), Style::NoStyle),
Style::NoStyle), ],
], span: MultiSpan::new(),
span: MultiSpan::new(), render_span: None,
render_span: None, });
});
}
} }
} }
@ -888,6 +888,7 @@ impl EmitterWriter {
msg: &Vec<(String, Style)>, msg: &Vec<(String, Style)>,
code: &Option<DiagnosticId>, code: &Option<DiagnosticId>,
level: &Level, level: &Level,
macro_backtrace: bool,
max_line_num_len: usize, max_line_num_len: usize,
is_secondary: bool) is_secondary: bool)
-> io::Result<()> { -> io::Result<()> {
@ -1085,7 +1086,7 @@ impl EmitterWriter {
} }
} }
if env::var_os("RUST_MACRO_BACKTRACE").is_some() { if macro_backtrace {
if let Some(ref primary_span) = msp.primary_span().as_ref() { if let Some(ref primary_span) = msp.primary_span().as_ref() {
self.render_macro_backtrace_old_school(primary_span, &mut buffer)?; self.render_macro_backtrace_old_school(primary_span, &mut buffer)?;
} }
@ -1182,6 +1183,7 @@ impl EmitterWriter {
} }
fn emit_messages_default(&mut self, fn emit_messages_default(&mut self,
level: &Level, level: &Level,
macro_backtrace: bool,
message: &Vec<(String, Style)>, message: &Vec<(String, Style)>,
code: &Option<DiagnosticId>, code: &Option<DiagnosticId>,
span: &MultiSpan, span: &MultiSpan,
@ -1190,7 +1192,13 @@ impl EmitterWriter {
let max_line_num = self.get_max_line_num(span, children); let max_line_num = self.get_max_line_num(span, children);
let max_line_num_len = max_line_num.to_string().len(); let max_line_num_len = max_line_num.to_string().len();
match self.emit_message_default(span, message, code, level, max_line_num_len, false) { match self.emit_message_default(span,
message,
code,
level,
macro_backtrace,
max_line_num_len,
false) {
Ok(()) => { Ok(()) => {
if !children.is_empty() { if !children.is_empty() {
let mut buffer = StyledBuffer::new(); let mut buffer = StyledBuffer::new();
@ -1210,6 +1218,7 @@ impl EmitterWriter {
&child.styled_message(), &child.styled_message(),
&None, &None,
&child.level, &child.level,
macro_backtrace,
max_line_num_len, max_line_num_len,
true) { true) {
Err(e) => panic!("failed to emit error: {}", e), Err(e) => panic!("failed to emit error: {}", e),

View File

@ -237,6 +237,7 @@ pub struct Handler {
emitter: RefCell<Box<Emitter>>, emitter: RefCell<Box<Emitter>>,
pub can_emit_warnings: bool, pub can_emit_warnings: bool,
treat_err_as_bug: bool, treat_err_as_bug: bool,
pub macro_backtrace: bool,
continue_after_error: Cell<bool>, continue_after_error: Cell<bool>,
delayed_span_bug: RefCell<Option<Diagnostic>>, delayed_span_bug: RefCell<Option<Diagnostic>>,
tracked_diagnostics: RefCell<Option<Vec<Diagnostic>>>, tracked_diagnostics: RefCell<Option<Vec<Diagnostic>>>,
@ -251,14 +252,16 @@ impl Handler {
pub fn with_tty_emitter(color_config: ColorConfig, pub fn with_tty_emitter(color_config: ColorConfig,
can_emit_warnings: bool, can_emit_warnings: bool,
treat_err_as_bug: bool, treat_err_as_bug: bool,
macro_backtrace: bool,
cm: Option<Rc<CodeMapper>>) cm: Option<Rc<CodeMapper>>)
-> Handler { -> Handler {
let emitter = Box::new(EmitterWriter::stderr(color_config, cm, false)); let emitter = Box::new(EmitterWriter::stderr(color_config, cm, false));
Handler::with_emitter(can_emit_warnings, treat_err_as_bug, emitter) Handler::with_emitter(can_emit_warnings, treat_err_as_bug, macro_backtrace, emitter)
} }
pub fn with_emitter(can_emit_warnings: bool, pub fn with_emitter(can_emit_warnings: bool,
treat_err_as_bug: bool, treat_err_as_bug: bool,
macro_backtrace: bool,
e: Box<Emitter>) e: Box<Emitter>)
-> Handler { -> Handler {
Handler { Handler {
@ -266,6 +269,7 @@ impl Handler {
emitter: RefCell::new(e), emitter: RefCell::new(e),
can_emit_warnings, can_emit_warnings,
treat_err_as_bug, treat_err_as_bug,
macro_backtrace,
continue_after_error: Cell::new(true), continue_after_error: Cell::new(true),
delayed_span_bug: RefCell::new(None), delayed_span_bug: RefCell::new(None),
tracked_diagnostics: RefCell::new(None), tracked_diagnostics: RefCell::new(None),

View File

@ -353,7 +353,7 @@ pub struct CodegenContext {
impl CodegenContext { impl CodegenContext {
pub fn create_diag_handler(&self) -> Handler { pub fn create_diag_handler(&self) -> Handler {
Handler::with_emitter(true, false, Box::new(self.diag_emitter.clone())) Handler::with_emitter(true, false, false, Box::new(self.diag_emitter.clone()))
} }
pub fn config(&self, kind: ModuleKind) -> &ModuleConfig { pub fn config(&self, kind: ModuleKind) -> &ModuleConfig {

View File

@ -141,6 +141,7 @@ pub fn run_core(search_paths: SearchPaths,
let diagnostic_handler = errors::Handler::with_tty_emitter(ColorConfig::Auto, let diagnostic_handler = errors::Handler::with_tty_emitter(ColorConfig::Auto,
true, true,
false, false,
false,
Some(codemap.clone())); Some(codemap.clone()));
let cstore = Rc::new(CStore::new(box rustc_trans::LlvmMetadataLoader)); let cstore = Rc::new(CStore::new(box rustc_trans::LlvmMetadataLoader));

View File

@ -81,7 +81,7 @@ pub fn run(input: &str,
let codemap = Rc::new(CodeMap::new(sessopts.file_path_mapping())); let codemap = Rc::new(CodeMap::new(sessopts.file_path_mapping()));
let handler = let handler =
errors::Handler::with_tty_emitter(ColorConfig::Auto, true, false, Some(codemap.clone())); errors::Handler::with_tty_emitter(ColorConfig::Auto, true, false, false, Some(codemap.clone()));
let cstore = Rc::new(CStore::new(box rustc_trans::LlvmMetadataLoader)); let cstore = Rc::new(CStore::new(box rustc_trans::LlvmMetadataLoader));
let mut sess = session::build_session_( let mut sess = session::build_session_(
@ -244,7 +244,7 @@ fn run_test(test: &str, cratename: &str, filename: &str, cfgs: Vec<String>, libs
let _bomb = Bomb(data.clone(), old.unwrap_or(box io::stdout())); let _bomb = Bomb(data.clone(), old.unwrap_or(box io::stdout()));
// Compile the code // Compile the code
let diagnostic_handler = errors::Handler::with_emitter(true, false, box emitter); let diagnostic_handler = errors::Handler::with_emitter(true, false, false, box emitter);
let cstore = Rc::new(CStore::new(box rustc_trans::LlvmMetadataLoader)); let cstore = Rc::new(CStore::new(box rustc_trans::LlvmMetadataLoader));
let mut sess = session::build_session_( let mut sess = session::build_session_(

View File

@ -1726,7 +1726,7 @@ mod tests {
Some(cm.clone()), Some(cm.clone()),
false); false);
ParseSess { ParseSess {
span_diagnostic: errors::Handler::with_emitter(true, false, Box::new(emitter)), span_diagnostic: errors::Handler::with_emitter(true, false, false, Box::new(emitter)),
unstable_features: UnstableFeatures::from_environment(), unstable_features: UnstableFeatures::from_environment(),
config: CrateConfig::new(), config: CrateConfig::new(),
included_mod_stack: RefCell::new(Vec::new()), included_mod_stack: RefCell::new(Vec::new()),

View File

@ -58,6 +58,7 @@ impl ParseSess {
let handler = Handler::with_tty_emitter(ColorConfig::Auto, let handler = Handler::with_tty_emitter(ColorConfig::Auto,
true, true,
false, false,
false,
Some(cm.clone())); Some(cm.clone()));
ParseSess::with_span_handler(handler, cm) ParseSess::with_span_handler(handler, cm)
} }

View File

@ -62,7 +62,7 @@ fn test_harness(file_text: &str, span_labels: Vec<SpanLabel>, expected_output: &
let emitter = EmitterWriter::new(Box::new(Shared { data: output.clone() }), let emitter = EmitterWriter::new(Box::new(Shared { data: output.clone() }),
Some(code_map.clone()), Some(code_map.clone()),
false); false);
let handler = Handler::with_emitter(true, false, Box::new(emitter)); let handler = Handler::with_emitter(true, false, false, Box::new(emitter));
handler.span_err(msp, "foo"); handler.span_err(msp, "foo");
assert!(expected_output.chars().next() == Some('\n'), assert!(expected_output.chars().next() == Some('\n'),

View File

@ -4,7 +4,7 @@ error: requires at least a format string argument
12 | format!(); 12 | format!();
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: expected token: `,` error: expected token: `,`
--> $DIR/bad-format-args.rs:13:5 --> $DIR/bad-format-args.rs:13:5
@ -12,7 +12,7 @@ error: expected token: `,`
13 | format!("" 1); 13 | format!("" 1);
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: expected token: `,` error: expected token: `,`
--> $DIR/bad-format-args.rs:14:5 --> $DIR/bad-format-args.rs:14:5
@ -20,7 +20,7 @@ error: expected token: `,`
14 | format!("", 1 1); 14 | format!("", 1 1);
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to 3 previous errors error: aborting due to 3 previous errors

View File

@ -4,7 +4,7 @@ error[E0600]: cannot apply unary operator `!` to type `&'static str`
12 | assert!("foo"); 12 | assert!("foo");
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -4,7 +4,7 @@ error: 1 positional argument in format string, but no arguments were given
16 | myprintln!("{}"); //~ ERROR in this macro 16 | myprintln!("{}"); //~ ERROR in this macro
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -5,7 +5,7 @@ error: invalid format string: expected `'}'` but string was terminated
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
| |
= note: if you intended to print `{`, you can escape it using `{{` = note: if you intended to print `{`, you can escape it using `{{`
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: invalid format string: unmatched `}` found error: invalid format string: unmatched `}` found
--> $DIR/format-string-error.rs:14:5 --> $DIR/format-string-error.rs:14:5
@ -14,7 +14,7 @@ error: invalid format string: unmatched `}` found
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
| |
= note: if you intended to print `}`, you can escape it using `}}` = note: if you intended to print `}`, you can escape it using `}}`
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -9,7 +9,7 @@ error[E0597]: borrowed value does not live long enough
| - temporary value needs to live until here | - temporary value needs to live until here
| |
= note: consider using a `let` binding to increase its lifetime = note: consider using a `let` binding to increase its lifetime
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -10,7 +10,7 @@
// Test that the macro backtrace facility works // Test that the macro backtrace facility works
// aux-build:ping.rs // aux-build:ping.rs
// rustc-env:RUST_MACRO_BACKTRACE // compile-flags: -Z macro-backtrace
#[macro_use] extern crate ping; #[macro_use] extern crate ping;

View File

@ -11,7 +11,7 @@ error: multiple unused formatting arguments
= help: `%.*3$s` should be written as `{:.2$}` = help: `%.*3$s` should be written as `{:.2$}`
= help: `%s` should be written as `{}` = help: `%s` should be written as `{}`
= note: printf formatting not supported; see the documentation for `std::fmt` = note: printf formatting not supported; see the documentation for `std::fmt`
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: argument never used error: argument never used
--> $DIR/format-foreign.rs:13:29 --> $DIR/format-foreign.rs:13:29

View File

@ -8,7 +8,7 @@ error: multiple unused formatting arguments
| | unused | | unused
| unused | unused
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: multiple unused formatting arguments error: multiple unused formatting arguments
--> $DIR/format-unused-lables.rs:14:5 --> $DIR/format-unused-lables.rs:14:5
@ -23,7 +23,7 @@ error: multiple unused formatting arguments
18 | | ); 18 | | );
| |______^ | |______^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: named argument never used error: named argument never used
--> $DIR/format-unused-lables.rs:20:35 --> $DIR/format-unused-lables.rs:20:35
@ -47,7 +47,7 @@ error: multiple unused formatting arguments
| |
= help: `$STUFF` should be written as `{STUFF}` = help: `$STUFF` should be written as `{STUFF}`
= note: shell formatting not supported; see the documentation for `std::fmt` = note: shell formatting not supported; see the documentation for `std::fmt`
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to 4 previous errors error: aborting due to 4 previous errors

View File

@ -9,7 +9,7 @@ note: lint level defined here
| |
13 | #![deny(unreachable_code)] 13 | #![deny(unreachable_code)]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -16,7 +16,7 @@ error: unreachable statement
36 | println!("foo"); 36 | println!("foo");
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -9,7 +9,7 @@ note: lint level defined here
| |
14 | #![deny(unreachable_code)] 14 | #![deny(unreachable_code)]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -9,7 +9,7 @@ note: lint level defined here
| |
14 | #![deny(unreachable_code)] 14 | #![deny(unreachable_code)]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: unreachable statement error: unreachable statement
--> $DIR/expr_loop.rs:31:5 --> $DIR/expr_loop.rs:31:5
@ -17,7 +17,7 @@ error: unreachable statement
31 | println!("I am dead."); 31 | println!("I am dead.");
| ^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: unreachable statement error: unreachable statement
--> $DIR/expr_loop.rs:41:5 --> $DIR/expr_loop.rs:41:5
@ -25,7 +25,7 @@ error: unreachable statement
41 | println!("I am dead."); 41 | println!("I am dead.");
| ^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to 3 previous errors error: aborting due to 3 previous errors

View File

@ -16,7 +16,7 @@ error: unreachable statement
25 | println!("I am dead"); 25 | println!("I am dead");
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: unreachable statement error: unreachable statement
--> $DIR/expr_match.rs:35:5 --> $DIR/expr_match.rs:35:5
@ -24,7 +24,7 @@ error: unreachable statement
35 | println!("I am dead"); 35 | println!("I am dead");
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to 3 previous errors error: aborting due to 3 previous errors

View File

@ -9,7 +9,7 @@ note: lint level defined here
| |
14 | #![deny(unreachable_code)] 14 | #![deny(unreachable_code)]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: unreachable statement error: unreachable statement
--> $DIR/expr_while.rs:33:9 --> $DIR/expr_while.rs:33:9
@ -17,7 +17,7 @@ error: unreachable statement
33 | println!("I am dead."); 33 | println!("I am dead.");
| ^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: unreachable statement error: unreachable statement
--> $DIR/expr_while.rs:35:5 --> $DIR/expr_while.rs:35:5
@ -25,7 +25,7 @@ error: unreachable statement
35 | println!("I am, too."); 35 | println!("I am, too.");
| ^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to 3 previous errors error: aborting due to 3 previous errors

View File

@ -56,7 +56,7 @@ error[E0308]: mismatched types
= note: expected type `&mut std::string::String` = note: expected type `&mut std::string::String`
found type `std::string::String` found type `std::string::String`
= help: try with `&mut format!("foo")` = help: try with `&mut format!("foo")`
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to 6 previous errors error: aborting due to 6 previous errors

View File

@ -6,7 +6,7 @@ error[E0308]: mismatched types
| |
= note: expected type `std::fmt::Arguments<'_>` = note: expected type `std::fmt::Arguments<'_>`
found type `std::string::String` found type `std::string::String`
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -8,7 +8,7 @@ error[E0597]: `foo` does not live long enough
| | borrow occurs here | | borrow occurs here
| borrowed value needs to live until here | borrowed value needs to live until here
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -9,7 +9,7 @@ error[E0597]: borrowed value does not live long enough
19 | } 19 | }
| - temporary value needs to live until here | - temporary value needs to live until here
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -6,7 +6,7 @@ error[E0282]: type annotations needed
| | | |
| consider giving `x` a type | consider giving `x` a type
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -6,7 +6,7 @@ error[E0282]: type annotations needed
| | | |
| consider giving the pattern a type | consider giving the pattern a type
| |
= note: this error originates in a macro outside of the current crate (run with RUST_MACRO_BACKTRACE=1 for more info) = note: this error originates in a macro outside of the current crate (run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error