Skip to content
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

Remove slice_pair in favor of standard F* pairs #247

Merged
merged 4 commits into from
Oct 30, 2024
Merged

Conversation

tahina-pro
Copy link
Member

The ongoing extension of Karamel by @msprotz and @R1kM to support extraction to Rust stumbles on the slice_pair type, which foils mutability analysis: the same type cannot be used to represent both mutable and immutable slice pairs.

Instead, Jonathan proposes to retire this type in favor of using standard F* pairs, which Karamel would then extract to standard Rust pairs with proper mutability per use.

tahina-pro added a commit to project-everest/everparse that referenced this pull request Oct 29, 2024
@tahina-pro tahina-pro marked this pull request as ready for review October 30, 2024 02:04
@gebner
Copy link
Contributor

gebner commented Oct 30, 2024

LGTM! Karamel was the only reason we had them in the first place, if Jonathan is fixing that then I'm glad we can switch to normal pairs!

@gebner gebner merged commit 0b94126 into main Oct 30, 2024
1 check passed
tahina-pro added a commit to project-everest/everparse that referenced this pull request Oct 30, 2024
@tahina-pro
Copy link
Member Author

I can confirm C extraction works well. Thanks Gabriel!

@tahina-pro tahina-pro deleted the _taramana_no_slice_pair branch October 30, 2024 04:42
@msprotz
Copy link
Contributor

msprotz commented Oct 30, 2024

If bump again into the issue you apparently had before with native pairs, please send a repro. Thanks!

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