mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 15:01:51 +00:00
Auto merge of #48337 - GuillaumeGomez:rustc-explain, r=estebank
Rustc explain Fixes #48041. To make the review easier, I separated tests update to code update. Also, I used this script to generate new ui tests stderr: ```python from os import listdir from os.path import isdir, isfile, join PATH = "src/test/ui" def do_something(path): files = [join(path, f) for f in listdir(path)] for f in files: if isdir(f): do_something(f) continue if not isfile(f) or not f.endswith(".stderr"): continue x = open(f, "r") content = x.read().strip() if "error[E" not in content: continue errors = dict() for y in content.splitlines(): if y.startswith("error[E"): errors[y[6:11]] = True errors = sorted(errors.keys()) if len(errors) < 1: print("weird... {}".format(f)) continue if len(errors) > 1: content += "\n\nYou've got a few errors: {}".format(", ".join(errors)) content += "\nIf you want more information on an error, try using \"rustc --explain {}\"".format(errors[0]) else: content += "\n\nIf you want more information on this error, try using \"rustc --explain {}\"".format(errors[0]) content += "\n" x = open(f, "w") x.write(content) do_something(PATH) ```
This commit is contained in:
commit
bedbad6119
@ -21,7 +21,7 @@ use std::io::prelude::*;
|
||||
use std::io;
|
||||
use std::rc::Rc;
|
||||
use term;
|
||||
use std::collections::HashMap;
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::cmp::min;
|
||||
use unicode_width;
|
||||
|
||||
@ -107,6 +107,7 @@ pub struct EmitterWriter {
|
||||
cm: Option<Rc<CodeMapper>>,
|
||||
short_message: bool,
|
||||
teach: bool,
|
||||
error_codes: HashSet<String>,
|
||||
}
|
||||
|
||||
struct FileWithAnnotatedLines {
|
||||
@ -115,6 +116,33 @@ struct FileWithAnnotatedLines {
|
||||
multiline_depth: usize,
|
||||
}
|
||||
|
||||
impl Drop for EmitterWriter {
|
||||
fn drop(&mut self) {
|
||||
if !self.short_message && !self.error_codes.is_empty() {
|
||||
let mut error_codes = self.error_codes.clone().into_iter().collect::<Vec<_>>();
|
||||
error_codes.sort();
|
||||
if error_codes.len() > 1 {
|
||||
let limit = if error_codes.len() > 9 { 9 } else { error_codes.len() };
|
||||
writeln!(self.dst,
|
||||
"You've got a few errors: {}{}",
|
||||
error_codes[..limit].join(", "),
|
||||
if error_codes.len() > 9 { "..." } else { "" }
|
||||
).expect("failed to give tips...");
|
||||
writeln!(self.dst,
|
||||
"If you want more information on an error, try using \
|
||||
\"rustc --explain {}\"",
|
||||
&error_codes[0]).expect("failed to give tips...");
|
||||
} else {
|
||||
writeln!(self.dst,
|
||||
"If you want more information on this error, try using \
|
||||
\"rustc --explain {}\"",
|
||||
&error_codes[0]).expect("failed to give tips...");
|
||||
}
|
||||
self.dst.flush().expect("failed to emit errors");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl EmitterWriter {
|
||||
pub fn stderr(color_config: ColorConfig,
|
||||
code_map: Option<Rc<CodeMapper>>,
|
||||
@ -128,6 +156,7 @@ impl EmitterWriter {
|
||||
cm: code_map,
|
||||
short_message,
|
||||
teach,
|
||||
error_codes: HashSet::new(),
|
||||
}
|
||||
} else {
|
||||
EmitterWriter {
|
||||
@ -135,6 +164,7 @@ impl EmitterWriter {
|
||||
cm: code_map,
|
||||
short_message,
|
||||
teach,
|
||||
error_codes: HashSet::new(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -149,6 +179,7 @@ impl EmitterWriter {
|
||||
cm: code_map,
|
||||
short_message,
|
||||
teach,
|
||||
error_codes: HashSet::new(),
|
||||
}
|
||||
}
|
||||
|
||||
@ -975,12 +1006,14 @@ impl EmitterWriter {
|
||||
if primary_span != &&DUMMY_SP {
|
||||
(cm.lookup_char_pos(primary_span.lo()), cm)
|
||||
} else {
|
||||
emit_to_destination(&buffer.render(), level, &mut self.dst, self.short_message)?;
|
||||
emit_to_destination(&buffer.render(), level, &mut self.dst, self.short_message,
|
||||
&mut self.error_codes)?;
|
||||
return Ok(());
|
||||
}
|
||||
} else {
|
||||
// If we don't have span information, emit and exit
|
||||
emit_to_destination(&buffer.render(), level, &mut self.dst, self.short_message)?;
|
||||
emit_to_destination(&buffer.render(), level, &mut self.dst, self.short_message,
|
||||
&mut self.error_codes)?;
|
||||
return Ok(());
|
||||
};
|
||||
if let Ok(pos) =
|
||||
@ -1153,7 +1186,8 @@ impl EmitterWriter {
|
||||
}
|
||||
|
||||
// final step: take our styled buffer, render it, then output it
|
||||
emit_to_destination(&buffer.render(), level, &mut self.dst, self.short_message)?;
|
||||
emit_to_destination(&buffer.render(), level, &mut self.dst, self.short_message,
|
||||
&mut self.error_codes)?;
|
||||
|
||||
Ok(())
|
||||
|
||||
@ -1241,7 +1275,8 @@ impl EmitterWriter {
|
||||
let msg = format!("and {} other candidates", suggestions.len() - MAX_SUGGESTIONS);
|
||||
buffer.puts(row_num, 0, &msg, Style::NoStyle);
|
||||
}
|
||||
emit_to_destination(&buffer.render(), level, &mut self.dst, self.short_message)?;
|
||||
emit_to_destination(&buffer.render(), level, &mut self.dst, self.short_message,
|
||||
&mut self.error_codes)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
@ -1269,7 +1304,7 @@ impl EmitterWriter {
|
||||
draw_col_separator_no_space(&mut buffer, 0, max_line_num_len + 1);
|
||||
}
|
||||
match emit_to_destination(&buffer.render(), level, &mut self.dst,
|
||||
self.short_message) {
|
||||
self.short_message, &mut self.error_codes) {
|
||||
Ok(()) => (),
|
||||
Err(e) => panic!("failed to emit error: {}", e)
|
||||
}
|
||||
@ -1362,7 +1397,8 @@ fn overlaps(a1: &Annotation, a2: &Annotation, padding: usize) -> bool {
|
||||
fn emit_to_destination(rendered_buffer: &Vec<Vec<StyledString>>,
|
||||
lvl: &Level,
|
||||
dst: &mut Destination,
|
||||
short_message: bool)
|
||||
short_message: bool,
|
||||
error_codes: &mut HashSet<String>)
|
||||
-> io::Result<()> {
|
||||
use lock;
|
||||
|
||||
@ -1383,6 +1419,9 @@ fn emit_to_destination(rendered_buffer: &Vec<Vec<StyledString>>,
|
||||
for part in line {
|
||||
dst.apply_style(lvl.clone(), part.style)?;
|
||||
write!(dst, "{}", part.text)?;
|
||||
if !short_message && part.text.len() == 12 && part.text.starts_with("error[E") {
|
||||
error_codes.insert(part.text[6..11].to_owned());
|
||||
}
|
||||
dst.reset_attrs()?;
|
||||
}
|
||||
if !short_message {
|
||||
|
@ -21,3 +21,4 @@ error[E0453]: allow(test_lint) overruled by outer forbid(test_lint)
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0453"
|
||||
|
@ -12,3 +12,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -154,3 +154,4 @@ note: required by `h2`
|
||||
|
||||
error: aborting due to 11 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0631"
|
||||
|
@ -17,3 +17,4 @@ error[E0038]: the trait `Foo` cannot be made into an object
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0038"
|
||||
|
@ -9,3 +9,4 @@ error[E0384]: cannot assign twice to immutable variable `x`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0384"
|
||||
|
@ -15,3 +15,4 @@ note: the lifetime 'a as defined on the impl at 17:1...
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -9,3 +9,4 @@ error[E0326]: implemented const `BAR` has an incompatible type for trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0326"
|
||||
|
@ -42,3 +42,5 @@ error[E0221]: ambiguous associated type `Color` in bounds of `C`
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
You've got a few errors: E0191, E0221
|
||||
If you want more information on an error, try using "rustc --explain E0191"
|
||||
|
@ -6,3 +6,4 @@ error[E0277]: the trait bound `(): Add<A>` is not satisfied
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0277"
|
||||
|
@ -24,3 +24,4 @@ error[E0223]: ambiguous associated type
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0223"
|
||||
|
@ -40,3 +40,4 @@ error[E0517]: attribute should be applied to struct
|
||||
|
||||
error: aborting due to 5 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0517"
|
||||
|
@ -20,3 +20,5 @@ error[E0382]: use of moved value: `x`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
You've got a few errors: E0382, E0596
|
||||
If you want more information on an error, try using "rustc --explain E0382"
|
||||
|
@ -9,3 +9,4 @@ error[E0369]: binary operation `%` cannot be applied to type `&&{integer}`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0369"
|
||||
|
@ -15,3 +15,4 @@ help: You can use `as` to change the binding name of the import
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0255"
|
||||
|
@ -9,3 +9,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -11,3 +11,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -9,3 +9,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -28,3 +28,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -15,3 +15,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -31,3 +31,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -20,3 +20,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -17,3 +17,5 @@ error[E0618]: expected function, found `()`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
You've got a few errors: E0308, E0618
|
||||
If you want more information on an error, try using "rustc --explain E0308"
|
||||
|
@ -22,3 +22,5 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
You've got a few errors: E0277, E0308
|
||||
If you want more information on an error, try using "rustc --explain E0277"
|
||||
|
@ -8,3 +8,4 @@ error[E0599]: no method named `b` found for type `&Self` in the current scope
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0599"
|
||||
|
@ -11,3 +11,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -17,3 +17,4 @@ help: try adding a return type
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -9,3 +9,4 @@ error[E0599]: no variant named `hsl` found for type `color` in the current scope
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0599"
|
||||
|
@ -161,3 +161,5 @@ error[E0502]: cannot borrow `a.y` as mutable because `a.x.x` is also borrowed as
|
||||
|
||||
error: aborting due to 16 previous errors
|
||||
|
||||
You've got a few errors: E0382, E0502, E0503, E0505
|
||||
If you want more information on an error, try using "rustc --explain E0382"
|
||||
|
@ -150,3 +150,4 @@ error[E0499]: cannot borrow `x` as mutable more than once at a time (Mir)
|
||||
|
||||
error: aborting due to 10 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0499"
|
||||
|
@ -12,3 +12,4 @@ help: to force the closure to take ownership of `books` (and any other reference
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0373"
|
||||
|
@ -12,3 +12,4 @@ help: to force the closure to take ownership of `books` (and any other reference
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0373"
|
||||
|
@ -8,3 +8,4 @@ error[E0507]: cannot move out of captured outer variable in an `Fn` closure
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0507"
|
||||
|
@ -34,3 +34,5 @@ error[E0507]: cannot move out of borrowed content
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
You've got a few errors: E0507, E0509
|
||||
If you want more information on an error, try using "rustc --explain E0507"
|
||||
|
@ -15,3 +15,4 @@ error[E0508]: cannot move out of type `[Foo]`, a non-copy slice
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0508"
|
||||
|
@ -20,3 +20,4 @@ error[E0382]: use of moved value: `x` (Mir)
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0382"
|
||||
|
@ -36,3 +36,5 @@ error[E0499]: cannot borrow `x` as mutable more than once at a time
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
You've got a few errors: E0499, E0502
|
||||
If you want more information on an error, try using "rustc --explain E0499"
|
||||
|
@ -80,3 +80,5 @@ error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy sli
|
||||
|
||||
error: aborting due to 8 previous errors
|
||||
|
||||
You've got a few errors: E0506, E0508
|
||||
If you want more information on an error, try using "rustc --explain E0506"
|
||||
|
@ -16,3 +16,4 @@ error[E0384]: cannot assign to immutable argument `_x` (Mir)
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0384"
|
||||
|
@ -54,3 +54,4 @@ error[E0382]: use of moved value: `maybe.0` (Mir)
|
||||
|
||||
error: aborting due to 5 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0382"
|
||||
|
@ -27,3 +27,4 @@ error[E0499]: cannot borrow `*arg` as mutable more than once at a time
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0499"
|
||||
|
@ -21,3 +21,4 @@ error[E0499]: cannot borrow `inner_void` as mutable more than once at a time
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0499"
|
||||
|
@ -46,3 +46,5 @@ error[E0276]: impl has stricter requirements than trait
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
You've got a few errors: E0195, E0276, E0308
|
||||
If you want more information on an error, try using "rustc --explain E0195"
|
||||
|
@ -9,3 +9,4 @@ error[E0507]: cannot move out of captured outer variable in an `Fn` closure
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0507"
|
||||
|
@ -8,3 +8,4 @@ error[E0054]: cannot cast as `bool`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0054"
|
||||
|
@ -6,3 +6,4 @@ error[E0425]: cannot find value `error` in this scope
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0425"
|
||||
|
@ -8,3 +8,4 @@ error[E0054]: cannot cast as `bool`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0054"
|
||||
|
@ -16,3 +16,4 @@ error[E0620]: cast to unsized type: `std::boxed::Box<{integer}>` as `std::marker
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0620"
|
||||
|
@ -8,3 +8,4 @@ error[E0606]: casting `*mut impl std::fmt::Debug+?Sized` as `*mut impl std::fmt:
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0606"
|
||||
|
@ -6,3 +6,4 @@ error[E0412]: cannot find type `Ipsum` in this scope
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0412"
|
||||
|
@ -11,3 +11,4 @@ error[E0460]: found possibly newer version of crate `a` which `b` depends on
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0460"
|
||||
|
@ -48,3 +48,4 @@ error[E0004]: non-exhaustive patterns: `Some(B)`, `Some(C)`, `Some(D)` and 2 mor
|
||||
|
||||
error: aborting due to 8 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0004"
|
||||
|
@ -84,3 +84,4 @@ error: borrowed data cannot be stored outside of its closure
|
||||
|
||||
error: aborting due to 5 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -11,3 +11,4 @@ error[E0525]: expected a closure that implements the `Fn` trait, but this closur
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0525"
|
||||
|
@ -11,3 +11,4 @@ error[E0525]: expected a closure that implements the `Fn` trait, but this closur
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0525"
|
||||
|
@ -14,3 +14,4 @@ note: closure cannot be invoked more than once because it moves the variable `di
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0382"
|
||||
|
@ -8,3 +8,4 @@ error[E0592]: duplicate definitions with name `f`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0592"
|
||||
|
@ -6,3 +6,4 @@ error[E0321]: cross-crate traits with a default impl, like `std::marker::Send`,
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0321"
|
||||
|
@ -9,3 +9,4 @@ error[E0596]: cannot borrow immutable local variable `x` as mutable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0596"
|
||||
|
@ -10,3 +10,4 @@ error[E0499]: cannot borrow `x` as mutable more than once at a time
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0499"
|
||||
|
@ -8,3 +8,4 @@ error[E0600]: cannot apply unary operator `!` to type `&'static str`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0600"
|
||||
|
@ -9,3 +9,4 @@ error[E0499]: cannot borrow `v` as mutable more than once at a time
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0499"
|
||||
|
@ -29,3 +29,4 @@ error[E0592]: duplicate definitions with name `baz`
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0592"
|
||||
|
@ -9,3 +9,4 @@ error[E0509]: cannot move out of type `S`, which implements the `Drop` trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0509"
|
||||
|
@ -17,3 +17,5 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
You've got a few errors: E0308, E0425
|
||||
If you want more information on an error, try using "rustc --explain E0308"
|
||||
|
@ -11,3 +11,4 @@ error[E0382]: use of moved value: `some_vec`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0382"
|
||||
|
@ -6,3 +6,4 @@ error[E0404]: expected trait, found type alias `Bar`
|
||||
|
||||
error: cannot continue compilation due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0404"
|
||||
|
@ -22,3 +22,4 @@ error[E0425]: cannot find value `a̐é` in this scope
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0425"
|
||||
|
@ -26,3 +26,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -6,3 +6,4 @@ error[E0412]: cannot find type `DoesNotExist` in this scope
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0412"
|
||||
|
@ -57,3 +57,5 @@ error[E0117]: only traits defined in the current crate can be implemented for ar
|
||||
|
||||
error: aborting due to 8 previous errors
|
||||
|
||||
You've got a few errors: E0117, E0206
|
||||
If you want more information on an error, try using "rustc --explain E0117"
|
||||
|
@ -20,3 +20,4 @@ error[E0592]: duplicate definitions with name `f`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0592"
|
||||
|
@ -18,3 +18,4 @@ error[E0119]: conflicting implementations of trait `Foo<_>` for type `i32`:
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0119"
|
||||
|
@ -11,3 +11,4 @@ error[E0592]: duplicate definitions with name `dummy`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0592"
|
||||
|
@ -10,3 +10,4 @@ error[E0119]: conflicting implementations of trait `Sweet` for type `std::boxed:
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0119"
|
||||
|
@ -11,3 +11,4 @@ error[E0592]: duplicate definitions with name `dummy`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0592"
|
||||
|
@ -10,3 +10,4 @@ error[E0119]: conflicting implementations of trait `Foo` for type `i16`:
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0119"
|
||||
|
@ -8,3 +8,4 @@ error[E0384]: cannot assign twice to immutable variable `x`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0384"
|
||||
|
@ -9,3 +9,4 @@ error[E0276]: impl has stricter requirements than trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0276"
|
||||
|
@ -9,3 +9,4 @@ error[E0276]: impl has stricter requirements than trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0276"
|
||||
|
@ -9,3 +9,4 @@ error[E0276]: impl has stricter requirements than trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0276"
|
||||
|
@ -9,3 +9,4 @@ error[E0276]: impl has stricter requirements than trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0276"
|
||||
|
@ -12,3 +12,4 @@ error[E0053]: method `b` has an incompatible type for trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0053"
|
||||
|
@ -9,3 +9,4 @@ error[E0276]: impl has stricter requirements than trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0276"
|
||||
|
@ -63,3 +63,4 @@ error[E0276]: impl has stricter requirements than trait
|
||||
|
||||
error: aborting due to 7 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0276"
|
||||
|
@ -9,3 +9,4 @@ error[E0276]: impl has stricter requirements than trait
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0276"
|
||||
|
@ -6,3 +6,4 @@ error[E0396]: raw pointers cannot be dereferenced in statics
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0396"
|
||||
|
@ -12,3 +12,4 @@ note: for pattern here
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0080"
|
||||
|
@ -14,3 +14,4 @@ error[E0080]: constant evaluation error
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0080"
|
||||
|
@ -9,3 +9,4 @@ error[E0308]: mismatched types
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0308"
|
||||
|
@ -26,3 +26,4 @@ error[E0080]: constant evaluation error
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0080"
|
||||
|
@ -12,3 +12,4 @@ note: for pattern here
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0080"
|
||||
|
@ -38,3 +38,5 @@ note: for constant expression here
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
You've got a few errors: E0015, E0016, E0019, E0080
|
||||
If you want more information on an error, try using "rustc --explain E0015"
|
||||
|
@ -6,3 +6,4 @@ error[E0379]: trait fns cannot be declared const
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0379"
|
||||
|
@ -12,3 +12,4 @@ error[E0379]: trait fns cannot be declared const
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0379"
|
||||
|
@ -20,3 +20,4 @@ note: for constant expression here
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0080"
|
||||
|
@ -18,3 +18,4 @@ error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0005"
|
||||
|
@ -12,3 +12,4 @@ note: for pattern here
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0080"
|
||||
|
@ -36,3 +36,4 @@ error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0277"
|
||||
|
@ -18,3 +18,4 @@ note: ...which then requires computing the supertraits of `C`...
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
If you want more information on this error, try using "rustc --explain E0391"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user