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