Skip to content

verus: update to new resource algebras#49

Merged
jaylorch merged 3 commits into
microsoft:mainfrom
bsdinis:bsdinis/oou
May 8, 2026
Merged

verus: update to new resource algebras#49
jaylorch merged 3 commits into
microsoft:mainfrom
bsdinis:bsdinis/oou

Conversation

@bsdinis

@bsdinis bsdinis commented May 1, 2026

Copy link
Copy Markdown
Contributor

This updates to a new version of verus with a resource algebra refactoring.

@zeldovich zeldovich left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Seems like there's a lot of reformatting, but the substantive changes are the Loc type and the new crate imports for frac, ghost_var, etc?

@jaylorch

jaylorch commented May 1, 2026

Copy link
Copy Markdown
Member

Another change that should probably be made in this PR is to update the Cargo.toml files to use a recent version of vstd that incorporates the new resource algebra stuff, once one such crate has been uploaded to crates.io.

@jaylorch

jaylorch commented May 1, 2026

Copy link
Copy Markdown
Member

Thanks for putting this together!

@jaylorch

jaylorch commented May 1, 2026

Copy link
Copy Markdown
Member

I'm guessing all the reformatting was done by verusfmt?

@bsdinis

bsdinis commented May 1, 2026

Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree

@bsdinis

bsdinis commented May 1, 2026

Copy link
Copy Markdown
Contributor Author

Looks good to me. Seems like there's a lot of reformatting, but the substantive changes are the Loc type and the new crate imports for frac, ghost_var, etc?

Those are indeed the major changes.

I'm guessing all the reformatting was done by verusfmt?
I wasn't, my editor removes trailing whitespace and runs cargo fmt on save (which, since cargo fmt does not have visibility into the verus macro means it just formats the imports). Happy to also just run verusfmt on the whole thing.

@bsdinis

bsdinis commented May 1, 2026

Copy link
Copy Markdown
Contributor Author

Another change that should probably be made in this PR is to update the Cargo.toml files to use a recent version of vstd that incorporates the new resource algebra stuff, once one such crate has been uploaded to crates.io.

Indeed. I did this to make sure that the Verus changes I had locally wouldn't break this (they don't, besides the changes here). Once I'm done merging the things on the verus side and the release is cut I'll update this PR with the new vstd tag.

@jaylorch

jaylorch commented May 1, 2026

Copy link
Copy Markdown
Member

If you find it doesn't work with this weekend's Verus due to the big change to extended mutable references, you may have to test it with the PR designed to adapt to that. (#50)

@bsdinis

bsdinis commented May 6, 2026

Copy link
Copy Markdown
Contributor Author

If you find it doesn't work with this weekend's Verus due to the big change to extended mutable references, you may have to test it with the PR designed to adapt to that. (#50)

Thanks for the pointer! I updated the PR to incorporate the (updated) changes from #50 (which were stale wrt to trunk).
It seems that there hasn't been a new release of vstd which includes the new changes? (happy to be proven wrong). I tested against my own local build of verus and I think everything works. We should wait for that release to be available in crates.io before merging

@bsdinis

bsdinis commented May 7, 2026

Copy link
Copy Markdown
Contributor Author

@jaylorch I think this might be workable to merge. There is a new version of vstd this verifies with now

@jaylorch

jaylorch commented May 7, 2026

Copy link
Copy Markdown
Member

OK, I'll try it and I'll also assign @hayley-leblanc as a reviewer so she can try it as well.

@jaylorch jaylorch left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@jaylorch jaylorch merged commit 4f15f1f into microsoft:main May 8, 2026
5 checks passed
@bsdinis bsdinis deleted the bsdinis/oou branch May 8, 2026 04:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants