-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add stubs for keywords not documented in https://doc.rust-lang.org/std/#keywords yet #60779
Labels
A-docs
Area: documentation for any part of the project, including the compiler, standard library, and tools
E-easy
Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
E-mentor
Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.
Comments
petrochenkov
added
E-easy
Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
A-docs
Area: documentation for any part of the project, including the compiler, standard library, and tools
labels
May 13, 2019
The documentation source can be found in |
petrochenkov
added
the
E-mentor
Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.
label
May 13, 2019
This is part of #34601. |
Some effort has been made in #60761 |
bors
added a commit
that referenced
this issue
May 17, 2019
Add stubs to keyword docs Resolves #60779. This commit gives each stable keyword a short entry in the "Keywords" section in the docs for `std`. The newly added entries are only a single line each and contain the main purpose of the keyword. I changed some of the existing summary lines for consistency's sake. Each line is either an imperative ("name the type of a trait object" for `dyn`), or an object ("An abstract data type" for `enum`). I tried to avoid using the keyword itself or the word "keyword" in the summary. Later commits can flesh out each keyword with an example for each context in which it can appear as well as a link to the appropriate part of the rust book. **edit:** Here's the list of keywords and summaries (sans formatting) to ease reviewing. I'll try to keep this up to date as I make changes: keyword | summary -- | -- Self | The implementing type within a `trait` or `impl` block, or the current type within a type definition. as | Cast between types, or rename an import. async | ExperimentalReturn a Future instead of blocking the current thread. await | ExperimentalSuspend execution until the result of a Future is ready. break | Exit early from a loop. const | Compile-time constants and deterministic functions. continue | Skip to the next iteration of a loop. crate | A Rust binary or library. dyn | Name the type of a trait object. else | What to do when an if condition does not hold. enum | A type that can be any one of several variants. extern | Link to or import external code. false | A value of type bool representing logical false. fn | A function or function pointer. for | Iteration with in, trait implementation with impl, or higher-ranked trait bounds (for<'a>). if | Evaluate a block if a condition holds. impl | Implement some functionality for a type. in | Iterate over a series of values with for. let | Bind a value to a variable. loop | Loop indefinitely. match | Control flow based on pattern matching. mod | Organize code into modules. move | Capture a closure's environment by value. mut | A mutable binding, reference, or pointer. pub | Make an item visible to others. ref | Bind by reference during pattern matching. return | Return a value from a function. self | The receiver of a method, or the current module. static | A place that is valid for the duration of a program. struct | A type that is composed of other types. super | The parent of the current module. trait | A common interface for a class of types. true | A value of type bool representing logical true. type | Define an alias for an existing type. union | The Rust equivalent of a C-style union. unsafe | Code or interfaces whose memory safety cannot be verified by the type system. use | Import or rename items from other crates or modules. where | Add constraints that must be upheld to use an item. while | Loop while a condition is upheld.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-docs
Area: documentation for any part of the project, including the compiler, standard library, and tools
E-easy
Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
E-mentor
Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.
The keyword list that we can observe now leaves a pretty bad impression.
It doesn't say that it's a work in progress, it just provides an incorrect list.
When you see this list on the documentation landing page questions arise:
If some keyword is not in the list, is it actually a keyword?
Is the any reason and intent behind a specific keyword missing?
And the answer (perhaps not expected from a respectable project) is that there's no intent.
I seems like some initial keywords were added as a proof of concept, but then everyone forgot about this doc section.
Having "please document me" stubs may motivate people encountering them to complete the work.
The text was updated successfully, but these errors were encountered: