# 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)_