fix(rt): handle fun-type closure env refs in callee setup#956
Merged
fix(rt): handle fun-type closure env refs in callee setup#956
Conversation
7aa75b3 to
05745a8
Compare
261d9c9 to
1ffcb53
Compare
1ffcb53 to
b46a5fe
Compare
dkcumming
approved these changes
Mar 4, 2026
Collaborator
dkcumming
left a comment
There was a problem hiding this comment.
From what I understand I think this is sound. I was wondering if it is possible for a non-closure function to has a 2 arity tuple as it's second arg and that mean that a function incorrectly matches a closure. But from what I see I think this case is not possible, but I wanted to bring it up as I approve in case we learn things down the line
automergerpr-permission-manager bot
pushed a commit
that referenced
this pull request
Mar 4, 2026
#956 added handles `FunType` for closures instead of `VoidType` for that come from [stable mir json 129](runtimeverification/stable-mir-json#129) for `setupCalleeClosure2`. This PR adds the same thing to `setupCalleeClosure`. (Fixes regressed proofs for P-Token) - Added explicit `FnOnce` test `closure_fnonce_tuple_arg.rs` - Fixed `and_then_closure.rs`
Merged
mariaKt
added a commit
that referenced
this pull request
Mar 4, 2026
dkcumming
added a commit
to runtimeverification/solana-token
that referenced
this pull request
Mar 10, 2026
- fix(rt): handle fun-type closure env refs in callee setup [956](runtimeverification/mir-semantics#956) - fix(decode): accept signed enum tag scalars in _extract_tag [954](runtimeverification/mir-semantics#954) - Added check for FunType in setupCalleeClosure [969](runtimeverification/mir-semantics#969) - Merge in latest master [973](runtimeverification/mir-semantics#973) - fix(kompile): map linked NormalSym functions to monoItemFn(noBody) [953](runtimeverification/mir-semantics#953) - fix(rt): generalize direct-tag enum decoding to any variant count and discriminant [955](runtimeverification/mir-semantics#955) - fix(spl-token): encode multisig signers as pubkey aggregates [958](runtimeverification/mir-semantics#958) - fix(rt): closure aggregate + #setTupleArgs fallback [952](runtimeverification/mir-semantics#952) - fix(rt): bug fix for castKindPtrToPtr [974](runtimeverification/mir-semantics#974) - fix(rt): repair closure callee setup for iter-eq repro [957](runtimeverification/mir-semantics#957) - Change the number of signers from 11 to 3 [982](runtimeverification/mir-semantics#982) - Merging latest master into feature/p-token [981](runtimeverification/mir-semantics#981)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
setupCalleeClosure2) to accept closure-env references whose pointee resolves totypeInfoFunType(in addition totypeInfoVoidType).isFunType(TypeInfo)helper predicate used by that guard.closure_access_struct-fail.main.expectedto show the behavior change from stuck frontier to terminal#EndProgram.closure_access_struct-fail.rs->closure_access_struct.rsshow/closure_access_struct-fail.main.expectedPROVE_RS_SHOW_SPECS