Update Rust toolchain to nightly-2023-02-03#2184
Update Rust toolchain to nightly-2023-02-03#2184tedinski wants to merge 4 commits intomodel-checking:mainfrom
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_filenamesa real query rust-lang/rust#106812I think what we're seeing is that
queries.global_ctxt()?is now "held" by rustc_driver across theafter_expansioncall, 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.