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

Clarify the conditions on the aliasing section #272

Merged
merged 1 commit into from
Jun 18, 2021

Conversation

JohnTitor
Copy link
Member

Fixes #148

src/aliasing.md Outdated
Comment on lines 44 to 45
// x > 10 implies x > 5, so remove the first if condition,
// set it to `2`, and exit immediately
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm still a little confused by this comment. What is the "first if condition"? The way I read it, the first if condition is *input > 10, which is still being checked here. Can you clarify?

Also, this is using a new variable named x that isn't defined anywhere. It is somewhat obvious to me what it means, but it seems a little imprecise.

Perhaps something like this?

If the input is greater than 10, the previous code would set the output to 1 and then double it, resulting in an output of 2 (because >10 implies >5). Here, we avoid the double assignment and just set it directly to 2.

Copy link
Member Author

Choose a reason for hiding this comment

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

Looks better, fixed.

Copy link
Contributor

@ehuss ehuss left a comment

Choose a reason for hiding this comment

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

👍

@ehuss ehuss merged commit b44af9d into rust-lang:master Jun 18, 2021
@JohnTitor JohnTitor deleted the clarify-aliasing branch June 18, 2021 03:18
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request Jun 22, 2021
Update books

## nomicon

10 commits in 55de6fa3c1f331774da19472c9ee57d2ae9eb039..b9ca313e687c991223e23e5520529815dc281205
2021-05-12 00:31:01 +0900 to 2021-06-22 12:02:20 -0400
- The #[repr(C)] attribute on the callback example is not necessary, since the type is not used in C.
- Reorganize some chapters (rust-lang/nomicon#282)
- Mention "extern types" on the opaque structs section (rust-lang/nomicon#273)
- Clarify the conditions on the aliasing section (rust-lang/nomicon#272)
- Upgrade to edition 2018 (rust-lang/nomicon#280)
- Update some wording making reference to issues/RFCs (rust-lang/nomicon#271)
- Some improvements on the "subtyping" chapter (rust-lang/nomicon#278)
- Clarify casting between the same size fixed ints (rust-lang/nomicon#277)
- Add a link to show why unused lifetimes on structs are forbidden (rust-lang/nomicon#276)
- Fix small typo in the Drop Check chapter (rust-lang/nomicon#275)

## reference

8 commits in 8f598e2af6c25b4a7ee88ef6a8196d9b8ea50ca8..d9699fa8f3186440fdaadd703d63d8d42322c176
2021-06-01 19:00:46 +0100 to 2021-06-21 12:23:10 -0700
- Make explicit reference to scrutinee expression in grammar snippet (rust-lang/reference#1044)
- Document sub-namespaces. (rust-lang/reference#1043)
- Default all examples to 2018 edition. (rust-lang/reference#1041)
- Minor update to macros. (rust-lang/reference#1048)
-  (rust-lang/reference#1049)
- Add a note why the same size int casting is a no-op (rust-lang/reference#1046)
- Add notes on `#[target_feature]` for wasm (rust-lang/reference#1047)
- Make statement about variable visibility more precise (rust-lang/reference#1045)

## rustc-dev-guide

8 commits in c8da5bfd1c7c71d90ef1646f5e0a9f6609d5c78a..fe34beddb41dea5cb891032512a8d5b842b99696
2021-06-04 09:08:56 +0200 to 2021-06-21 21:50:12 +0200
- Update "Inference variables" section (rust-lang/rustc-dev-guide#1145)
- Document how to run unit tests (rust-lang/rustc-dev-guide#1141)
- We stopped using allow_internal_unstable a while ago (rust-lang/rustc-dev-guide#1142)
- Change the feature used as an example of stabilizing lib features (rust-lang/rustc-dev-guide#1143)
- We use HIR to do type inference, trait solving and type checking (rust-lang/rustc-dev-guide#1139)
- Add suggested settings note for coc (rust-lang/rustc-dev-guide#1144)
- move 7/8 to prose
- Add a section on keeping things up to date in the git section

## edition-guide

2 commits in 302a115e8f71876dfc884aebb0ca5ccb02b8a962..c74b2a0d6bf55774cf15d69f05dfe05408b8f81a
2021-05-21 10:46:11 -0400 to 2021-06-14 10:48:27 -0700
- Fix lies. (rust-lang/edition-guide#244)
- Add short summaries to all 2021 edition changes. (rust-lang/edition-guide#243)

## embedded-book

1 commits in 7349d173fa28a0bb834cf0264a05286620ef0923..cbec77fbd8eea0c13e390dd9eded1ae200e811d1
2021-05-25 13:59:05 +0000 to 2021-06-10 06:26:32 +0000
- Fix punctuation in c-with-rust.md  (rust-embedded/book#294)
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.

In chapter 3.2, Why Aliasing Matters section, is the optimize example wrong?
2 participants