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

Update to toolchain 2023-06-29 #819

Merged
merged 12 commits into from
Jul 11, 2023

Conversation

floriangru
Copy link
Contributor

Hi Xavier and everyone on the Creusot team!

First of all, props to you all for making this amazing tool; I'm currently using it to verify parts of an embedded OS in rust, so thanks a lot for making Creusot! As a part of a survey/comparison, I'm trying to bring the different verification toolchains I'm using to the same rust version (which might be pointless considering how quickly the compiler is moving), so I'm trying to update Creusot to the ~latest nightly.

For now, I've only picked the low-hanging fruits. Two more are remaining :

I'll try to finish at least the ImplSource issue in this PR, but if you can do it more quickly than me (as I'm not familiar with the creusot codebase), don't hesitate of course!

(forgot to add in the commit message that it's patching also:

Cheers

(I'm sorry if this is too verbose, I can trim it down if necessary)

@xldenis
Copy link
Collaborator

xldenis commented Jun 26, 2023

Hi @floriangru thanks for the contribution and interest. I'll try to take a look at the toolchain update and see what's missing.

Additionally, if you feel like there are missing features (there are many), please let us know so we can see if its something we can easily add.

@floriangru
Copy link
Contributor Author

Only one issue remaining in creusot/src/extended_location.rs, patched by re-exporting the necessary trait (AnalysisResults) in rust-lang/rust#113089. Should be in the next rollup if I understand correctly.

Additionally, if you feel like there are missing features (there are many), please let us know so we can see if its something we can easily add.

Would do :)

@xldenis
Copy link
Collaborator

xldenis commented Jun 29, 2023

Seems like it should be possible to bump the nightly and get this merged now!

reuses rust-lang/rust#113089 and the corresponding nightly
it's quite unsightly and maybe it would be better to use directly Clauses instead of Predicates (from rustc_middle::ty),
Also, it might be the reason the translation is a bit shuffled, so, maybe it would be better to change those modifications
lifetimes for those slices changed to 'static
@floriangru
Copy link
Contributor Author

Seems like it should be possible to bump the nightly and get this merged now!

Hi, sorry for letting this drag on. It's done now, but I'm not really happy with that since it shuffled a bit the translation and adds a lot of noise. If I bless the updated test cases, that'll modify 1588 lines for nothing (number changed in auto generated ids in the .mlcfg files).
And it appears to break the proof for heapsort_generic. It makes the one for red_black_tree obsolete but at least I managed to fix it; that wasn't the case (at least trivially) for heapsort. I haven't committed these changes to keep this PR readable.

@floriangru floriangru changed the title Update to toolchain 2023-06-25 Update to toolchain ~~2023-06-25~~ 2023-06-29 Jul 6, 2023
@floriangru floriangru changed the title Update to toolchain ~~2023-06-25~~ 2023-06-29 Update to toolchain 2023-06-29 Jul 6, 2023
@floriangru
Copy link
Contributor Author

Also, now targeting toolchain nightly-2023-06-29.

@xldenis
Copy link
Collaborator

xldenis commented Jul 11, 2023

I've gone ahead and refreshed the sessions fixing the two broken tests. (Just needed to be more thoroughly updated).

@xldenis xldenis marked this pull request as ready for review July 11, 2023 15:38
@xldenis xldenis merged commit f10e040 into creusot-rs:master Jul 11, 2023
@floriangru
Copy link
Contributor Author

I've gone ahead and refreshed the sessions fixing the two broken tests. (Just needed to be more thoroughly updated).

Hi, thanks Xavier ! I was worried this would cause too much noise in the commits; next time I'll contribute I'll push the generated tests :)

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.

2 participants