Skip to content

New approach to specifying iterators via a prophetic sequence encoding#2163

Draft
parno wants to merge 190 commits intomainfrom
iter-clean
Draft

New approach to specifying iterators via a prophetic sequence encoding#2163
parno wants to merge 190 commits intomainfrom
iter-clean

Conversation

@parno
Copy link
Collaborator

@parno parno commented Feb 10, 2026

So far, this only updates the iterator definitions for Vec and Range. If we decide we like this style, we'll need to update the other containers, as well as Slice for &Vec.

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

Chris-Hawblitzel and others added 30 commits June 17, 2025 10:06
all_next(), which is an improvement on the old design.
reasonable invariant that says we only perform Next operations.
This suffices to restore two Skip3 tests.
tjhance and others added 25 commits February 10, 2026 10:36
…n how to use it. (#2104)

* cfg_features: add verus_in_verification feature

In relation to #2063, this commit adds a new verus_in_verification
feature flag that is intended for client usage (but only on use
statements). Usage outside use statements can serve as an escape hatch
for verification, possibly introducing unsoundness.

This commit also adds documentation in the guide about the feature flag,
how to use it and its pitfalls.

* cfg_features: add allow unexpected_cfgs to default Cargo.toml generated by cargo-verus
Create a direct call in the call graph for a function call within an extension trait impl, addressing a false positive in the cyclic dependency check.

Fixes #2047

---------

Co-authored-by: Chris Hawblitzel <Chris.Hawblitzel@microsoft.com>
Restores `peek`, but that causes a panic.
}
} => Ok(())
}
//test_verify_one_file_with_options! {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I wasn't sure if we still wanted a test along these lines, but I can cook one up if we do.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I initially couldn't remember why this file changed, but it was due to 612d209 to make the encoding of the decreases clause more flexible.

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.

7 participants