---
# System prepended metadata

title: Libs-API Meeting 2021-07-07
tags: [Minutes, Libs Meetings]

---

# Libs-API Meeting 2021-07-07

###### tags: `Libs Meetings` `Minutes`

**Attendees**: David, Josh Triplett, Jane, Mara, Amanieu, bstrie, The 8472

## Agenda

- Triage
- Anything else?

## Triage

### FCPs

11 open T-libs-api FCPs:
<details><summary><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs-api+label%3Aproposed-final-comment-period">11 <code>rust-lang/rust</code> FCPs</a></summary>

  - [[merge 81050](https://github.com/rust-lang/rust/issues/81050#issuecomment-765341798)] *Stabilize core::task::if\_ready!* - (0 checkboxes left)
  - [[merge 86790](https://github.com/rust-lang/rust/issues/86790#issuecomment-874019445)] *Document iteration order of \`retain\` functions* - (3 checkboxes left)
  - [[merge 84640](https://github.com/rust-lang/rust/issues/84640#issuecomment-829631948)] *Implement \`TryFrom&lt;char&gt;\` for \`u8\`* - (0 checkboxes left)
    Blocked on an open concern.
  - [[merge 85766](https://github.com/rust-lang/rust/issues/85766#issuecomment-849994105)] *Stabilize File::options()* - (2 checkboxes left)
  - [[merge 85655](https://github.com/rust-lang/rust/issues/85655#issuecomment-851174984)] *Change \`Ipv6Addr::is\_loopback\` to include IPv4\-mapped loopback addresses* - (5 checkboxes left)
  - [[merge 86335](https://github.com/rust-lang/rust/issues/86335#issuecomment-865364311)] *Commit to not supporting IPv4\-in\-IPv6 addresses* - (3 checkboxes left)
  - [[merge 85835](https://github.com/rust-lang/rust/issues/85835#issuecomment-860237594)] *Implement Extend&lt;(A, B)&gt; for (Extend&lt;A&gt;, Extend&lt;B&gt;)* - (3 checkboxes left)
  - [[merge 44434](https://github.com/rust-lang/rust/issues/44434#issuecomment-865374685)] *Provide an API to extract fields from Command builder* - (4 checkboxes left)
  - [[merge 80690](https://github.com/rust-lang/rust/issues/80690#issuecomment-846481791)] *Tracking Issue for BufWriter::into\_raw\_parts* - (1 checkboxes left)
  - [[merge 86744](https://github.com/rust-lang/rust/issues/86744#issuecomment-874111275)] *impl Default, Copy, Clone for std::io::Sink and Empty* - (3 checkboxes left)
  - [[merge 86593](https://github.com/rust-lang/rust/issues/86593#issuecomment-874130841)] *Partially stabilize \`const\_slice\_first\_last\`* - (3 checkboxes left)
</details>
<p></p>

[Amanieu (4)](https://rfcbot.rs/fcp/Amanieu), [BurntSushi (1)](https://rfcbot.rs/fcp/BurntSushi), [dtolnay (1)](https://rfcbot.rs/fcp/dtolnay), [joshtriplett (6)](https://rfcbot.rs/fcp/joshtriplett), [m-ou-se (5)](https://rfcbot.rs/fcp/m-ou-se), [sfackler (4)](https://rfcbot.rs/fcp/sfackler), [yaahc (6)](https://rfcbot.rs/fcp/yaahc)

### Nominated

- [4 `rust-lang/rust` `T-libs-api` `I-nominated` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs-api+label:I-nominated)
  - [[81050](https://github.com/rust-lang/rust/pull/81050)] *Stabilize core::task::if\_ready!*
    - Kicked off FCP. :tada:
  - [[82413](https://github.com/rust-lang/rust/pull/82413)] *Add \`Iterator::map\_windows\`*
    - Discussed last time. Still need to reply.
  - [[83608](https://github.com/rust-lang/rust/pull/83608)] *Add slice methods for indexing via an array of indices.*
    - We briefly discussed this before. Author prefers requiring sorted indexes. See [this comment](https://github.com/rust-lang/rust/pull/83608#issuecomment-861382045).
      - get_many_mut: sorted input gets awkward.
      - Maybe a fast path for sorted, but still work for unsorted input by sorting a copy of it.
        - Hard to document the performance pitfall?
        - For anything that fits on the stack, this is fast.
        - Would be nice if for constants this is check is optimized away.
      - Non-mut version required at all? Maybe not.
      - Josh to reply. (done)
  - [[84019](https://github.com/rust-lang/rust/issues/84019)] *Namespace the \`asm!\` macro*
    - Accidentally compiling x86 asm for arm isn't as common as e.g. accidentally compiling thumbv7em asm for thumbv6.
    - Namespacing it by architecture only helps with a small number of such issues.
    - Put `asm!()` in the crate root?
      - We can delay the decision about the prelude/crate root.
    - Josh to reply. (done)

### Waiting on team

- [3 `rust-lang/rust` `T-libs-api` `S-waiting-on-team` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs-api+label:S-waiting-on-team)
  - [[66358](https://github.com/rust-lang/rust/issues/66358)] *Tracking issue for \`UnsafeCell::raw\_get\`*
    - We're fine with it being method call syntax.
    - Needs some experimentation with what is possible.
    - We need to make sure it works on both `*const` and `*mut`.
  - [[76901](https://github.com/rust-lang/rust/pull/76901)] *Implement RFC 2500 Needle API (Part 1)*
    - Been on the agenda a long time. Discussed several times.
    - Still need to reply.
    - It's become clearer that we don't need integration between e.g. regex crates and std string methods as much as originally throught.
    - Retroactively close the RFC?
    - The traits will be permanently unstable, only used internally to have 'overloads' over string, char, [char], function predicate, etc.
    - Having it permanently unstable makes it much easier to use it for new string methods we might add later.
    - Unstable to implement? (Yes.) Unstable to name? (Maybe not?)
        - Allow naming the trait, but seal it?
    - FCP close it.
  - [[84770](https://github.com/rust-lang/rust/pull/84770)] *Stabilize Bufwriter::into\_raw\_parts and IntoInnerError::into\_raw\_parts, ::into\_error*

### Needs decision

- [7 `rust-lang/rust` `T-libs-api` `I-needs-decision` items](https://github.com/rust-lang/rust/issues?q=is:open+label:T-libs-api+label:I-needs-decision)
  - [[25053](https://github.com/rust-lang/rust/issues/25053)] *UnsafeCell should implement the Copy trait*
  - [[26951](https://github.com/rust-lang/rust/issues/26951)] `P-low` *Abort on some large allocation requests, Panic on other*
  - [[29494](https://github.com/rust-lang/rust/issues/29494)] `P-low` *Command does not escape arguments as expected on windows*
  - [[37868](https://github.com/rust-lang/rust/issues/37868)] *std::process::Command's current\_dir behaves differently on Unix and Windows, with respect to relative exe paths*
  - [[56889](https://github.com/rust-lang/rust/issues/56889)] *Write::write\_all erroring when encountering Ok(0) interacts poorly with the contract of Write::write*
  - [[59878](https://github.com/rust-lang/rust/issues/59878)] *Box\<\[T\]\> should have an IntoIter implementation.*
  - [[62726](https://github.com/rust-lang/rust/issues/62726)] *Tracking issue for io\_slice\_advance*

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

