-
Notifications
You must be signed in to change notification settings - Fork 57
Fix @extern functions being mistakenly verified #1690
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
base: main
Are you sure you want to change the base?
Conversation
|
|
Co-authored-by: vkuncak <[email protected]>
Co-authored-by: vkuncak <[email protected]>
Co-authored-by: vkuncak <[email protected]>
|
@copilot This is not the solution I would expect at this stage. I would expect that we should not need to check explicitly for the extern annotation, as the bug would otherwise always manifest. Yet the bug happens only for certain number of conjuncts in |
…aque functions Co-authored-by: vkuncak <[email protected]>
You're right. The proper fix is in Fixed in fc53f03 - reverted the |
DropVCsflag not added toChooseexpressions inOpaqueChooseInjectorDropVCsflag toValDefinOpaqueChooseInjector.scalaVerificationComponent.scalaSummary
Fixed an issue where
@externfunctions were being mistakenly verified. The root cause was thatOpaqueChooseInjectorcreatesChooseexpressions for extern/opaque functions but didn't add theDropVCsflag to theValDef. WhenChooseEncoderprocesses theseChooseexpressions, it generates assertion VCs unlessDropVCsis present (see lines 79-86 inChooseEncoder.scala).Changes
OpaqueChooseInjector.scalato addDropVCsflag to theValDefwhen creatingChooseexpressions, consistent with howChooseInjector.scalahandles similar cases (line 40).VerificationComponent.scalaOriginal prompt
@externfunctions are mistakenly verified in some cases #1689✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.