Add the full issue reference to equality constraints in where clauses

This commit is contained in:
varkor 2019-12-22 18:18:49 +00:00
parent a916ac22b9
commit a5991c57cf
3 changed files with 16 additions and 6 deletions

View File

@ -737,8 +737,14 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
for predicate in &generics.where_clause.predicates { for predicate in &generics.where_clause.predicates {
if let WherePredicate::EqPredicate(ref predicate) = *predicate { if let WherePredicate::EqPredicate(ref predicate) = *predicate {
self.err_handler() self.err_handler()
.span_err(predicate.span, "equality constraints are not yet \ .struct_span_err(
supported in where clauses (see #20041)"); predicate.span,
"equality constraints are not yet supported in `where` clauses",
)
.note(
"for more information, see https://github.com/rust-lang/rust/issues/20041",
)
.emit();
} }
} }

View File

@ -1,6 +1,6 @@
fn f() where u8 = u16 {} fn f() where u8 = u16 {}
//~^ ERROR equality constraints are not yet supported in where clauses //~^ ERROR equality constraints are not yet supported in `where` clauses
fn g() where for<'a> &'static (u8,) == u16, {} fn g() where for<'a> &'static (u8,) == u16, {}
//~^ ERROR equality constraints are not yet supported in where clauses //~^ ERROR equality constraints are not yet supported in `where` clauses
fn main() {} fn main() {}

View File

@ -1,14 +1,18 @@
error: equality constraints are not yet supported in where clauses (see #20041) error: equality constraints are not yet supported in `where` clauses
--> $DIR/where-equality-constraints.rs:1:14 --> $DIR/where-equality-constraints.rs:1:14
| |
LL | fn f() where u8 = u16 {} LL | fn f() where u8 = u16 {}
| ^^^^^^^^ | ^^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/20041
error: equality constraints are not yet supported in where clauses (see #20041) error: equality constraints are not yet supported in `where` clauses
--> $DIR/where-equality-constraints.rs:3:14 --> $DIR/where-equality-constraints.rs:3:14
| |
LL | fn g() where for<'a> &'static (u8,) == u16, {} LL | fn g() where for<'a> &'static (u8,) == u16, {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/20041
error: aborting due to 2 previous errors error: aborting due to 2 previous errors