# Libs Meeting 2021-07-07 ###### tags: `Libs Meetings` `Minutes` **Attendees**: Jane, Josh Stone, Amanieu, Josh Triplett, Mara, The 8472 ## Agenda - Triage - List of allowed `#![feature]`s in std - Possibly with extra warnings/restrictions per feature. - Split library and lang features. - Check with compiler team if they're actually comfortable with all the lang features we enable. - It's hard to see where we rely on features. - Smaller scopes for feature enable gates would be nice. - Applying `#[feature(..)]` on just a single function doesn't seem to work properly. Let's fix this bug. Mara to report the bug. - Start with making the overview. Mara: Make issue for this. JoshTriplett to review/help evaluate. - Add this to the std dev guide. - Maybe enforce it in the build system. There's already a mechanism for it. Maybe more features should use that. - Anything else? ## Triage ### Critical - [2 `rust-lang/rust` `T-libs` `P-critical` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs+label:P-critical) - [[85863](https://github.com/rust-lang/rust/issues/85863)] `P-critical` *iter::Fuse is unsound with how specialization currently behaves around HRTB fn pointers* - Two potential solutions available now from \@cuviper. - One had negative perf results, but #86765 seems okay. -> Mark as ready to review. - [[85873](https://github.com/rust-lang/rust/issues/85873)] `P-critical` *TrustedRandomAccess optimization for Zip containing vec::IntoIter is unsound with how specialization currently behaves around HRTB fn pointers* - Original solution in [#85874](https://github.com/rust-lang/rust/pull/85874) regressed the .into_iter+collect specialization (e.g. free `Vec<u32>` to `Vec<i32>` conversion). PR has been updated with a new trait to avoid this. Still needs to be reviewed. ### Prioritization Requested - [1 `rust-lang/rust` `T-libs` `I-prioritize` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs+label:I-prioritize) - [[86831](https://github.com/rust-lang/rust/issues/86831)] *regression: infallible residual could not convert error* ### Backports (into 1.54) - [1 `rust-lang/rust` `T-libs` `beta-nominated` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs+label:beta-nominated) - [[85874](https://github.com/rust-lang/rust/pull/85874)] *Remove unsound TrustedRandomAccess implementations* - This PR is not yet finished. - Instead, we can backport [#86222](https://github.com/rust-lang/rust/pull/86222), which was already backported into 1.53. - Let's backport that one, unless the new PR is simple enough. - Mara to make the PR. ### Nominated - [1 `rust-lang/libs-team` `T-libs` `I-nominated` items](https://github.com/rust-lang/libs-team/issues?q=is:open+label:T-libs+label:I-nominated) - [[18](https://github.com/rust-lang/libs-team/issues/18)] *We need a doc(alias) policy* - Discussed last time. Needs writeup. - Policy at https://github.com/rust-lang/std-dev-guide/pull/25 . Consensus to merge? - Reviewed in the meeting. :heavy_check_mark: - We have some aliases already in std that don't match. Let's remove those. ### Regressions See also [this Zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/Regression.20issues/near/244681122). - [9 `rust-lang/rust` `T-libs` `regression-from-stable-to-stable` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs+label:regression-from-stable-to-stable) - [[53340](https://github.com/rust-lang/rust/issues/53340)] *Performance regression in tight loop since rust 1.25* - [[53823](https://github.com/rust-lang/rust/issues/53823)] `P-medium` *Binary search performance regressed in 1.25* - [[62439](https://github.com/rust-lang/rust/issues/62439)] *1.65x performance regression from 1.35.0 to 1.36.0* - [[67599](https://github.com/rust-lang/rust/issues/67599)] `P-medium` *Backtrace is \<unknown\> for dynamic library loaded through dlopen using absolute file path for rust \>= 1.37.0 on OSX* - [[71359](https://github.com/rust-lang/rust/issues/71359)] `P-medium` *Regression in usable type complexity: overflow representing the type \`...\`* - [[73030](https://github.com/rust-lang/rust/issues/73030)] `P-high` *\[stable regression\] #\[should\_panic\] tests segfault in certain OS X configurations with 1.44.0* - Probably fixed. Hard to verify. - [[78713](https://github.com/rust-lang/rust/issues/78713)] `P-medium` *regression: \`panic!\` and RUST\_BACKTRACE=1 Show Wrong & Non\-Informative Function Names when Unwinding* - [[80804](https://github.com/rust-lang/rust/issues/80804)] `P-high` *1.49 seems to have bumped required macOS version* - Drop support for old macOS entirely? No clear policy. Check with other teams? - Firefox is about to drop support this month. (And isn't using current Rust for that anyway.) - Merge proposed solution with the 'quirk' on old macOS, and start the conversation about dropping/downgrade support for old macOS. - [[83528](https://github.com/rust-lang/rust/issues/83528)] `P-low` *Writing to \`stdout\` with \`write()\` changed behavior between version 1.47 and \>= 1.48* - [3 `rust-lang/rust` `T-libs-api` `regression-from-stable-to-stable` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs-api+label:regression-from-stable-to-stable) - [[31407](https://github.com/rust-lang/rust/issues/31407)] `P-medium` *Float parsing can fail on valid float literals* - [[44048](https://github.com/rust-lang/rust/issues/44048)] `P-low` *Support all formatting flags in \`std::path::Display\`* - [[60375](https://github.com/rust-lang/rust/issues/60375)] `P-high` *Regression: Typemap type mismatch in 1.34.0+* - Close, working as expected. JoshTriplett to comment. - [1 `rust-lang/rust` `T-libs` `regression-from-stable-to-beta` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs+label:regression-from-stable-to-beta) - [[82913](https://github.com/rust-lang/rust/issues/82913)] *Is there a gentler way to land the assert\_matches macro?* - Mara about to submit a PR for this. - [1 `rust-lang/rust` `T-libs-api` `regression-from-stable-to-nightly` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs-api+label:regression-from-stable-to-nightly) - [[85264](https://github.com/rust-lang/rust/issues/85264)] *stdarch \- compile\-time errors on invalid arguments* ## Actions - [ ] Reply to all issues/PRs discussed in this meeting, or add them to the [open action items](https://hackmd.io/ovrbJj6CRduRgSA0Wzg2zg). _Generated by [fully-automatic-rust-libs-team-triage-meeting-agenda-generator](https://github.com/rust-lang/libs-team/tree/main/tools/agenda-generator)_