Skip to content

Tracking Issue for pattern types (pattern_types) #123646

Open
1 of 2 issues completed
Open

Description

@oli-obk

This is a tracking issue for the feature gate #![feature(pattern_types).

About tracking issues

Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label. You can also start a thread on zulip in the pattern type stream

Steps

Unresolved Questions

  • Pattern type ranges cause monomorphization time errors on wraparound ranges (u8 is 10..5)
    • Same problems as having N + 2 in an array length for u8 is N..5 or even u8 is A..B
  • should we forbid full-range patterns like u8 is 0..?
  • Are pattern types always ABI compatible with their base type? Miri currently accepts them as ABI-compatible, we should either stably document that or remove this allowance from Miri.

Implementation history

Activity

  1. added
    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFC
    on Apr 8, 2024
  2. added
    T-typesRelevant to the types team, which will review and decide on the PR/issue.
    S-tracking-perma-unstableStatus: The feature will stay unstable indefinitely.
    on Apr 8, 2024
  3. locked as off topic and limited conversation to collaborators on Apr 10, 2024
  4. oli-obk commented on Apr 10, 2024

    @oli-obk
    ContributorAuthor

    Tracking issues have a tendency to become unmanageable. Please open a dedicated new issue and label it with F-pattern_types for absolutely any topics you want to discuss or have questions about. See rust-lang/compiler-team#739 for details and discussions on this prospective policy.

  5. unlocked this conversation on Apr 15, 2024
  6. added a commit that references this issue on Aug 8, 2024
  7. added a commit that references this issue on Aug 8, 2024
  8. added
    T-langRelevant to the language team
    B-experimentalBlocker: In-tree experiment; RFC pending, not yet approved or unneeded (requires FCP to stabilize).
    on Feb 5, 2025
  9. 3 remaining items

  10. moved this from Needs champion to Exploration in Lang team featureson Mar 5, 2025
  11. added a commit that references this issue on Apr 15, 2025
  12. added a commit that references this issue on Apr 15, 2025
  13. added a commit that references this issue on Apr 15, 2025
  14. added a commit that references this issue on Apr 15, 2025
  15. added a commit that references this issue on Apr 29, 2025
  16. added a commit that references this issue on Apr 29, 2025
  17. cosmicexplorer commented on Jan 9, 2026

    @cosmicexplorer
  18. clarfonthey commented on Jan 9, 2026

    @clarfonthey
  19. yhx-12243 commented on May 30, 2026

    @yhx-12243
  20. oli-obk commented on May 31, 2026

    @oli-obk
    Author
  21. changed the title [-]Tracking Issue for pattern types[/-] [+]Tracking Issue for pattern types (`pattern_types`)[/+] on Aug 8, 2026
  22. added a commit that references this issue on Aug 11, 2026
  23. added a commit that references this issue on Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    B-experimentalBlocker: In-tree experiment; RFC pending, not yet approved or unneeded (requires FCP to stabilize).C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCF-pattern_types`#![feature(pattern_types)]`S-tracking-perma-unstableStatus: The feature will stay unstable indefinitely.T-langRelevant to the language teamT-typesRelevant to the types team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions