**Meeting Link**: https://meet.jit.si/rust-libs-meeting-ujepnbwg2lzqgt6wvrndwimi
**Attendees**: Amanieu, The 8472, Mara, Josh Triplett, Chris Denton
## Agenda
- Triage
- Go through all new/old issues?
- Anything else?
## Triage
### FCPs
1 rust-lang/rust T-libs FCPs
- merge rust.tf/104385 *Raise minimum supported Apple OS versions* - (9 checkboxes left)
### (Waiting on team) rust.tf/110708 *Consider documenting that (parts of?) stdlib must not be used before/after main*
Conclusion from earlier discussion is that nearly everything works (and should work) before and after main. The main problem is thread local storage.
The 8472: What about callbacks into user code that can run after main? E.g. a panic hook?
Mara: We only need to document which parts of std don't work before/after main. don't think this falls under that.
Amanieu: I think we should just document which things depend on TLS not being destructed, and that's it.
Josh: Is there any way we can make it more robust, so that parts of the standard library that depend on TLS still work after main?
Amanieu: Before main is not a problem. Only after is an issue.
Mara: We could simply never destruct the TLS for the main thread. The same happens on wasm. And the same for `static`s etc.
Mara: We can also make thread::current() work after TLS destruction on some platforms by making use of #[thread_local]'s that don't need to be dropped. (Just for robustness. Doesn't solve the issue on all platforms.)
The 8472: The 'fix fd 0-1-2' function in std's runtime might not have run in code before main().
Mara: But we don't guarantee that we run that function anyway, so there's nothing to document about not running it.
Josh: If we do document that in the future, we can document when it runs and that user code might be able to run before it.
Amanieu: Is this issue actionable?
Mara: David was asking whether e.g. Cell or some other parts of std can be guaranteed to work before/after main, and I think the answer is yes: everything can be used before/after main, except TLS related stuff might panic.
Amanieu: Sounds good.
Amanieu to reply.
### (Waiting on team) rust.tf/111071 *assert\_eq! message format (take 2a)*
Blocked on https://github.com/rust-lang/rust/pull/112849, which is now ready for review.
Still needs team decision on the assert_eq message. Let's defer until after 112849 is merged.
### (Regressions) rust.tf/112180 *assertion failed: key as usize != KEY\_SENTVAL in DragonFly BSD*
Nothing actionable for us.
### (Regressions) rust.tf/113283 *Type annotations needed in assertion*
The revert was labeled 'temporary fix' but that seems more like a permanent fix.
Closed.
## Going through all new issues
https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3AT-libs+-label%3AC-tracking-issue
Mara: Maybe label these all as low/medium/high/critical priority?
Amanieu: We specifically need to look for issues that need input from the team.
Mara: Right. Agreed.
Mara: The compiler team has a traige (sub)team, right? Can they help us out?
The 8472: For everything that is critical, someone probably has already pinged us about it.
Mara: I'm worried that might not be the case.
Mara: I'd like to get to a point where we can go through newly filed issues every week. But right now there are 141 open issues, many of which we have never seen.
{discussion on how to use github labels}
Maybe we can look at all issues that do not have a P-* label yet.
Mara: Isn't there a bot that can add 'needs-prioritization' to those automatically?
Josh: It might be useful to post a standard comment to the issues to clarify we won't see updates unless they nominate the issue. (Perhaps put that text somewhere like the libs repo and link to it?)
Mara: Maybe all issues either need an assignee or E-help-wanted.
Josh: Makes sense
Mara: Some issues might be waiting for a decision on whether an issue is actually a bug. Like an 'unconfirmed' label on most trackers.
Josh: Alternatively, a 'confirmed' label.
The 8472: Let's go through some issues to see what their state is and find out what categorization makes sense.
Mara: Doesn't the compiler team have a 'confirmed' status for their issues?
Josh: We should invite someone from the compiler team.
Mara: Yeah, or just ask on their zulip stream.
### #80836 VecDeque is_empty and get(0) together generate unreachable panic.
The 8472: Probably fixed by now.
Mara: So we also need a 'might be fixed someone please verify' state?
The 8472: That's just putting it back to the 'unconfirmed' state.
Mara: Not entirely, because the original 'unconfirmed' means we (team) need to check it, while this new 'unconfirmed' state is for someone else to go check it.
Chris (on GitHub): Does this need a test to guard against regression?
Mara: Oh, that's yet another state for an issue.
Chris: There is a E-needs-test label already.
Mara: I'd be interested in making an overview of the states an issue can be in (unconfirmed, confirmed, needs-verification?, etc.) and checking that with the compiler team. Then we can use that next time.
Mara: So, two action items:
- Add newly filed issues to the agenda
- Have labels for all states an issue can be in, and put those without any of those labels on the agenda.
Mara to start a Zulip topic in T-compiler about labels.
### #108409 File from Path with Windows' invalid characters silently fails
The 8472: What's the state of this issue?
Chris: Hard to fix. Probably libs-api.
Seems to be part of https://github.com/rust-lang/rust/issues/107276
Josh: Close as duplicate of https://github.com/rust-lang/rust/issues/107276 ?
Yes.