-
Notifications
You must be signed in to change notification settings - Fork 790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for anonymous record execution order #6606
Conversation
Tests added, this is ready (once green) |
@@ -6554,21 +6552,35 @@ let permuteExprList (sigma: int[]) (exprs: Expr list) (ty: TType list) (names: s | |||
/// let sigma = Array.map #Index () | |||
/// However the presence of static fields means .Index may index into a non-compact set of instance field indexes. | |||
/// We still need to sort by index. | |||
let mkRecordExpr g (lnk, tcref, tinst, rfrefs: RecdFieldRef list, args, m) = | |||
let mkRecordExpr g (lnk, tcref, tinst, unsortedRecdFields: RecdFieldRef list, unsortedFieldExprs, m) = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those are better names for sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine to me. There could be potential to get rid of some duplication between mkRecordExpr and mkAnonRecd but it's probably fine we keep it the way it is.
Yes, I wrote it so I could do a line-for-line comparison and eventually share, but figured it would obfuscate the code for this PR to actually share |
Fix for #6487. Untested as yet, pushing through CI.