diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2018-04-17 06:06:33 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2018-04-23 13:28:15 -0400 |
| commit | 2c5fbe20585e69801d4db95ac587e7c452058c79 (patch) | |
| tree | 7fb2e0ccbf2bb24ad04b589adbd1b2b958408307 | |
| parent | 7fa3c8f445fa29db82231ea56fd6eebf37a806f2 (diff) | |
| download | rust-2c5fbe20585e69801d4db95ac587e7c452058c79.tar.gz rust-2c5fbe20585e69801d4db95ac587e7c452058c79.zip | |
sort strings on output
| -rw-r--r-- | src/librustc_traits/lowering.rs | 23 | ||||
| -rw-r--r-- | src/test/ui/chalkify/lower_env1.stderr | 6 | ||||
| -rw-r--r-- | src/test/ui/chalkify/lower_trait.stderr | 2 | ||||
| -rw-r--r-- | src/test/ui/chalkify/lower_trait_higher_rank.stderr | 4 | ||||
| -rw-r--r-- | src/test/ui/chalkify/lower_trait_where_clause.stderr | 6 |
5 files changed, 25 insertions, 16 deletions
diff --git a/src/librustc_traits/lowering.rs b/src/librustc_traits/lowering.rs index 8acc77be60d..b6a086f609d 100644 --- a/src/librustc_traits/lowering.rs +++ b/src/librustc_traits/lowering.rs @@ -382,13 +382,22 @@ impl<'a, 'tcx> ClauseDumper<'a, 'tcx> { .sess .struct_span_err(attr.span, "program clause dump"); - for clause in clauses.iter() { - // Skip the top-level binder for a less verbose output - let program_clause = match clause { - Clause::Implies(program_clause) => program_clause, - Clause::ForAll(program_clause) => program_clause.skip_binder(), - }; - err.note(&format!("{}", program_clause)); + let mut strings: Vec<_> = clauses + .iter() + .map(|clause| { + // Skip the top-level binder for a less verbose output + let program_clause = match clause { + Clause::Implies(program_clause) => program_clause, + Clause::ForAll(program_clause) => program_clause.skip_binder(), + }; + format!("{}", program_clause) + }) + .collect(); + + strings.sort(); + + for string in strings { + err.note(&string); } err.emit(); diff --git a/src/test/ui/chalkify/lower_env1.stderr b/src/test/ui/chalkify/lower_env1.stderr index aaf74f1095a..3a280f85e76 100644 --- a/src/test/ui/chalkify/lower_env1.stderr +++ b/src/test/ui/chalkify/lower_env1.stderr @@ -4,9 +4,9 @@ error: program clause dump LL | #[rustc_dump_program_clauses] //~ ERROR program clause dump | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | - = note: Implemented(Self: Bar) :- FromEnv(Self: Bar). = note: FromEnv(Self: Bar) :- FromEnv(Self: Bar). = note: FromEnv(Self: Foo) :- FromEnv(Self: Bar). + = note: Implemented(Self: Bar) :- FromEnv(Self: Bar). error: program clause dump --> $DIR/lower_env1.rs:19:1 @@ -14,11 +14,11 @@ error: program clause dump LL | #[rustc_dump_env_program_clauses] //~ ERROR program clause dump | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | - = note: Implemented(Self: std::marker::Sized) :- FromEnv(Self: std::marker::Sized). - = note: Implemented(Self: Bar) :- FromEnv(Self: Bar). = note: FromEnv(Self: Bar) :- FromEnv(Self: Bar). = note: FromEnv(Self: Foo) :- FromEnv(Self: Bar). + = note: Implemented(Self: Bar) :- FromEnv(Self: Bar). = note: Implemented(Self: Foo) :- FromEnv(Self: Foo). + = note: Implemented(Self: std::marker::Sized) :- FromEnv(Self: std::marker::Sized). error: aborting due to 2 previous errors diff --git a/src/test/ui/chalkify/lower_trait.stderr b/src/test/ui/chalkify/lower_trait.stderr index 2bd836a8fc1..55cd9699b06 100644 --- a/src/test/ui/chalkify/lower_trait.stderr +++ b/src/test/ui/chalkify/lower_trait.stderr @@ -4,10 +4,10 @@ error: program clause dump LL | #[rustc_dump_program_clauses] //~ ERROR program clause dump | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | - = note: Implemented(Self: Foo<S, T, U>) :- FromEnv(Self: Foo<S, T, U>). = note: FromEnv(S: std::marker::Sized) :- FromEnv(Self: Foo<S, T, U>). = note: FromEnv(T: std::marker::Sized) :- FromEnv(Self: Foo<S, T, U>). = note: FromEnv(U: std::marker::Sized) :- FromEnv(Self: Foo<S, T, U>). + = note: Implemented(Self: Foo<S, T, U>) :- FromEnv(Self: Foo<S, T, U>). error: aborting due to previous error diff --git a/src/test/ui/chalkify/lower_trait_higher_rank.stderr b/src/test/ui/chalkify/lower_trait_higher_rank.stderr index 11dc8740180..7f6f503c6ff 100644 --- a/src/test/ui/chalkify/lower_trait_higher_rank.stderr +++ b/src/test/ui/chalkify/lower_trait_higher_rank.stderr @@ -4,10 +4,10 @@ error: program clause dump LL | #[rustc_dump_program_clauses] //~ ERROR program clause dump | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | - = note: Implemented(Self: Foo<F>) :- FromEnv(Self: Foo<F>). + = note: FromEnv(<F as std::ops::FnOnce<(&'a (u8, u16),)>>::Output == &'a u8) :- FromEnv(Self: Foo<F>). = note: FromEnv(F: std::marker::Sized) :- FromEnv(Self: Foo<F>). = note: FromEnv(F: std::ops::Fn<(&'a (u8, u16),)>) :- FromEnv(Self: Foo<F>). - = note: FromEnv(<F as std::ops::FnOnce<(&'a (u8, u16),)>>::Output == &'a u8) :- FromEnv(Self: Foo<F>). + = note: Implemented(Self: Foo<F>) :- FromEnv(Self: Foo<F>). error: aborting due to previous error diff --git a/src/test/ui/chalkify/lower_trait_where_clause.stderr b/src/test/ui/chalkify/lower_trait_where_clause.stderr index cfea1379dab..68bc2ddf293 100644 --- a/src/test/ui/chalkify/lower_trait_where_clause.stderr +++ b/src/test/ui/chalkify/lower_trait_where_clause.stderr @@ -4,11 +4,11 @@ error: program clause dump LL | #[rustc_dump_program_clauses] //~ ERROR program clause dump | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | - = note: Implemented(Self: Foo<'a, 'b, S, T, U>) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). - = note: FromEnv(S: std::marker::Sized) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). - = note: FromEnv(T: std::marker::Sized) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). = note: FromEnv(S: std::fmt::Debug) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). + = note: FromEnv(S: std::marker::Sized) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). = note: FromEnv(T: std::borrow::Borrow<U>) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). + = note: FromEnv(T: std::marker::Sized) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). + = note: Implemented(Self: Foo<'a, 'b, S, T, U>) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). = note: RegionOutlives('a : 'b) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). = note: TypeOutlives(U : 'b) :- FromEnv(Self: Foo<'a, 'b, S, T, U>). |
