Currently the two extensions do not work well together. When defining a record pattern synonym all field names must be distinct even with the extension turned on.
Trac metadata
Trac field
Value
Version
7.10.3
Type
Bug
TypeOfFailure
OtherFailure
Priority
normal
Resolution
Unresolved
Component
Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
agundry
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
GraphQL error: The resource that you are attempting to access does not exist or you don't have permission to perform this action
The panic was actually caused by the combination of pattern synonyms and DisambiguateRecordFields or RecordWildCards, without needing DuplicateRecordFields. See #11283 (closed).
The more general question of the interaction of DuplicateRecordFields and record pattern synonyms looks like it will be rather intricate. At the moment, record pattern synonym constructors and fields are not distinguished by the Avail or Parent types, but constructors and fields will need to be handled differently. This will require significant refactoring.
We need to track the pattern synonym to which a field belongs, so that we can disambiguate fields properly. This doesn't even require DuplicateRecordFields: merely using DisambiguateRecordFields fails when the constructor is a record pattern synonym. However, the pattern synonym isn't a "parent" for the field in the same way that a datatype is. And pattern synonyms have the added complexity of being able to be associated with arbitrary parent datatypes.
In addition, once DuplicateRecordFields is involved we need to keep track of the FieldLabelString separately from the Name when representing fields (e.g. in AvailTC or FldParent).
I'm not going to be able to address this in the near future.