Wishlist: functions with keyword args, optional args, and/or variable-arity argument (varargs) lists
Nobody has claimed this yet.
- Dominant language
- Markdown
- Stars
- 6.6k
- Forks
- 1.7k
- Avg merge
- 16h 14m
- Merged PRs (30d)
- 1
Description
A portion of the community (and of the core team) sees one or more of the following features as important for programmer ergonomics:
- keyword-based parameters (as opposed to position-based parameters),
- optional parameters (where one provides a default value for them, usually in the parameter list),
- variable-arity functions (which can be seen as a generalization or variation on optional parameters, depending on how you look at it).
This issue is recording that we want to investigate designs for this, but not immediately. The main backwards compatibility concern is about premature commitment to library API's that would be simplified if one adds one or more of the above features. Nonetheless, We believe we can produce a reasonable 1.0 version of Rust without support for this.
(This issue is also going to collect links to all of the useful RFC PR's and/or Rust issues that contain community discussion of these features.)
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 reviewing the RFC PRs and Rust issues collected in the discussion, then compare the proposed designs for keyword parameters, optional parameters, and variable-arity functions. Done would mean producing a settled design investigation, but this issue explicitly says the work is not immediate and does not define a concrete implementation target.
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
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100