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

add section on user types #1359

Merged
merged 4 commits into from
Jun 8, 2022
Merged

add section on user types #1359

merged 4 commits into from
Jun 8, 2022

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented May 26, 2022

cc rust-lang/rust#96515 (review) @nikomatsakis

Should maybe talk a bit more about how the user type gets computed when lowering patterns, but for that I would want to take more time to look at that code first 😅

Copy link
Member

@camelid camelid left a comment

Choose a reason for hiding this comment

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

I left a few copy-editing comments. I'll let someone knowledgeable about this code review the content. :)

@@ -8,3 +8,59 @@ this type-check, we also uncover the region constraints that apply to
the program.

TODO -- elaborate further? Maybe? :)
Copy link
Member

Choose a reason for hiding this comment

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

Maybe delete this TODO?

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 that todo is still pretty relevant, as dealing with user types is only a small part of how the mir typechecker works

src/borrow_check/type_check.md Outdated Show resolved Hide resolved
src/borrow_check/type_check.md Outdated Show resolved Hide resolved
src/borrow_check/type_check.md Outdated Show resolved Hide resolved
@camelid camelid added the S-waiting-on-review Status: this PR is waiting for a reviewer to verify its content label May 26, 2022
@JohnTitor
Copy link
Member

@nikomatsakis do you have some time to review this?

If not, I think it's fine to merge as we recently discussed on Zulip.

@lcnr
Copy link
Contributor Author

lcnr commented Jun 8, 2022

@nikomatsakis do you have some time to review this?

If not, I think it's fine to merge as we recently discussed on Zulip.

I think it makes sense to just merge that. we do need at least 1 approving review for that though 😅

@spastorino spastorino merged commit bc81f99 into rust-lang:master Jun 8, 2022
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 23, 2022
Update books

## reference

6 commits in 683bfe5cd64d589c6a1645312ab5f93b6385ccbb..9fce337a55ee4a4629205f6094656195cecad231
2022-05-27 11:54:20 -0700 to 2022-06-22 13:59:28 -0700
- Remove outdated restriction on recursive types (rust-lang/reference#1231)
- Clarify "string continue" for (byte) string literals (rust-lang/reference#1042)
- Add a note to the turbofish section about impl Trait (rust-lang/reference#1212)
- modify confusing variance example (rust-lang/reference#1224)
- Add stable references of `macro_metavar_expr` (rust-lang/reference#1192)
- Document native library modifier `bundle` (rust-lang/reference#1210)

## book

33 commits in 396fdb69de7fb18f24b15c7ad13491b1c1fa7231..efbafdba3618487fbc9305318fcab9775132ac15
2022-06-08 10:02:35 -0400 to 2022-06-19 21:06:50 -0400
- Propagate tech review edits to appendices to src
- Tech review comments and further edits to the appendices
- Duplicate fragment "mutation and borrowing"
- Propagate ch20 tech review edits to src
- Edits in response to tech review of chapter 20
- Comments from tech review on chapter 20
- Propagate ch7 tech review edits to src
- Responding to tech review of ch7
- Tech review comments on ch7
- Propagate ch19 tech review edits to src
- Responses to tech review of ch19
- Tech review comments on ch 19
- Update ch03-01-variables-and-mutability.md
- Add more explanation to CONTRIBUTING about the nostarch directory
- Duplicate sentence
- Missing period
- Regenerate ch09-02 error messages
- Change some print formatting styles in ch18
- Propagate tech review ch18 edits to src
- Responses to tech review comments of chapter 18
- Chapter 18 from tech review
- Snapshot of introduction for nostarch
- Propagate edits of ch1 to src
- Edits to edits to chapter 1
- Edits from nostarch for chapter 1
- Update Visual Studio instructions for 2022
- bugfix/typo-ch10-01 Fix typo in chapter ch10-01
- Tweak rustfmt slightly for these listings
- Propagate edits to ch13 to src
- Responses to nostarch edits to ch13
- Edits to ch13 from nostarch
- Apply complex Clippy recommendation
- Apply Clippy recommendations: `cargo clippy --fix`

## rust-by-example

4 commits in dbb7e5e2345ee26199ffba218156b6009016a20c..1095df2a5850f2d345fad43a30633133365875ba
2022-06-02 16:30:51 -0300 to 2022-06-18 21:47:12 -0300
- Add example for `array.get()` (rust-lang/rust-by-example#1554)
- Example improvements (rust-lang/rust-by-example#1552)
- Fix for a set of typos (rust-lang/rust-by-example#1551)
- Make guard examples clearer around `_` (rust-lang/rust-by-example#1550)

## rustc-dev-guide

11 commits in 6e4d643..048d925
2022-06-08 08:06:32 +0900 to 2022-06-21 22:25:34 +0900
- not obvious what Ex is, so rather get rid (rust-lang/rustc-dev-guide#1372)
- small improves (rust-lang/rustc-dev-guide#1371)
- make clear that other versions can work (rust-lang/rustc-dev-guide#1373)
- Fix small `src/diagnostics.md` typo (rust-lang/rustc-dev-guide#1370)
- Add an "is" and rearange "We next" to "Next, we" (rust-lang/rustc-dev-guide#1369)
- diagnostics: add translation documentation
- diagnostics: line wrapping/heading changes
- later -> latter
- Remove mention of -Zborrowck=mir with Polonius. (rust-lang/rustc-dev-guide#1367)
- Remove nll compare mode. (rust-lang/rustc-dev-guide#1366)
- add section on user types (rust-lang/rustc-dev-guide#1359)

## embedded-book

1 commits in cbb494f96da3268c2925bdadc65ca83d42f2d4ef..e17dcef5e96346ee3d7fa56820ddc7e5c39636bc
2022-05-26 06:58:43 +0000 to 2022-06-19 10:28:00 +0000
- Fix a typo  (rust-embedded/book#319)
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Jun 23, 2022
Update books

## reference

6 commits in 683bfe5cd64d589c6a1645312ab5f93b6385ccbb..9fce337a55ee4a4629205f6094656195cecad231
2022-05-27 11:54:20 -0700 to 2022-06-22 13:59:28 -0700
- Remove outdated restriction on recursive types (rust-lang/reference#1231)
- Clarify "string continue" for (byte) string literals (rust-lang/reference#1042)
- Add a note to the turbofish section about impl Trait (rust-lang/reference#1212)
- modify confusing variance example (rust-lang/reference#1224)
- Add stable references of `macro_metavar_expr` (rust-lang/reference#1192)
- Document native library modifier `bundle` (rust-lang/reference#1210)

## book

33 commits in 396fdb69de7fb18f24b15c7ad13491b1c1fa7231..efbafdba3618487fbc9305318fcab9775132ac15
2022-06-08 10:02:35 -0400 to 2022-06-19 21:06:50 -0400
- Propagate tech review edits to appendices to src
- Tech review comments and further edits to the appendices
- Duplicate fragment "mutation and borrowing"
- Propagate ch20 tech review edits to src
- Edits in response to tech review of chapter 20
- Comments from tech review on chapter 20
- Propagate ch7 tech review edits to src
- Responding to tech review of ch7
- Tech review comments on ch7
- Propagate ch19 tech review edits to src
- Responses to tech review of ch19
- Tech review comments on ch 19
- Update ch03-01-variables-and-mutability.md
- Add more explanation to CONTRIBUTING about the nostarch directory
- Duplicate sentence
- Missing period
- Regenerate ch09-02 error messages
- Change some print formatting styles in ch18
- Propagate tech review ch18 edits to src
- Responses to tech review comments of chapter 18
- Chapter 18 from tech review
- Snapshot of introduction for nostarch
- Propagate edits of ch1 to src
- Edits to edits to chapter 1
- Edits from nostarch for chapter 1
- Update Visual Studio instructions for 2022
- bugfix/typo-ch10-01 Fix typo in chapter ch10-01
- Tweak rustfmt slightly for these listings
- Propagate edits to ch13 to src
- Responses to nostarch edits to ch13
- Edits to ch13 from nostarch
- Apply complex Clippy recommendation
- Apply Clippy recommendations: `cargo clippy --fix`

## rust-by-example

4 commits in dbb7e5e2345ee26199ffba218156b6009016a20c..1095df2a5850f2d345fad43a30633133365875ba
2022-06-02 16:30:51 -0300 to 2022-06-18 21:47:12 -0300
- Add example for `array.get()` (rust-lang/rust-by-example#1554)
- Example improvements (rust-lang/rust-by-example#1552)
- Fix for a set of typos (rust-lang/rust-by-example#1551)
- Make guard examples clearer around `_` (rust-lang/rust-by-example#1550)

## rustc-dev-guide

11 commits in 6e4d643..048d925
2022-06-08 08:06:32 +0900 to 2022-06-21 22:25:34 +0900
- not obvious what Ex is, so rather get rid (rust-lang/rustc-dev-guide#1372)
- small improves (rust-lang/rustc-dev-guide#1371)
- make clear that other versions can work (rust-lang/rustc-dev-guide#1373)
- Fix small `src/diagnostics.md` typo (rust-lang/rustc-dev-guide#1370)
- Add an "is" and rearange "We next" to "Next, we" (rust-lang/rustc-dev-guide#1369)
- diagnostics: add translation documentation
- diagnostics: line wrapping/heading changes
- later -> latter
- Remove mention of -Zborrowck=mir with Polonius. (rust-lang/rustc-dev-guide#1367)
- Remove nll compare mode. (rust-lang/rustc-dev-guide#1366)
- add section on user types (rust-lang/rustc-dev-guide#1359)

## embedded-book

1 commits in cbb494f96da3268c2925bdadc65ca83d42f2d4ef..e17dcef5e96346ee3d7fa56820ddc7e5c39636bc
2022-05-26 06:58:43 +0000 to 2022-06-19 10:28:00 +0000
- Fix a typo  (rust-embedded/book#319)
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Jun 23, 2022
Update books

## reference

6 commits in 683bfe5cd64d589c6a1645312ab5f93b6385ccbb..9fce337a55ee4a4629205f6094656195cecad231
2022-05-27 11:54:20 -0700 to 2022-06-22 13:59:28 -0700
- Remove outdated restriction on recursive types (rust-lang/reference#1231)
- Clarify "string continue" for (byte) string literals (rust-lang/reference#1042)
- Add a note to the turbofish section about impl Trait (rust-lang/reference#1212)
- modify confusing variance example (rust-lang/reference#1224)
- Add stable references of `macro_metavar_expr` (rust-lang/reference#1192)
- Document native library modifier `bundle` (rust-lang/reference#1210)

## book

33 commits in 396fdb69de7fb18f24b15c7ad13491b1c1fa7231..efbafdba3618487fbc9305318fcab9775132ac15
2022-06-08 10:02:35 -0400 to 2022-06-19 21:06:50 -0400
- Propagate tech review edits to appendices to src
- Tech review comments and further edits to the appendices
- Duplicate fragment "mutation and borrowing"
- Propagate ch20 tech review edits to src
- Edits in response to tech review of chapter 20
- Comments from tech review on chapter 20
- Propagate ch7 tech review edits to src
- Responding to tech review of ch7
- Tech review comments on ch7
- Propagate ch19 tech review edits to src
- Responses to tech review of ch19
- Tech review comments on ch 19
- Update ch03-01-variables-and-mutability.md
- Add more explanation to CONTRIBUTING about the nostarch directory
- Duplicate sentence
- Missing period
- Regenerate ch09-02 error messages
- Change some print formatting styles in ch18
- Propagate tech review ch18 edits to src
- Responses to tech review comments of chapter 18
- Chapter 18 from tech review
- Snapshot of introduction for nostarch
- Propagate edits of ch1 to src
- Edits to edits to chapter 1
- Edits from nostarch for chapter 1
- Update Visual Studio instructions for 2022
- bugfix/typo-ch10-01 Fix typo in chapter ch10-01
- Tweak rustfmt slightly for these listings
- Propagate edits to ch13 to src
- Responses to nostarch edits to ch13
- Edits to ch13 from nostarch
- Apply complex Clippy recommendation
- Apply Clippy recommendations: `cargo clippy --fix`

## rust-by-example

4 commits in dbb7e5e2345ee26199ffba218156b6009016a20c..1095df2a5850f2d345fad43a30633133365875ba
2022-06-02 16:30:51 -0300 to 2022-06-18 21:47:12 -0300
- Add example for `array.get()` (rust-lang/rust-by-example#1554)
- Example improvements (rust-lang/rust-by-example#1552)
- Fix for a set of typos (rust-lang/rust-by-example#1551)
- Make guard examples clearer around `_` (rust-lang/rust-by-example#1550)

## rustc-dev-guide

11 commits in 6e4d643..048d925
2022-06-08 08:06:32 +0900 to 2022-06-21 22:25:34 +0900
- not obvious what Ex is, so rather get rid (rust-lang/rustc-dev-guide#1372)
- small improves (rust-lang/rustc-dev-guide#1371)
- make clear that other versions can work (rust-lang/rustc-dev-guide#1373)
- Fix small `src/diagnostics.md` typo (rust-lang/rustc-dev-guide#1370)
- Add an "is" and rearange "We next" to "Next, we" (rust-lang/rustc-dev-guide#1369)
- diagnostics: add translation documentation
- diagnostics: line wrapping/heading changes
- later -> latter
- Remove mention of -Zborrowck=mir with Polonius. (rust-lang/rustc-dev-guide#1367)
- Remove nll compare mode. (rust-lang/rustc-dev-guide#1366)
- add section on user types (rust-lang/rustc-dev-guide#1359)

## embedded-book

1 commits in cbb494f96da3268c2925bdadc65ca83d42f2d4ef..e17dcef5e96346ee3d7fa56820ddc7e5c39636bc
2022-05-26 06:58:43 +0000 to 2022-06-19 10:28:00 +0000
- Fix a typo  (rust-embedded/book#319)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: this PR is waiting for a reviewer to verify its content
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants