lang: tuples
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 14
- Forks
- 2
- Avg merge
- 12h 42m
- Merged PRs (30d)
- 61
Description
No tuple types, literals or patterns. parse_struct_decl requires named fields, and there is no (a, b) in type or expression position.
What needs it. zip, enumerate, split_at, Option::zip, unzip, and the overflowing_* family, whose Rust signature returns (T, bool).
The workaround, and its cost. Phase 1 of the core library plan uses Pair<A, B> and Triple<A, B, C> structs in a core::tuple module. That compiles, and it means every such signature differs from the Rust one it is meant to match, so the parity matrix carries an exception per use. The module is deleted when tuples land.
Scope. Tuple types, tuple literals, tuple patterns in match and let, and field access by position.
Part of the core library plan (#451), item A16. Sized as a large item; needed by phase 3.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading parse_struct_decl and the core library plan in #451, then inspect the core::tuple Pair and Triple workaround. The work is complete when tuple types, literals, match and let patterns, and positional field access are supported, allowing that workaround and its parity exceptions to be removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100