rust-lang / rust-lang/rfcs

RFC 0132 doesn't expand the UFCS acronym

Open
#3,360 6 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Markdown
Stars
6.6k
Forks
1.7k
Avg merge
16h 14m
Merged PRs (30d)
1

Description

I'm learning Rust, and I spent more time than I was comfortable about trying to find out what UFCS stands for. I understand that the Rust project is trying to make the learning process easier for people, so I'm writing up what happened here. I hope this is a useful place to write this.

In the course of learning, I came across the concept "object-safe trait", and read about it in the Rust Reference, which pointed me to RFC0255, which says:

Another advantage of this proposal is that it implies that all method-calls can always be rewritten into an equivalent UFCS call. This simplifies the "core language" and makes method dispatch notation -- which involves some non-trivial inference -- into a kind of "sugar" for the more explicit UFCS notation.

So, I look up 0132 to find out what UFCS is.

Although it explains about how path::method() syntax works (yay!), I'm still left wondering what on earth UFCS stands for.

A google search of "what does ufcs stand for" is useless.

A more specific search of "what does ufcs stand for in rust" gives me a useful answer on the 4th result.

This seems like a lot of work to figure this out as part of my learning journey. I'm also still unclear whether the U stands for "universal" or "unified", or either/both.

I wonder if RFC 0132 and RFC 0255 might be updated to expand the UFCS acronym, for the sake for future learners?

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 with RFC 0132 at text/0132-ufcs.md and RFC 0255, especially the references to UFCS and the linked explanation of path::method() syntax. Update the relevant wording to expand the UFCS acronym for learners, then review both RFCs to ensure the terminology is consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.