---
# System prepended metadata

title: Libs Meeting 2021-06-30
tags: [Minutes, Libs Meetings]

---

# 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

![](https://i.imgur.com/8morpA9.png)

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