Multiple record builder error

This commit is contained in:
Agustin Zubiaga 2023-05-08 19:26:47 -03:00
parent 20f8133b6c
commit 6670fbb1ab
11 changed files with 115 additions and 4 deletions

View file

@ -327,6 +327,7 @@ pub enum Expr<'a> {
// Both operators were non-associative, e.g. (True == False == False).
// We should tell the author to disambiguate by grouping them with parens.
PrecedenceConflict(&'a PrecedenceConflict<'a>),
MultipleRecordBuilders(&'a Loc<Expr<'a>>),
}
#[derive(Clone, Copy, Debug, PartialEq)]
@ -1533,7 +1534,8 @@ impl<'a> Malformed for Expr<'a> {
MalformedIdent(_, _) |
MalformedClosure |
PrecedenceConflict(_) => true,
PrecedenceConflict(_) |
MultipleRecordBuilders(_) => true,
}
}
}

View file

@ -1928,6 +1928,7 @@ fn expr_to_pattern_help<'a>(arena: &'a Bump, expr: &Expr<'a>) -> Result<Pattern<
| Expr::Dbg(_, _)
| Expr::MalformedClosure
| Expr::PrecedenceConflict { .. }
| Expr::MultipleRecordBuilders { .. }
| Expr::RecordUpdate { .. }
| Expr::UnaryOp(_, _)
| Expr::Crash => return Err(()),