-
Notifications
You must be signed in to change notification settings - Fork 93
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 Rust toolchain to nightly-2023-02-03 #2184
Conversation
This commit fixes compilation errors but not runtime ones. Related changes: rust-lang/rust#104986 rust-lang/rust#105657 rust-lang/rust#105603 rust-lang/rust#105613
to overcome an issue with async generators. Updated the codegen_generator to follow the new logic implemented in rust-lang/rust#105977
Yeah, it could've been a mistake on their side. @oli-obk was this restriction done on purpose? We could work around it by moving the stubbing code to the |
Ah no, that's a bug on our end. I think we could just pass the TyCtxt into the after_analysis query, but short term we should just stop holding the lock on the rustc side |
@oli-obk do you think you can own the fix, or do you want us to submit a patch upstream? |
I'll handle it, should be fixed in the next few days |
Avoid locking the global context across the `after_expansion` callback r? `@petrochenkov` This was noticed in model-checking/kani#2184 (comment) This didn't have a perf impact, as it's just an additional 2 or 3 RefCell locks being created.
The upstream patch has landed, but I think it didn't make today's nightly build, so you'll need to wait another day |
Perfect! Thanks a lot @oli-obk. |
Avoid locking the global context across the `after_expansion` callback r? `@petrochenkov` This was noticed in model-checking/kani#2184 (comment) This didn't have a perf impact, as it's just an additional 2 or 3 RefCell locks being created.
closed as #2291 created. |
Description of changes:
This PR is blocked on waiting for #2149 to be merged first.
Once that's merged, this PR should be rebased and force pushed.
The following upstream changes had impact this week:
Primitive::Pointer
) abi: add AddressSpace field to Primitive::Pointer rust-lang/rust#107248ParamEnv
) InstCombine away intrinsic validity assertions rust-lang/rust#105582local_def_id
) Remove HirId -> LocalDefId map from HIR. rust-lang/rust#107206GeneratorWitnessMIR
) Compute generator saved locals on MIR rust-lang/rust#101692ConstEvalCounter
) Use stable metric for const eval limit instead of current terminator-based logic rust-lang/rust#106227This change caused all stubbing code to fail (CI will fail) and I could use help with it:
output_filenames
a real query rust-lang/rust#106812I think what we're seeing is that
queries.global_ctxt()?
is now "held" by rustc_driver across theafter_expansion
call, and consequently our use ofqueries.global_ctxt().unwrap().enter()
fails here:kani/kani-compiler/src/kani_middle/stubbing/annotations.rs
Line 43 in 4178958
This might be a bug with that change in upstream rust? @celinval what do you think?
Resolved issues:
Resolves #2114
Testing:
How is this change tested? ci
Is this a refactor change? no
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.