# Libs Meeting 2021-06-30
###### tags: `Libs Meetings` `Minutes`
**Attendees**: Amanieu, Josh Triplett, Josh Stone, Jane, Mara, bstrie, The 8472
## Agenda
- Set up MCP process
- Josh Triplett going to do this.
- Triage
- 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*
- [[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*
- https://github.com/rust-lang/rust/pull/85874#issuecomment-859323650
Compiler team is *not* actively handling these two right now: https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.5D.202021-06-24.20.2354818/near/243797875

Notes:
- For Fuse
- Making it invariant is technically a breaking change. Can we make that change anyway? Unlikely that something depends on it.
- Crater run to try it out
- panic!() instead of unreachable_unchecked?
- Perf run?
- Remove specialization / return None
- Perf run?
- Do we have a perf run for the PR that introduced it?
Performance hit can hit a lot of people, this unsoundness bug likely affects very few people. How to make this trade off?
-> Perf run the open PR. Lean towards merging it, unless it's very bad (and not just on microbenchmarks). Wins on perf were relatively small. So should be okay.
-> For Fuse: Try the above three options.
### Prioritization Requested
None
### 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*
- std's rustdoc isn't the place to find out that Box::new is used to allocate memory in Rust.
- len with a 'length' alias etc. is not something we should do
- rustdoc's search is a *name* search, not a doc search
- `popcnt`/`popcount` are *good* examples of what we should do: exact match, different common spelling/name for the same thing.
- at some point google/ddg/bing/stack overflow/something is a better fit (e.g. "string length" or "allocate memory rust")
- we shouldn't try to fit the "full text search" use case
- underlying apis?
- **possible policy: "we could've reasonably called it this instead". e.g. "delete" for "remove", "popcnt" and "popcount" for `count_ones`, etc. "umask" for `mode`, "mkdir" for `create_dir`, etc.** This feeds into the reasonable expectation that someone might search for the name and expect to find it ("what did Rust call `mkdir`").
- **don't add the same alias to multiple things. only if they have a obvious single target that is an exact analogue**
- **it should be something people would already search for**. E.g. people aren't currently expecting results for python spcefic types, or windows apis, etc. Let's not add new features e.g. "syscall search" or something.
- **stdarch special-case: aliases from exact instruction names to the corresponding intrisics are welcome, as long as they don't conflict with other things**
- We should not add aliases that conflict with another name
- In cases where there's a high likelihood of confusion, that might be better handled by a note (with link) in the doc for A that says "if you want X, that's called B"
### Regressions
- [10 `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)
- [[47321](https://github.com/rust-lang/rust/issues/47321)] `P-low` *Performance regression on nightly (when using Cursor::read\_exact and Byteorder)*
- [[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*
- [[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*
- [[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+*
- [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?*
- [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*
### Backports
None
## 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)_