---
# System prepended metadata

title: 2022 Q3 P-high review (2022-09-30 meeting)
tags: [' rustc', steering]

---

---
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

