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

Self used without explanation or having a prior explanation #2222

Closed
dadepo opened this issue Jan 14, 2020 · 3 comments · Fixed by rust-lang/rust#91143
Closed

Self used without explanation or having a prior explanation #2222

dadepo opened this issue Jan 14, 2020 · 3 comments · Fixed by rust-lang/rust#91143
Labels
Milestone

Comments

@dadepo
Copy link

dadepo commented Jan 14, 2020

In chapter 10, section: Using Trait Bounds to Conditionally Implement Methods Self was used in the example. That would be the first time Self will be appearing in the book. It would be useful to provide a brief explanation of what Self does.

@AndreasDavour
Copy link

Listing 5-13 in Chapter 5.3 under Defining Methods do talk about 'self'. Isn't that the same thing? Or is there a difference between 'Self' and 'self' that I simply missed?

@steveklabnik
Copy link
Member

fn foo(&self) {

is sugar for

fn foo(self: &Self) {

that is, Self is a type, and self is the special method receiver syntax.

@AndreasDavour
Copy link

I see. That might indeed be worth mentioning in the book. Thanks.

@carols10cents carols10cents added this to the ch5 milestone Jul 17, 2021
@carols10cents carols10cents modified the milestones: ch5, ch10 Aug 1, 2021
carols10cents added a commit that referenced this issue Aug 2, 2021
Explain what self is short for in methods.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Nov 22, 2021
Update books

## reference

3 commits in a01d151a7250a540a9cb7ccce5956f020c677c21..c0f222da23568477155991d391c9ce918e381351
2021-10-22 22:34:13 +0900 to 2021-11-22 10:30:57 -0800
- Byte literal and string syntax: add missing quote escapes (rust-lang/reference#1101)
- fix crate_name attribute description (rust-lang/reference#1109)
- Update list of types with magic Copy impls (rust-lang/reference#1104)

## book

19 commits in 5c5dbc5b196c9564422b3193264f3288d2a051ce..a5e0c5b2c5f9054be3b961aea2c7edfeea591de8
2021-11-09 19:30:43 -0500 to 2021-11-19 17:06:19 -0500
- Propagate edits to chapter 4 back
- Edits to the edits of chapter 4
- ch 4 from nostarch
- Fix install links
- Snapshot of chapter 10
- Fix quotes
- Add more explanation of Self in chapter 10. Fixes rust-lang/book#2222.
- We've defined the signatures, not behaviors. Fixes rust-lang/book#2917
- Remove 'most distinctive' claim. Fixes rust-lang/book#2861.
- Clarify that traits must be brought into scope to use their methods
- Explain why lifetimes are part of the function contract better
- Further edits to rust-lang/book#2895
- Clarify generic types in mixin
- Change 'either' to 'at least one of'. See rust-lang/book#2885
- Clarify explanation of lifetime annotations a bit
- Further edits to clarify code explanation
- Clarify the meaning of a sentence in ch10-03
- Clarify this code is demonstrating usage of the library from a binary. Fixes rust-lang/book#1445.
- Clarify generics in method definitions and impls. Fixes rust-lang/book#2679.

## rust-by-example

1 commits in e9d45342d7a6c1def4731f1782d87ea317ba30c3..43f82530210b83cf888282b207ed13d5893da9b2
2021-11-02 13:33:03 -0500 to 2021-11-21 22:31:50 -0300
- Update `Development dependencies` page. (rust-lang/rust-by-example#1478)

## rustc-dev-guide

7 commits in 196ef69aa68f2cef44f37566ee7db37daf00301b..a2fc9635029c04e692474965a6606f8e286d539a
2021-11-07 07:48:47 -0600 to 2021-11-18 13:31:13 -0500
- Describe drop elaboration (rust-lang/rustc-dev-guide#1240)
- Fix an invalid link on Diagnostic Items (rust-lang/rustc-dev-guide#1261)
- Fix broken links related to `rustc_borrowck` (rust-lang/rustc-dev-guide#1259)
- Unify `x.py` usage (rust-lang/rustc-dev-guide#1258)
- Spelling fixes
- Fix compare-mode documentation
- Fix broken link in "Bootstrapping"

## edition-guide

1 commits in 27f4a84d3852e9416cae5861254fa53a825c56bd..8e0ec8c77d8b28b86159fdee9d33a758225ecf9c
2021-11-08 10:13:20 -0500 to 2021-11-12 06:30:23 -0800
- Fix a broken link in the Disjoint Capture in Closure chapter (rust-lang/edition-guide#273)

## embedded-book

1 commits in 51739471276b1776dea27cf562b974ef07e24685..8c395bdd8073deb20ca67e1ed4b14a3a7e315a37
2021-10-17 16:48:42 +0000 to 2021-11-14 11:38:31 +0000
- added math chapter  (rust-embedded/book#308)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants