Fix wording on the aliasing section#366
Conversation
|
I've read this over several times, and I'm not clear on this. The original says: "the value of a local variable can't be aliased by things that existed before it was declared" which I read to be true. The local variable can't be aliased before it is declared because it doesn't exist, yet. There is nothing to alias. That is: fn compute(input: &u32, output: &mut u32) {
// Up to this point, nothing can alias `temp` because `temp` doesn't exist, yet.
let mut temp = *output;
if *input > 10 {
temp = 1;
}
if *input > 5 {
temp *= 2;
}
*output = temp;
}The new version says: "the value of a local variable cannot alias things that existed before it was declared." fn f(a: &str) {
let b = a; // local variable `b` created an alias of `a`
}Can you help me understand the proposed correction? |
|
Thanks for pointing out, hmm, I was confused then. So, we should say "We're still relying on alias analysis to assume that |
It should've said "the value of a local variable cannot alias things...".
|
Friendly-ping @ehuss it'd be great if you could take another look :) |
ehuss
left a comment
There was a problem hiding this comment.
I'm going to go ahead and approve, though I'm not sure swapping the terms matters much. I would think that aliasing is symmetric (if foo aliases bar, then bar aliases foo).
Update books ## nomicon 2 commits in 3a43983b76174342b7dbd3e12ea2c49f762e52be..70db9e4189f64d1d8e2451b1046111fb356b6dc2 2022-05-30 17:01:30 +0900 to 2022-06-27 20:47:21 +0900 - should be `size_of` instead of `align_of` (rust-lang/nomicon#371) - Fix wording on the aliasing section (rust-lang/nomicon#366) ## book 20 commits in efbafdba3618487fbc9305318fcab9775132ac15..cf2653a5ca553cbbb4a17f1a7db1947820f6a775 2022-06-19 21:06:50 -0400 to 2022-07-05 12:07:58 -0400 - Frontmatter - Update to Rust 1.62 - Extract where clause example so it'll get rustfmtted in the future - Merge remote-tracking branch 'origin/pr/3238' into extract-where-clause-example - Fix line wrapping of lib placement fix - Fix grammar, spelling, and line wrapping of description of appendices - Merge remote-tracking branch 'origin/pr/3244' into binlib - Clarify *type* parameter names - Fix listing 8-21. Fixes rust-lang/book#3251 - Propagate tech review changes for ch13 - Responses to tech review of chapter 13 - Tech review comments on chapter 13 - Fix double the - Propagate tech review chapter 1 changes to src - Address tech review comments for chapter 1 - Tech review comments for chapter 1 - Fix grammar - Fix grammar - Edits to edits to the introduction - Comments from nostarch on the introduction ## rust-by-example 8 commits in 1095df2a5850f2d345fad43a30633133365875ba..83724ca387a2a1cd3e8d848f62820020760e358b 2022-06-18 21:47:12 -0300 to 2022-07-05 10:38:07 -0300 - changing names of params (rust-lang/rust-by-example#1567) - Update incorrect print output in std/box.md (rust-lang/rust-by-example#1564) - minor typo (rust-lang/rust-by-example#1563) - fix: Fibonacci sequence starts from zero (rust-lang/rust-by-example#1562) - add Vietnamese version on README.md (rust-lang/rust-by-example#1561) - Update variadics.md (rust-lang/rust-by-example#1559) - Change fold to sum in fn hof.md (rust-lang/rust-by-example#1560) - Small typo, fixed compileable -> compilable (rust-lang/rust-by-example#1556) ## rustc-dev-guide 8 commits in 048d925..eb83839 2022-06-21 22:25:34 +0900 to 2022-07-03 15:17:39 +0900 - Suggest a separate build directory for rust-analyzer (rust-lang/rustc-dev-guide#1378) - Change the old filename, "src/stage0.txt" to "src/stage0.json" (rust-lang/rustc-dev-guide#1383) - Add the config needed to get rust-analyzer working on src/bootstrap (rust-lang/rustc-dev-guide#1381) - Fix path to hir_id_validator.rs - leave formatOnSave to the user (rust-lang/rustc-dev-guide#1380) - diagnostics: structs with new slug syntax (rust-lang/rustc-dev-guide#1377) - Few readability fixes - humorust: Forbid pineapple on pizza (rust-lang/rustc-dev-guide#1374) ## embedded-book 1 commits in e17dcef5e96346ee3d7fa56820ddc7e5c39636bc..766979590da8100998f0d662499d4a901d8d1640 2022-06-19 10:28:00 +0000 to 2022-07-04 09:13:58 +0000 - "linker `link.exe` not found" fix (rust-embedded/book#321)
It should've said "the value of a local variable cannot alias
things...".
Fixes #362