--- title: 2023 Q1 P-high review (2023-10-03 meeting) tags: steering, rustc --- # P-high review 2023 (Q1) ## 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? [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 ## Missing team label [P-high issues without team label][P-high issues w/o T-* label] * "Pretty Printing on *-windows-gnu broken because .debug_gdb_scripts is not emitted" #25229 - now tagged with T-compiler and wg-debugging ## 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 (and unnominated for any team)][P-high T-compiler w/o WG nor assignee] (21 such 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.) #### "Codegen weirdness for sum of count_ones over an array" #101060 * no change; we continue to monitor https://github.com/llvm/llvm-project/issues/57476 as the expected fix for this #### "extern "C" functions don't generate the same IR definitions as clang on x86, causing problems with cross-language LTO" #102174 * [left comment](https://github.com/rust-lang/rust/issues/102174#issuecomment-1614763994) * did not identify owner/wg to adopt this; seems like a short-coming for us #### "Massive performance regression between nightly-2022-08-12 and nightly-2022-08-13" #102952 * explicit feature request for proper tail calls * [left comment](https://github.com/rust-lang/rust/issues/102952#issuecomment-1614785206) * downgraded from P-high to P-medium #### "crate fails to compile release build (v1.65+) with rustc crashing" #106555 * fixed in 1.67.0 * [left comment](https://github.com/rust-lang/rust/issues/106555#issuecomment-1614805170) * closed as fixed #### "Exponential (?) time complexity in evaluate_trait_predicate_recursively in rustdoc when proving Send/Sync" #106930 * rustdoc specific * oli-obk took ownership #### "Memory sanitizer : false positive regression in nightly-2023-01-18" #107149 * left comment re-raising RalfJ point about why the presence/absence of the `noundef` attribute should matter if the body is *indeed* noundef. #### "[ICE]: compiler segfault with GAT" #107366 * re-assigned to T-types **THIS IS THE CURSOR** #### "Miscompilation: Equal pointers comparing as unequal" #107975 * behavior has changed in recent releases: pointer comparison itself may be (more) deterministic now. * but printing result of integer comparison remains non-deterministic * still blocked on LLVM's end, with issue: https://github.com/llvm/llvm-project/issues/45725 #### "impl Trait lifetimes regression 1.67" #108591 * already closed #### "impl Trait lifetimes regression 1.67 part 2" #108592 * reassigning to T-types ### Discussed on [2023-03-03](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bsteering.5D.202023-03-03.20P-high.20review.20.20compiler-team.23590/near/339368981) #### Error reporting from attribute macros regressed in 1.46.0 [#76360] [#76360]: https://github.com/rust-lang/rust/issues/76360 * assigned to wg-diagnostics #### "Linking with LLD fails (on Windows) but only in 32-bit (due to space in path)" [#78686] [#78686]: https://github.com/rust-lang/rust/issues/78686 * left comment proposing downgrade to P-medium due to lack of interest #### "Passing -C panic=abort still attempts to link in libunwind when targeting i686-pc-windows-gnu on v1.44+ [#79609] [#79609]: https://github.com/rust-lang/rust/issues/79609 * left comment proposing doc update to explain the standard workarounds here #### "rustc has wrong signature for C function with 16-byte aligned stack argument in x86_64 Linux" [#80127] [#80127]: https://github.com/rust-lang/rust/issues/80127 * left comment asking PR author for [#103830][] if they will have time in near future to address review feedback [#103830]: https://github.com/rust-lang/rust/issues/103830 #### "auto trait candidate selection is unsound" [#84857][] [#84857]: https://github.com/rust-lang/rust/issues/84857 * left comment asking if resolving this is inherently blocked by the new trait solver ([#107374][]) [#107374]: https://github.com/rust-lang/rust/issues/107374 #### "A Pin unsoundness involving an impl DerefMut for Pin<&dyn LocalTrait>" [#85099][] [#85099]: https://github.com/rust-lang/rust/issues/85099 * nominated for T-types discussion based on input from withoutboats ### Discussed on [2023-04-14](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bsteering.5D.202023-04-14.20P-high.20review.20.20compiler-team.23590/near/349393792) #### "Rustc passes syntactically invalid input to attribute macros" #90256 * assigned to WG-diagnostics #### "Long-running const-eval (loops) unusable in practice." #93481 * downgraded to P-medium #### "rustc 1.59/1.60 builds musl binaries that segfault, when compiling with musl-gcc wrappers, due to static-pie default" #95926 * a detect+diagnostic strategy is acceptable here * tagged with E-help-wanted, E-easy, E-mentor, and assigned pnkfelix as the mentor. #### "How should we expose atomic load/store on targets that don't support full atomics" #99668 * Not clear on who best to own this, especially if the main work remaining is to add support for `+forced-atomics` to a smorgasborg of LLVM targets. * posted question for Amanieu and nikic to confirm that `+forced-atomics` support **is** the plan going forward. #### "Double free on Linux with stable toolchain" #100914 * treating as dupe of #83060 * we should "immediately" add a diagnostic warning when any one stack frame is larger than a certain threshold, simply based on all the miscellaenous code gen bugs we are seeing in this space. [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+sort%3Acreated-asc [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+sort%3Acreated-asc [WG-embedded]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AT-compiler+label%3AP-high+label%3AWG-embedded+sort%3Acreated-asc [WG-diagnostics]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AT-compiler+label%3AP-high+label%3AWG-diagnostics+sort%3Acreated-asc [WG-async]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AT-compiler+label%3AP-high+label%3AWG-async+sort%3Acreated-asc [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-debugging+-label%3AWG-embedded+-label%3AWG-project-ffi-unwind+-label%3AWG-diagnostics+-label%3AWG-async+-label%3AWG-incr-comp+no%3Aassignee+sort%3Acreated-asc+-label%3AI-types-nominated+-label%3AI-lang-nominated+-label%3AI-compiler-nominated [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+sort%3Acreated-asc