Rust Libs
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.

      Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Explore these features while you wait
      Complete general settings
      Bookmark and like published notes
      Write a few more notes
      Complete general settings
      Write a few more notes
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.

    Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Explore these features while you wait
    Complete general settings
    Bookmark and like published notes
    Write a few more notes
    Complete general settings
    Write a few more notes
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Libs Meeting 2026-06-03 ###### tags: `Libs Meetings` `Minutes` **Meeting Link**: https://meet.jit.si/rust-libs-meeting-ujepnbwg2lzqgt6wvrndwimi **Attendees**: Nia Deckers, Amanieu, The 8472, thomcc, Urgau, Chris Denton, Josh Stone, Nurzhan Saken, bendn, clarfonthey, qj ## Agenda - Triage - Anything else? ## Triage ### FCPs 7 rust-lang/rust T-libs FCPs - merge rust.tf/155750 *Document that \`ManuallyDrop\`'s \`Box\` interaction has been fixed* - (3 checkboxes left) - merge rust.tf/155697 *Stabilize c\-variadic function definitions* - (6 checkboxes left) - merge rust.tf/155739 *Add temporary scope to assert\_eq and assert\_ne* - (3 checkboxes left) - merge rust.tf/155421 *Document panic in \`RangeInclusive::from(legacy::RangeInclusive)\`* - (3 checkboxes left) - merge rust.tf/132484 *unix: Relax escaping in \`Debug\` impl on \`Command\`* - (0 checkboxes left) - merge rust.tf/149648 *Mark const SIMD intrinsics as indirectly stable* - (4 checkboxes left) - merge rust.tf/134021 *Implement \`IntoIterator\` for \`\[&\[mut\]\] Box\<\[T; N\], A\>\`* - (3 checkboxes left) 1 rust-lang/rust-forge T-libs FCPs - merge github.com/rust-lang/rust-forge/issues/1040 *Add an LLM policy for \`rust\-lang/rust\`* - (6 checkboxes left) [nagisa (1)](https://rfcbot.rs/fcp/nagisa), [traviscross (1)](https://rfcbot.rs/fcp/traviscross), [the8472 (5)](https://rfcbot.rs/fcp/the8472), [saethlin (1)](https://rfcbot.rs/fcp/saethlin), [digama0 (1)](https://rfcbot.rs/fcp/digama0), [nikomatsakis (1)](https://rfcbot.rs/fcp/nikomatsakis), [BoxyUwU (1)](https://rfcbot.rs/fcp/BoxyUwU), [Amanieu (3)](https://rfcbot.rs/fcp/Amanieu), [CAD97 (1)](https://rfcbot.rs/fcp/CAD97), [joshtriplett (3)](https://rfcbot.rs/fcp/joshtriplett), [scottmcm (3)](https://rfcbot.rs/fcp/scottmcm), [tmandry (2)](https://rfcbot.rs/fcp/tmandry), [BurntSushi (2)](https://rfcbot.rs/fcp/BurntSushi), [joshlf (1)](https://rfcbot.rs/fcp/joshlf), [dtolnay (1)](https://rfcbot.rs/fcp/dtolnay), [spastorino (1)](https://rfcbot.rs/fcp/spastorino) ### (Prioritization Requested) rust.tf/157363 *1.97 beta regression due to \`TryFromIntError\` changing size* Nia (pre-meeting): I couldn't find any acknowledgement of this possibly causing a regression in [the PR that caused this](https://github.com/rust-lang/rust/pull/153178), so we may want to decide if this actually constitutes acceptable breakage or not. ### (Nominated) rust.tf/154715 *split try trait in twain* Nia: Got nominated on "do we want this or wait for bigger refactor of Try?". There's been talk about refactoring it with GATs. I'd say... The 8472: Is this not an API quesiton? Amanieu: Should be discussed with scottmcm, but he hasn't been active in Try discussions lately. Nia: Need to ping him. Amanieu: Has been pinged and hasn't responded. Nia: Is there ?? for next libs API meeting? Josh S: There's #lang/try on Zulip, maybe worth raising there. Nia: Good to know. Happy to drop the PR link there. Josh S: For our part, it's an API question. Nia: I'll nominate for libs-api and we'll discuss next Tuesday. ### (Nominated) rust.tf/155816 *Libs proposal: Policy for constifying traits and trait implementations* Nia (pre-meeting): We [responded](https://github.com/rust-lang/rust/issues/155816#issuecomment-4557372840) last week, but some of us were not here. Do we have more to say or should we unnominate? Nia: We said the policy looks good, but it'd be useful if the people who weren't here last time spoke out. Josh S: ~~Already checked my box.~~ Haven't checked it yet. Nia: I'll unnominate this and wait for their final answer. The 8472: Is it our responsibility? I see the lang-radar... Should we approve it? Nia: We've approved it with the caveats (pinging wg-const-eval)... The 8472: If it's about PRs, then we should also notify our reviewer channel. Nia: Happy to do that. I assumed... but happy to do it as libs instead. Not sure what the process is, as it's just a process proposal. The 8472: We could update our libs documentation, but in principle this is like an unstable feature, so hopefully resolves in a year (stabilizing const stuff). Nia: Ok, I'll drop the link to the zulip reviewer stream for now, tell the author to (what's the right place for this, the dev guide?) The 8472: Yes. Nia: I'll reply with that. Thank you for bringing it up. (More people joined.) ### (Nominated) rust.tf/156496 *Redesigned \`Components\` iterator to use front and back indexing instead mutating and subslicing path field* Nia (pre-meeting): See [this comment from last week](https://rust-lang.zulipchat.com/#narrow/channel/259402-t-libs.2Fmeetings/topic/Meeting.202026-05-27/near/598143659) for context. Nia: The author replied. They clarified on Zulip: yes, it's a perf thing that's relevant for some stuff they want for Ancestors that we approved a couple months back. Based on that, I'd say +1 from us. For the case of moving forward it's probably fine. The 8472: 10% slower is not insignificant... Is cargo part of our... in previous times we optimized path stuff... clarfonthey: I intended to show up last week for this... Part of this is related to using paths in a btreemap, and about 80% of the program's runtime was in path comparisons. I think this person saw my issue and wanted to improve that. There may be potential API solutions to solve this. The main issue with Components is that the prefix logic is basically the entirety of the logic... The 8472: Oh, you're on Windows? clarfonthey: The Windows logic needs to be done on every program The 8472: I thought we disabled it for non-Windows clarfonthey: No, that's the reason it's so bad. The 8472: I thought I added some check that's supposed to be false on Linux... but maybe that's the wrong place I'm thinking of. clarfonthey: The main issue is that even if we do have differences between slashes, this is the only difference between the path impls betweeen the platforms. The Components iterator is accounting for Windows-specific prefixes every time. The prefix parsing could be optimized out of the logic. The 8472: This should lead to early bailout on non-Windows: https://github.com/rust-lang/rust/blob/042c759f774872cf2f94c6685ce87e24c046c722/library/std/src/path.rs#L953. I think I used it in a few other places too. https://github.com/rust-lang/rust/blob/042c759f774872cf2f94c6685ce87e24c046c722/library/std/src/path.rs#L671 clarfonthey: I think that path is not always being followed. I'll check it more. As it stands, it's not just about optimizing the Windows path on UNIX. The 8472: Maybe I missed something that's relevant to your use case, or maybe you were benchmarking with ?? such that it doesn't optimize well. clarfonthey: I used release mode, so should have been fully optimized. Specifically, PartialOrd was slow. I think it parses the prefix before the bailout step. It may have also been that there's been an attempt to improve this, and future changes undid that? clarfonthey: Another thing, I've been thinking of an API proposal for relative path type which specifically optimizes the prefix logic regardless of platform. On every platform, it would just be a string with slashes everywhere The 8472: We have a wishlist for Path somewhere, maybe this could be added there. clarfonthey: Maybe I want to think about it in this PR. It'd make sense if we optimized it here. I agree that 10% or even 1% is not good when Paths are used everywhere. The 8472: Cargo does a lot of Path processing... Chris: We have ?? The 8472: Only the compile overhead, but I did runtime benchmarks. Josh: The perf-suite... Amanieu: It specifically measures rustc time. Josh: We have several Path wishlists, but I don't know which is the canonical one. Would be good to consolidate them. Nia: For this PR, we could ask if it's possible to come up with benchmarks for cargo to see if it's affected. If not, I'd accept the 10% slowdown compared to the wins it gives elsewhere. The 8472: What was the use case? Nia: Ancestors. clarfonthey: Components and Ancestors are the same logic, just in a different way. They're both trying to find bounds of components, it's just what path they're returning at the end. The 8472: Yeah, but is it for regular use of ancestors or the proposed change for ancestors? Would it regress for everyone except the new API users? clarfonthey: I think we shouldn't accept a change that would cause regressions, ?? clarfonthey: We can make solid improvements to this without causing regressions. There's something we can do. Nia: I'll defer to your knowledge. If you're confident that this can be done without significant slowdowns, let's say to wait until there's a design that does so. clarfonthey: There were also some weird optimization issues the author ran into. Maybe something small needs to be fixed to improve it. The 8472: They optimized pretty hard to... look at the inner loop that does component matching. Nia: Seems like this needs more review, let's move on. ### (Nominated) rust.tf/157170 *Use \`impl\` restrictions in \`std\`, \`core\`* Nia: This is to replace sealed trait. Do we want to do this? Josh: Looks like an impl matter because none of the sealed traits are public. It's a matter of "do we want to replace sealed traits with restrictions, which will be stabilized at some point?". ~~The primary concern is the lack of rustdoc support.~~ Oh, rustdoc just merged the support. Nia: Then it seems like a trivial +1, unless more concerns. The 8472: Nia: I don't think it's a stability guarantee... The 8472: Not stability, just internal use. Would it break if used across crate boundaries? Nia: AFAIK, it should be ok to switch back to sealed traits if we need to cross crate boundaries. I'll respond with +1? Josh: Sounds good. Will start a libs thread for support of coherence domains. ### (Regressions) rust.tf/139730 `P-high` *A case of compound x86\_64 performance regression caused by LLVM 20 and #124810* ### (Regressions) rust.tf/53340 `P-low` *Performance regression in tight loop since rust 1.25* ### (Regressions) rust.tf/119560 `P-low` *\`cargo test\` performance regression on Windows on version 1.75.0* ### (Regressions) rust.tf/124216 `P-medium` *Performance regression: rustc failed to optimize specific x86\-64 SIMD intrinsics after 1.75.0* ### (Regressions) rust.tf/130320 `P-medium` *stdlib code size increase in nightly\-2024\-09\-01 for aarch64\-linux\-android* ### (Regressions) rust.tf/142119 `P-medium` *Linking a Rust staticlib unexpectedly changes C math functions from libm to bundled ones from compiler\-builtins* ### (Regressions) rust.tf/142345 `P-low` *\`pin!()\` macro no longer constant\-promotes \`&mut\` references to empty arrays* ### (Regressions) rust.tf/145424 *rustc output no longer reproducible if it crashes* ### (Regressions) rust.tf/149752 `P-high` *TrivialClone is not derived for generic types (Performance regression)* ### (Regressions) rust.tf/152942 *Query depth limit overflow due to nested async fn when building matrix\_sdk* ### (Regressions) rust.tf/153425 `P-medium` *\`&pin!()\` stopped being deref\-coerced in rust 1.88* ## Actions - [ ] Reply to all issues/PRs discussed in this meeting, or add them to the [open action items](https://hackmd.io/Uehlc0qUQfWfvY1swYWRgQ). _Generated by [fully-automatic-rust-libs-team-triage-meeting-agenda-generator](https://github.com/rust-lang/libs-team/tree/main/tools/agenda-generator)_

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password
    or
    Sign in via Google Sign in via Facebook Sign in via X(Twitter) Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    By signing in, you agree to our terms of service.

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully