Include optional/required mismatch for rigid optionals

This commit is contained in:
Ayaz Hafiz 2022-08-09 11:39:25 -07:00
parent b3d4c8f09b
commit af19df1a0a
No known key found for this signature in database
GPG Key ID: 0E2A37416A25EF58

View File

@ -2759,7 +2759,15 @@ fn diff_record<'b>(
status: {
match (&t1, &t2) {
(RecordField::Demanded(_), RecordField::Optional(_))
| (RecordField::Optional(_), RecordField::Demanded(_)) => match diff.status {
| (RecordField::Optional(_), RecordField::Demanded(_))
| (
RecordField::Demanded(_) | RecordField::Required(_),
RecordField::RigidOptional(_),
)
| (
RecordField::RigidOptional(_),
RecordField::Demanded(_) | RecordField::Required(_),
) => match diff.status {
Status::Similar => {
Status::Different(vec![Problem::OptionalRequiredMismatch(
field.clone(),