---
title: 2022 Q3 P-high review (2022-09-30 meeting)
tags: steering, rustc
---
# P-high review 2022 (Q3)
## Proposed Agenda
* Review the issue with no team, make sure they have one
* Review the T-compiler P-high issues with no WG assigned, try to identify a WG to own them
* If that fails, but they do have an *active* owner, then tag with WG-none.
* Choose a category of remaining issues to review for rest of meeting
* e.g. A-linkage? A-LLVM? A-codegen? A-lifetimes?
## Missing team label
[P-high issues without team label][P-high issues w/o T-* label]
* "Codegen/allocator regression from 1.60" [#97217](https://github.com/rust-lang/rust/issues/97217)
* I'm guessing that #97217 is an issue with how LLVM is optimizing the code; either we're generating different kind of bitcode, or LLVM is failing to optimize this as frequently now for some reason.
* Who should get this? It doesn't seem sufficient to just assign it to A-LLVM
* Tagged with T-compiler A-LLVM
* Downgraded from P-high to P-medium
[P-high issues w/o T-* label]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AP-high+-label%3AT-cargo+-label%3AT-community+-label%3AT-compiler+-label%3AT-core+-label%3AT-crates-io+-label%3AT-dev-tools+-label%3AT-docs-rs+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-style+-label%3AT-types
## P-high T-compiler WG-nll (all need WG reassignment)
There are *zero* such issues! Done!
## P-high T-compiler missing owner (WG or assignee)
### No WG nor assignee
[P-high T-compiler issues without any working group nor individual assignee][P-high T-compiler w/o WG nor assignee]
(39 open issues)
* Our goal for each of these is to assign a WG label, preferably for a WG that we expect to triage issues and try to work through backlog.
**MOVE THE CURSOR BELOW AS WE GO THROUGH THE MEETING**
(the idea is that we take notes as we go through, but we avoid cut-and-pasting anything larger than a short line.)
#### #102402 "Value differs between debug and release: 1.0 / ((-0.0) * black_box_zero)"
* assigned @nikic
#### #102352 "Regression: false positive from unreachable_pub lint"
* pinged @petrochekov and @oli-obk
* added A-lint A-visibility
#### #101346 "Potential miscompilation on i686 of chacha20"
* added WG-none and listed pnkfelix+wesleywiser in description as loose owners via tracking of https://github.com/llvm/llvm-project/issues/57550
#### #101060 "Codegen weirdness for sum of count_ones over an array"
* added WG-none and listed pnkfelix+wesleywiser in description as loose owners via tracking of https://github.com/llvm/llvm-project/issues/57476
#### #101048 "codegen regression for bool"
* nikita self-assigned
#### #100914 "Double free on Linux with stable toolchain"
* problem occurs with stack sizes exceeding 2G
* potentially related to LLVM issue llvm/llvm-project#48911
* discussion point: should we try to invest effort in a rustc-local fix?
* we decided its okay to let this sit unassigned for now
#### #100725 "Borrow checking for static methods became more strict"
* this is reclassified as a diagnostics issue
* it will be fixed by PR #100976
* downgraded from P-high to P-medium
* reassigned from T-compiler to T-types
#### #99668 "How should we expose atomic load/store on targets that don't support full atomics"
* much discusion/debate on issue thread about what to do here
* left comment asking about what to do in rustc side to make use of more recent LLVM changes
#### #98117 "Unsoundness due to where clauses not checked for well-formedness"
* lcnr says they will dig into this soonish
#### #97552 "Vec::deref no longer inlined if LTO is enabled"
* retitled since we already added a workaround for Vec
* nikic says that we're using opaque pointers in our LLVM backend, so this issue might just be resolved.
#### #96306 "3.2_f32 formatted as 0 on powerpc64le"
* resolved, closed
#### #96194 "nested RPIT and HRTB: unclear semantics and future incompatibility"
* no longer a hazard, just a feature request
* removed P-high label
#### #96054 "Rust 1.60.0 fails to build on Solaris"
* believed resolved, closed
#### #95926 "rustc 1.59/1.60 builds musl binaries that segfault, when compiling with musl-gcc wrappers, due to static-pie default"
* left comment suggested potential short-term action
#### #93774 "Compiler (effectively) hangs, regression from overflow error"
* reassigned to T-types
#### #90316 "Rust 1.56 injected a valgrind incompatibility for Linux/AAarch64"
* closing as fixed
#### #90256 "Rustc passes syntactically invalid input to attribute macros"
* real problem. Asking @estebank and @compiler-errors to take point on it.
* left comment
#### #89601 "nightly-2021-09-03: Compiler hang in project with a lot of axum crate routes"
* closed as resolved
#### #89241 "Performance regression in string interner benchmark (1.53.0 → 1.55.0)"
* closed as non-actionable
#### #88888 "stability break in rust 1.54: generic Self types are currently not permitted in anonymous constants"
* We don't see any obvious workaround for the problem described, which seems bad.
* left comment and pinged project-const-generics to ask them to investigate paths to resolution
#### #86712 "Rust musl build segfaults on startup when linked with LLD 12"
* needs further bisection (and confirmation that it still occurs with newer LLD)
* pnkfelix self-assigned for further investigation
#### #86511 "match an std::cmp::Ordering generates less optimized code in nightly"
* left comment outlining several potential action items
* but also downgraded to P-medium
#### #86172 "Compile error: static lifetime not satisfied but it is"
* tagged with wg-async as immediate owner
#### #85099 "A Pin unsoundness involving an impl DerefMut for Pin<&dyn LocalTrait>"
* definitely worrisome
* but T-types has already tagged themselves here
#### #84873 "Compile time+memory regression between 1.49.0 and 1.50.0"
* much progress made
* main task is to check if issue on original code base is still a problem, since that user has since put in work-arounds.
#### #84857 "auto trait candidate selection is unsound"
* owned by T-types
* Work seems to be ongoing in #93367, including a lint that fires today, so at least people are aware of the issue, I hope.
#### #84366 "'static closures with non-'static return type are unsound"
* Owned by T-types
* work seems to be ongoing in PR #84385
#### #84097 "Disk usage 2-3x somewhere around 1.48"
* discussion thread implies "working as expected"
* left comment and closed
#### #83911 "High memory use on Rust 1.51.0 with thin LTO and debuginfo"
* most recent comment says: "That said, this is no longer reproduceable starting1 with nightly-2021-04-02."
* closing as fixed.
#### #81408 "ACCESS_VIOLATION when dereferencing once_cell::Lazy in closure with LTO"
* already fixed
#### #80951 "regression 1.50: Duplicate symbol linker error"
* many indications that this not be real regression
* there are potentially strange interactions with the channel name that are impeding the investigation of whether it is a real regression
* consensus is that the actual likelihood of regression here is sufficiently low that we can downgrade
* downgraded to P-medium
* assigned to pnkfelix
#### #80706 "ICE(stable): thread 'rustc' panicked at 'called Option::unwrap() on a None value', compiler/rustc_middle/src/ty/instance.rs:434:85"
* closed as fixed
#### #80703 "rust-lld doesn't work on Linux unless executed with rustup wrapper "
* assigned to lqd
#### #80127 "rustc has wrong signature for C function with 16-byte aligned stack argument in x86_64 Linux"
* left a comment pointing at PR #103830 as being the current plan here.
#### #79609 "Passing -C panic=abort still attempts to link in libunwind when targeting i686-pc-windows-gnu on v1.44+"
* left comment saying that a truly seamless fix here is either hard or impossible, but that we can do much better in terms of the diangostic feedback that `rustc` provides.
#### #78686 "Linking with LLD fails (on Windows) but only in 32-bit (due to space in path)"
* left comment
* questioned whether this should be P-high at all
* did not assign any owner
#### #76360 "Error reporting from attribute macros regressed in 1.46.0"
* already left comment here 28 days ago. (Is there an error in our doc here?)
#### #74657 "linker-plugin-lto stopped working in Rust 1.45.0"
* left comment and self-assigned
#### #70143 "Locals aligned to greater than page size can cause unsound behavior"
* left comment and assigned to cuviper
### No WG (but has assignee, so its okay if we just ping these)
[P-high T-compiler issues without any working group label][P-high T-compiler w/o WG]
(53 - 39 = 14 open issues)
* For each, check if it seems like owner is active.
* If so, add WG-none.
* If not, add a ping comment for the owner, asking for status/thoughts/is-reassignment-needed?
#### #101082 "Regression: Inlined loops not fully evaluating with const-eable dependencies"
* added [comment for nikic](https://github.com/rust-lang/rust/issues/101082#issuecomment-1355039292)
#### #100615 "Anon lifetime in impl Trait no longer suggests adding a lifetime parameter"
* closed!
#### #89503 "Where bounds with associated types equality cause overflow."
* reassigned to T-types
#### #85155 "Improve diagnostics of evaluation of constant value failed errors"
* left comment for @lqd and @oli-obk
#### #84970 "Unstable fingerprints tracking issue"
* left comment
#### #82151 "undefined reference to linker error when using dylibs"
* left [comment](https://github.com/rust-lang/rust/issues/82151#issuecomment-1355098551)
#### #81317 "Type can no longer be inferred in 1.49"
* left [comment](https://github.com/rust-lang/rust/issues/81317#issuecomment-1355128391)
#### #80816 "regression 1.49: problem with autoderef and trait method"
* might now just be E-needs-test
* left [comment](https://github.com/rust-lang/rust/issues/80816#issuecomment-1355124529)
#### #79590 "internal compiler error: unexpected panic"
* left [comment](https://github.com/rust-lang/rust/issues/79590#issuecomment-1355138710)
* and revised title
#### #75385 "Link fails with actix-web when using GNU linker's default linker script"
* left [comment](https://github.com/rust-lang/rust/issues/75385#issuecomment-1355143624) seeing if current owner (wesley) needs reassignment
#### #70022 "Statics don't support alignments larger than the page size"
* left [comment](https://github.com/rust-lang/rust/issues/70022#issuecomment-1355148305) that we should still do something here, and maybe I'll make a screencast from it.
#### #67497 "Switching to opt-level=z on i686-windows-msvc triggers STATUS_ACCESS_VIOLATION"
* left [comment](https://github.com/rust-lang/rust/issues/67497#issuecomment-1355153869)
#### #66916 "Emscripten builds broken on nightly? (Linking errors in fresh "hello world" crate)"
* pnkfelix [claimed](https://github.com/rust-lang/rust/issues/66916#issuecomment-1355155653) from wesley
#### #64340 "Linking issue with Rust 1.37.0"
* left [comment](https://github.com/rust-lang/rust/issues/64340#issuecomment-1355157400)
### Has WG (consider pinging)
(62 - 53 = 9 open issues)
[WG-async][]: 2
#### #72837 "Compiling simple (but long) code with lots of async/await takes hours"
* left [comment](https://github.com/rust-lang/rust/issues/72837#issuecomment-1355164909) for tmandry
#### #68109 "rustc panics when compiling code that uses tokio's LocalSet"
* E-needs-test
* pnkfelix [claimed](https://github.com/rust-lang/rust/issues/68109#issuecomment-1355170752)
[WG-diagnostics][]: 3
#### #99256 "Source of lifetime coercion is not reported starting in 1.63"
* left [comment](https://github.com/rust-lang/rust/issues/99256#issuecomment-1355174131)
#### #70819 "forbid overwritten by later allow on the same "scope level""
* left [comment](https://github.com/rust-lang/rust/issues/70819#issuecomment-1355183701)
#### #53934 "disambiguate between multiple suggestions and a single multi-span suggestion; or, JSON error format is not round-trippable"
* left [comment](https://github.com/rust-lang/rust/issues/53934#issuecomment-1355188536)
[WG-embedded][]: 1
#### #65391 "rust-lld since 1.38 overlaps .text with .rodata for embedded arm target"
* left [comment](https://github.com/rust-lang/rust/issues/65391#issuecomment-1355192538)
[WG-incr-comp][]: 2
#### #76037 "Disk cache ICE with big array"
* pnkfelix [claimed](https://github.com/rust-lang/rust/issues/76037#issuecomment-1355194370)
#### #58368 "A big regression in tokio-webpush-simple-opt"
* closed as non-actionable anymore
[WG-project-ffi-unwind][]: 1
#### #52652 "Abort instead of unwinding past FFI functions"
**THIS IS THE CURSOR**
[WG-project-ffi-unwind]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AT-compiler+label%3AP-high+label%3AWG-project-ffi-unwind+
[WG-incr-comp]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AT-compiler+label%3AP-high+label%3AWG-incr-comp
[WG-embedded]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AT-compiler+label%3AP-high+label%3AWG-embedded
[WG-diagnostics]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AT-compiler+label%3AP-high+label%3AWG-diagnostics
[WG-async]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AT-compiler+label%3AP-high+label%3AWG-async
[P-high T-compiler w/o WG nor assignee]: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label%3AT-compiler+label%3AP-high+-label%3AWG-embedded+-label%3AWG-project-ffi-unwind+-label%3AWG-diagnostics+-label%3AWG-async+-label%3AWG-incr-comp+no%3Aassignee
[P-high T-compiler w/o WG]: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label%3AT-compiler+label%3AP-high+-label%3AWG-embedded+-label%3AWG-project-ffi-unwind+-label%3AWG-diagnostics+-label%3AWG-async+-label%3AWG-incr-comp