Implement Enums#24
Merged
Merged
Conversation
This was referenced Nov 16, 2023
Closed
Author
|
@JonasAlaif this is getting close to ready but i have some unresolved questions:
|
Collaborator
|
Aurel300
reviewed
Nov 20, 2023
Aurel300
reviewed
Nov 20, 2023
JonasAlaif
reviewed
Nov 21, 2023
Aurel300
reviewed
Nov 23, 2023
Aurel300
reviewed
Nov 23, 2023
Aurel300
reviewed
Nov 23, 2023
Collaborator
|
@Aurel300 this is a different PR from when you reviewed it last, you probably want to take a look again. The biggest difference is that Rust types with generics are encoded as Viper domains with generics (but predicates and non-domain functions are still monomorphised and duplicated) |
tillarnold
commented
Nov 28, 2023
Aurel300
reviewed
Nov 28, 2023
Aurel300
reviewed
Nov 28, 2023
Aurel300
reviewed
Nov 28, 2023
Aurel300
reviewed
Nov 28, 2023
Aurel300
reviewed
Nov 28, 2023
Aurel300
reviewed
Nov 28, 2023
Aurel300
reviewed
Nov 28, 2023
Aurel300
reviewed
Nov 28, 2023
Owner
|
@JonasAlaif Mostly looks good, see comments. Tomorrow I would also like to discuss the overall architecture of the type encoder and what is going on with the type parameters. |
Collaborator
|
Ready to be merged after the discussion tomorrow |
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.
mk_structliketo extract the different parts into functions that I then reuse formk_enummir::TerminatorKind::FalseEdgeby treating it like a gotos_Tuple_read_1(s_Tuple_cons(f0, f1))tos_Tuple_cons(f0, f1). We discussed this change on the 20st of October in chat and you determined that this is the correct trigger. This used to be Change the triggers for the tuple and struct read axioms #20 but because I refactored that code here I include this change here as it is needed for enums to work anyways.mk_*functions in the context.rs but I did not rewrite any other code to use these yet to make merging easier(Replaces #17)