Holly Borla
38a2c8218b
[Requirement] Rename RequirementKind::SameCount to SameShape.
2022-10-06 20:48:40 -07:00
Holly Borla
ae5ebba2c1
[RequirementMachine] Add same-length requirement inference for pack
...
expansion types.
2022-10-06 20:38:30 -07:00
Slava Pestov
9339443e79
RequirementMachine: Diagnose recursive requirements
...
Note the test cases in abstract_type_witnesses used to pass but are now
rejected. This is fine, because doing anything more complicated used to
crash, and the GSB would crash or misbehave with these examples.
2022-08-11 14:12:06 -04:00
Slava Pestov
f901cc72b4
RequirementMachine: Move diagnostics code into a new Diagnostics.cpp
2022-05-10 01:49:56 -04:00
Holly Borla
a4230a6061
[RequirementMachine] Simplify computing and emitting conflict diagnostics.
...
Instead of computing different combinations of conflicting requirement kinds,
emit the same error message for all of them.
2022-03-29 18:27:45 -07:00
Holly Borla
964c11a4d0
[RequirementMachine] Consolidate the various RequirementError::Kind cases
...
that represent conflict diagnostics.
2022-03-29 18:27:45 -07:00
Holly Borla
caee699560
[RequirementMachine] Mention the type parameter that is the subject of
...
two conflicting requirements in diagnostics where possible.
2022-03-29 18:27:45 -07:00
Holly Borla
e512e7a824
[RequirementMachine] Add a RequirementError for diagnosing a conflicting
...
same-type requirement.
2022-03-29 18:23:53 -07:00
Holly Borla
a992917f1c
[NFC][RequirementMachine] Rename some of the RequirementError::Kind cases,
...
add documentation for each case, and move RequirementError to
lib/AST/RequirementMachine/Diagnostics.h.
2022-02-16 13:11:57 -08:00