Skip to content
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

Undocument use paths. #665

Merged
merged 1 commit into from
Apr 8, 2020
Merged

Undocument use paths. #665

merged 1 commit into from
Apr 8, 2020

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented Aug 30, 2019

The current documentation is woefully out of date and incomplete. I've been trying off and on to study the resolver to begin #568, which will be required to finish this, but I probably won't be able to finish for a long while.

qualifiers] `crate`, `self`, `super`, or `::`. `crate` refers to the current
crate. `self` refers to the current module. `super` refers to the parent
module. `::` can be used to explicitly refer to a crate, requiring an extern
crate name to follow.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The snippet above you're removing seems roughly accurate? Rather than removing it, can we just add your note?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is misleading, because it seems to imply there is something special about use paths or that the first segment is restricted somehow. This hasn't been true since uniform paths (which feels like an eternity ago, but was only in January!).

The use path is really any "vaild" path for some definition of "valid".

The "paths" chapter describes what all these qualifiers mean, so I don't think they need to be repeated.

From my incomplete notes (which are likely outdated), paths can also start with:

  • Item? in the current scope. (Item may be the wrong word.)
  • A macro in the macro_use prelude.
  • An item in the prelude.
  • Built-in type.
  • Built-in attribute (but can't be used for some reason).
  • Built-in tool module (but can't be used for some reason).

Plus a bunch of restrictions on what can't be used (associated items, built-in macros, type parameters, local variables, Self types, impl items, etc).

@Centril Centril merged commit da3098c into rust-lang:master Apr 8, 2020
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request Apr 14, 2020
Update books

## reference

13 commits in 89dd146..3ce94ca
2020-03-31 09:42:10 -0700 to 2020-04-11 17:00:27 +0200
- UB definition: mention size_of_val for determining a reference's span (rust-lang/reference#793)
- Emphasize that `#[inline]` in all shapes is a hint. (rust-lang/reference#791)
- Added missing comma to Unions reference (rust-lang/reference#790)
- Attributes are now allowed on `if` and `if let` (rust-lang/reference#783)
- `enum`s can now be `#[repr(transparent)]` (rust-lang/reference#741)
- Undocument `use` paths. (rust-lang/reference#665)
- Clarify pub(restricted) a bit (rust-lang/reference#481)
- Add information about || and && to grammar describing `while let`. (rust-lang/reference#772)
- Document the `automatically_derived` attribute. (rust-lang/reference#555)
- Fix unstable check. (rust-lang/reference#743)
- Use common script for link checking. (rust-lang/reference#765)
- Add a basic style guide. (rust-lang/reference#787)
- Size fo empty structs in C is zero byte. (rust-lang/reference#782)

## book

14 commits in c8841f2841a2d26124319ddadd1b6a245f9a1856..f5db319e0b19c22964398d56bc63103d669e1bba
2020-03-22 09:07:01 -0500 to 2020-04-13 08:06:03 -0500
- Update ch01-01-installation.md to require TLS 1.2 (rust-lang/book#2301)
- traits as parameters: Use references instead of moving the values (rust-lang/book#2239)
- Fix a broken link
- Update go docs link (rust-lang/book#2285)
- Add the farsi translation repo link (rust-lang/book#2283)
- Add the missing word to the sentence (ch06-2) (rust-lang/book#2278)
- Fixes hardcoded output (rust-lang/book#2276)
- Use rust-lang/rust linkchecker on CI. (rust-lang/book#2272)
- Add union to the list of keywords (rust-lang/book#2271)
- Clarify the wording (rust-lang/book#2256)
- Improve sentence flow (rust-lang/book#2255)
- Add missing apostrophe (rust-lang/book#2247)
- Update cargo profiles link. (rust-lang/book#2245)
- Add note about chapter 18 in chapter 6 (rust-lang/book#2238)

## rust-by-example

1 commits in a6638463efc7631bc0e8dc67ccd256d4e1b61f1a..c106d1683c3a2b0960f0f0fb01728cbb19807332
2020-04-06 09:39:03 -0500 to 2020-04-09 09:14:39 -0300
- Improve the conversion example (rust-lang/rust-by-example#1329)

## edition-guide

1 commits in 37f9e6848411188a1062ead1bd8ebe4b8aa16899..8204c1d123472cd17f0c1c5c77300ae802eb0271
2020-02-10 14:36:14 +0100 to 2020-04-09 18:55:50 -0700
- Fix forge link. (rust-lang/edition-guide#200)

## embedded-book

1 commits in d22a9c487c78095afc4584f1d9b4ec43529d713c..668fb07b6160b9c468f598e839c1e044db65de30
2020-03-04 09:46:30 +0000 to 2020-04-13 12:38:16 +0000
- Add triagebot configuration  (rust-embedded/book#232)
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request Apr 14, 2020
Update books

## reference

13 commits in 89dd146..3ce94ca
2020-03-31 09:42:10 -0700 to 2020-04-11 17:00:27 +0200
- UB definition: mention size_of_val for determining a reference's span (rust-lang/reference#793)
- Emphasize that `#[inline]` in all shapes is a hint. (rust-lang/reference#791)
- Added missing comma to Unions reference (rust-lang/reference#790)
- Attributes are now allowed on `if` and `if let` (rust-lang/reference#783)
- `enum`s can now be `#[repr(transparent)]` (rust-lang/reference#741)
- Undocument `use` paths. (rust-lang/reference#665)
- Clarify pub(restricted) a bit (rust-lang/reference#481)
- Add information about || and && to grammar describing `while let`. (rust-lang/reference#772)
- Document the `automatically_derived` attribute. (rust-lang/reference#555)
- Fix unstable check. (rust-lang/reference#743)
- Use common script for link checking. (rust-lang/reference#765)
- Add a basic style guide. (rust-lang/reference#787)
- Size fo empty structs in C is zero byte. (rust-lang/reference#782)

## book

14 commits in c8841f2841a2d26124319ddadd1b6a245f9a1856..f5db319e0b19c22964398d56bc63103d669e1bba
2020-03-22 09:07:01 -0500 to 2020-04-13 08:06:03 -0500
- Update ch01-01-installation.md to require TLS 1.2 (rust-lang/book#2301)
- traits as parameters: Use references instead of moving the values (rust-lang/book#2239)
- Fix a broken link
- Update go docs link (rust-lang/book#2285)
- Add the farsi translation repo link (rust-lang/book#2283)
- Add the missing word to the sentence (ch06-2) (rust-lang/book#2278)
- Fixes hardcoded output (rust-lang/book#2276)
- Use rust-lang/rust linkchecker on CI. (rust-lang/book#2272)
- Add union to the list of keywords (rust-lang/book#2271)
- Clarify the wording (rust-lang/book#2256)
- Improve sentence flow (rust-lang/book#2255)
- Add missing apostrophe (rust-lang/book#2247)
- Update cargo profiles link. (rust-lang/book#2245)
- Add note about chapter 18 in chapter 6 (rust-lang/book#2238)

## rust-by-example

1 commits in a6638463efc7631bc0e8dc67ccd256d4e1b61f1a..c106d1683c3a2b0960f0f0fb01728cbb19807332
2020-04-06 09:39:03 -0500 to 2020-04-09 09:14:39 -0300
- Improve the conversion example (rust-lang/rust-by-example#1329)

## edition-guide

1 commits in 37f9e6848411188a1062ead1bd8ebe4b8aa16899..8204c1d123472cd17f0c1c5c77300ae802eb0271
2020-02-10 14:36:14 +0100 to 2020-04-09 18:55:50 -0700
- Fix forge link. (rust-lang/edition-guide#200)

## embedded-book

1 commits in d22a9c487c78095afc4584f1d9b4ec43529d713c..668fb07b6160b9c468f598e839c1e044db65de30
2020-03-04 09:46:30 +0000 to 2020-04-13 12:38:16 +0000
- Add triagebot configuration  (rust-embedded/book#232)
@ehuss ehuss mentioned this pull request Apr 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants