vx-lang / vx-lang/Vx

lang: tuples

Open
#533 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core-lang enhancement
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.