Skip to content

Sized Hierarchy and Scalable Vectors #270

Open
0 of 2 issues completed
Open

Description

@nikomatsakis
Metadata
Contact @davidtwco
Team(s) compiler (@davidtwco), lang (@nikomatsakis), libs (@Amanieu), types (@lcnr)
Goal document 2026/scalable-vectors

Summary

Over the next year, we will build on the foundational work from 2025 to stabilize
the Sized trait hierarchy and continue nightly support for scalable vectors:

  • Stabilize the refined Sized trait hierarchy (without constness), unblocking extern types
  • Propose and implement const Sized to support scalable vectors
  • Achieve RFC acceptance for [RFC #3838] (Scalable Vectors)
  • Land SVE types and intrinsics in stdarch for nightly experimentation
  • Continue addressing stabilization blockers for SVE itself
  • Begin design work for supporting the Scalable Matrix Extension (SME)

The const Sized work (Part II of [RFC #3729]) is deferred to a future goal,
allowing us to deliver value sooner through the trait hierarchy stabilization.
This future work interacts with ongoing const generics
efforts, as const Sized depends on progress in const traits.


This issue is intended for status updates only.

For general questions or comments, please contact a goal owner or post in the Zulip topic.

Activity

  1. added this to the 2025h1 milestone on Feb 18, 2025
  2. nikomatsakis commented on Feb 18, 2025

    @nikomatsakis
    ContributorAuthor

    This issue is intended for status updates only.

    For general questions or comments, please contact the owner(s) directly.

  3. davidtwco commented on Feb 19, 2025

    @davidtwco
    Member

    An initial update on what we've been up to and some background:

    • This goal is submitted on behalf of the Rust team at Arm, but primarily worked on by myself (@davidtwco) and @JamieCunliffe. Anyone interested can always contact me for updates and I'll keep this issue up-to-date.
    • @JamieCunliffe been working on supporting Arm's scalable vector extension (SVE) for a couple years - primarily in RFC: Add a scalable representation to allow support for scalable vectors rfcs#3268 and its implementation Support for a scalable simd representation rust#118917.
      • Through this work, we've discovered other changes to the language necessary to be able to support these types without special cases in the type system, which we're also working on (see below).
      • Jamie is still resolving feedback on this RFC and its implementation, and keeping it rebased. We hope that it can be landed experimentally now that there's a feasible path to remove the special cases in the type system (see below).
      • The next steps for this RFC and implementation are..
        • ..to continue to respond to feedback on the RFC and implementation.
    • I've (@davidtwco) been working on Hierarchy of Sized traits rfcs#3729 which improves Rust's support for exotically sized types, and would allow scalable vectors to be represented in the type system without special cases.
      • We've had two design meetings with the language team about the RFC and had a broadly positive reception.
      • I've been working on implementing the RFC: an initial implementation of the non-const traits has been completed and adding the const traits is in-progress.
        • The language team have indicated interest in seeing this land experimentally, but this will depend on whether the implementors of const traits are okay with this, as it would add to the work they need to do to make any syntactic changes requested by the language team in Make trait methods callable in const contexts rfcs#3762.
      • I'm continuing to respond to feedback on the RFC, but as this has largely trailed off, the next steps for this RFC are..
        • ..for the language team to decide to accept, reject, or request further changes to the RFC.
        • ..for progress on the implementation to continue.
  4. moved this to Project goals in Lang team featureson Feb 21, 2025
  5. davidtwco commented on Mar 3, 2025

    @davidtwco
    Member

    A small update, we've opened a draft PR for the initial implementation of this - rust-lang/rust#137944. Otherwise, just continued to address feedback on the RFCs.

  6. moved this to Project goal in Lang team featureson Mar 4, 2025
  7. 35 remaining items

  8. changed the title [-]SVE and SME on AArch64[/-] [+]Sized Hierarchy and Scalable Vectors[/+] on May 5, 2026
  9. modified the milestones: 2025h2-goals, 2026 on May 5, 2026
  10. tomassedovic commented on May 5, 2026

    @tomassedovic
    Contributor

    This is a continuing project goal, and the updates below this comment will be for the new period 2026

  11. added
    ex-2025h2Goals that were previously in 2025h2 (for reporting)
    and removed on May 11, 2026
  12. davidtwco commented on Jun 16, 2026

    @davidtwco
    Member

    Since our last update, on the Scalable Vector half of the goal:

    On the Sized Hierarchy half of the goal:

    • We've been working with @nikomatsakis to clarify some of the open questions that came out of our last design meeting on "only bounds", to which Niko wrote a blog post. We've since started a crater run to understand the potential impact of adding a contextual only keyword (crater: contextual implementation of only trait bound modifier rust#157696)
    • We had a session at the All Hands, primarily with t-libs, on the naming of the traits in the Sized Hierarchy proposal and believe we've come to some early consensus on Sized, MetadataSized and MaybeSized
    • We had a session at the All Hands and a follow-up call with @lcnr and @yoshuawuyts to understand the migration strategy for the Sized Hierarchy traits and new default auto traits, and how we could work together with the other ongoing project goals
      • We're going to start implementing the FCW-approach so we can start understanding what challenges the implementation side of that work will have
    • We plan to follow-up on our open PR to add a redundant sizedness bound lint since discussions around this work in general have advanced (Uplift and extend clippy::needless-maybe-sized into rustc rust#145924)
    • We've been working on advancing the next solver work in general, assisting @lcnr and the types team, as we'll need it eventually for const sizedness

    We plan to update the RFC to reflect all of the above once we've made a little bit more progress.

  13. davidtwco commented on Jul 15, 2026

    @davidtwco
    Member

    Since our last update, on the Scalable Vector half of the goal:

    On the Sized Hierarchy half of the goal:

  14. davidtwco commented on Sep 3, 2026

    @davidtwco
    Member

    Since our last update, on the Scalable Vector half of the goal:

    On the Sized Hierarchy half of the goal:

    • @lqd continues working on the FCW for migration, but with the stabilisation of Polonius on nightly ( 🎉 ), we've not made as much progress here as planned
    • We've not made much progress discussing syntax and naming with lang due to holidays/relocations/conferences/etc. I expect more progress on this front by the next update.
  15. davidtwco commented on Oct 15, 2026

    @davidtwco
    Member

    Since our last update, on the Scalable Vector half of the goal:

    And on the Sized Hierarchy half of the goal:

    • @lqd continues working on the FCW for migration
    • We had a constructive meeting with @nikomatsakis in our regular sync where we agreed on a path forward for the open syntax/naming questions from lang, which we'll update our RFC with (perhaps once we know more about the migration part from the FCW work) and the implementation with
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions