-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Bug in documentation #1628
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Bug in documentation #1628
Comments
I agree - this requires some adjustment. The size of a box on the stack is the size of a pointer (8 bytes on 64bit machines, 4 bytes on 32Bit machines etc.). I think we could theoretically fix the heap sized reported by this example using // box size == pointer size
println!("Boxed point occupies {} bytes on the heap",
mem::size_of_val(boxed_point.as_ref()));
println!("Boxed rectangle occupies {} bytes on the heap",
mem::size_of_val(boxed_rectangle.as_ref()));
println!("Boxed box occupies {} bytes on the heap",
mem::size_of_val(box_in_a_box.as_ref()));
// prints:
// Boxed point occupies 16 bytes on the heap
// Boxed rectangle occupies 32 bytes on the heap
// Boxed box occupies 8 bytes on the heap but -
So, IMO your proposal is good and you should issue a PR to fix the text. |
Update books ## reference 4 commits in f6ed74f582bddcec73f753eafaab3749c4f7df61..4ea7c5def38ac81df33a9e48e5637a82a5ac404d 2022-10-08 02:43:26 -0700 to 2022-10-25 15:14:36 -0700 - Document Half Open Range Patterns + Improve Range Patterns in General (rust-lang/reference#1274) - clarifying which row contains the example (rust-lang/reference#1287) - Add `sym` operands for inline assembly (rust-lang/reference#1270) - Add basic GATs reference information (rust-lang/reference#1265) ## book 141 commits in f1e5ad844d0c61738006cdef26227beeb136948e..aa5ee485bd6bd80d205da7c82fcdd776f92fdd51 2022-09-19 09:48:21 -0400 to 2022-10-20 16:49:55 -0400 - Remove Turkish translation - Update chapter 4 from latest print edits - Update chapter 3 from latest print edits - Clarify division truncates toward zero. Fixes rust-lang/book#2856. - Update chapter 2 from latest print edits - Fix a problem with literal style ending - Explain both kinds of format string arguments - Update chapter 1 from latest print edits - Snapshot consolidated appendices - Fix ListNumber0, newlines after lists - Don't match nodes without anything - Handle listing numbers in appendices too - Regenerate everything - Fix chapter numbers in word doc so they're in the XML - Number Table captions too - Handle figures too - Regenerate ch4 - Handle listing numbers - Regenerate ch13 - Regenerate ch12 - Regenerate ch11 - Regenerate chapter 10 - Fix ListBullet0 - Handle ending of BoxCode better - Regenerate chapter 9 - Regenerate ch8 - Make RunInHead consistent-ish - Fix extra newline before boxes - Fix Box RunIn Head/Para - Fix newline after RunInHead/Para - Regenerate ch7 - Fix QuotePara - Fix ListPlain - Regenerate ch6 - Fix BoxCode - Regenerate chapter 5 - Fix GraphicSlug and CaptionLine - Regenerate snapshot of chapter 4 - Fix boxes a bit - Add a shellcheck ignore - Handle BoxListBullet - Handle superscript - Regenerate ch3 from xml and fix tables - Fix italics and whitespace interactions - Fix italic preceding/following - Fix preceding/following xpaths again - Fix italics - Fix code blocks - Fix more last bullets in lists - Fix box newlines - Fix last bullet in a list - Fix BoxType - Fix notes - Fix literals - Add the no editing warning at the top when getting snapshots from docx - Make the snapshot of the frontmatter nicer - Updates to appendixes C, D, and E after copyedit checks - Snapshots after copyedit checks of appendices a and b + recheck of 20 - Snapshot of appendices from copyedit - Updated snapshot of the appendices - Re-checks of chapter 19 - Re-checks of chapter 18 - Messy snapshot of chapter 20 after copyedit checks - Snapshot of ch20 after copyedit - Updated snapshot of chapter 20 - Messy snapshot of chapter 19 after copyedit checks - Snapshot of ch19 after copyedit - Updated snapshot of ch19 - Messy snapshot of ch 18 after copyedit review - Snapshot of ch 18 after copyedit - Update snapshot of ch18 - Messy snapshot of ch 17 after copyedit review - Snapshot of ch17 copyedit - Updated snapshot of ch17 - Messy snapshot of ch16 after copyedit - Snapshot of ch16 copyedited - Updated snapshot of ch16 - Messy snapshot of ch 15 after copyedit checks - Re-review of earlier chapters - Snapshot of ch15 copyedit - Update snapshot of ch15 - Messy snapshots of other chapters with indentation fixed - Messy snapshot of ch2 with indentation fixed - Add unittests to the allowed words - Messy snapshot of chapter 14 after checking copyedit - Snapshot of chapter 14 after copyedit - Update snapshot of ch14 - Regenerate manual output for chapter 14 - Messy snapshot of chapter 13 after copyedit check - Updated snapshot of ch13 after copyedit - Updated snapshot of ch13 - Messy snapshot of chapter 12 after copyedit checks - Snapshot of chapter 12 copyedited - Update snapshot for chapter 12 - Messy snapshot of chapter 11 after copyedit check - Snapshot of chapter 11 copyedited - Updated snapshot of chapter 11 - Messy snapshot of chapter 10 after copyedit check - Snapshot of chapter 10 copyedit - Updated snapshot of chapter 10 - Messy snapshot of ch9 after copyedit checks - Snapshot of ch 9 copyedit - Update snapshot of chapter 9 - Messy snapshot of chapter 8 - Update println style in ch8 - Snapshot of chapter 8 from copyedit - Updated snapshot of chapter 8 - Rearrange my notes yet again - Messy snapshot of ch7 after copyedit checks - Snapshot of chapter 7 from copyedit, fix chapter 6 name - Update snapshot of chapter 7 - Messy snapshot of chapter 6 after copyedit check - Update snapshot of chapter 6 - Change my notes again - Messy snapshot of chapter 5 after checking copyedit - Snapshot of chapter 5 from copyedit - Messy snapshot of chapter 4 after copyedit check - Changing my notes again - Snapshot of ch4 from nostarch - Messy snapshot of chapter 3 after copyedit check, ch4 on start check - Snapshot of ch3 from nostarch - Updated snapshot of ch3 - reorder notes - Messy snapshot of chapter 1 after copyedit check - Snapshot of ch01 docx from nostarch - Updated snapshot of chapter 1 - Messy snapshot of frontmatter docx - Another snapshot to fix the crab pinchers description - Messy snapshot of chapter 2 docx - Get the latest snapshot of chapter 2 - Upgrade to rand 0.8.5 - Notes to self - Update xsl and take snapshots from docx, such as they are - Update instructions on docx -> md now that I've done it again - Propagate frontmatter edits to src - Updated snapshots extracted from frontmatter - Support different styles in the docx - Line wrap bio - Frontmatter from word doc - Edits to docx files for nostarch - docx files from nostarch ## rust-by-example 6 commits in 5e7b296d6c345addbd748f242aae28c42555c015..03491f33375c5a2a1661c7fa4be671fe95ce1249 2022-10-05 08:24:45 -0300 to 2022-10-21 07:30:08 -0300 - fix rust-lang/rust-by-example#1628: the box pointer is on stack not on heap (rust-lang/rust-by-example#1629) - fix rust-lang/rust-by-example#1608: out-of-bound indexing is a runtime error (not a compile-time error) (rust-lang/rust-by-example#1626 ) - Fix: Path internal representation and conversions (rust-lang/rust-by-example#1625) - fix crate name in example (rust-lang/rust-by-example#1620) - avoid reserved keyword try as crate name (rust-lang/rust-by-example#1619) - Fix typo in iter_result.md (rust-lang/rust-by-example#1614) ## rustc-dev-guide 7 commits in 7518c34..51a37ad 2022-10-08 12:29:47 +0200 to 2022-10-25 10:18:58 -0700 - Update `traits/resolution.md` (rust-lang/rustc-dev-guide#1494) - Update diagnostics to flat fluent message paths - Update rust-analyzer suggestions (rust-lang/rustc-dev-guide#1487) - miri is no longer a submodule but a subtree. (rust-lang/rustc-dev-guide#1488) - fix some links (rust-lang/rustc-dev-guide#1490) - typo and grammar (rust-lang/rustc-dev-guide#1484) - Add missing prerequisite for some Linux distros (rust-lang/rustc-dev-guide#1481)
Update books ## reference 4 commits in f6ed74f582bddcec73f753eafaab3749c4f7df61..4ea7c5def38ac81df33a9e48e5637a82a5ac404d 2022-10-08 02:43:26 -0700 to 2022-10-25 15:14:36 -0700 - Document Half Open Range Patterns + Improve Range Patterns in General (rust-lang/reference#1274) - clarifying which row contains the example (rust-lang/reference#1287) - Add `sym` operands for inline assembly (rust-lang/reference#1270) - Add basic GATs reference information (rust-lang/reference#1265) ## book 141 commits in f1e5ad844d0c61738006cdef26227beeb136948e..aa5ee485bd6bd80d205da7c82fcdd776f92fdd51 2022-09-19 09:48:21 -0400 to 2022-10-20 16:49:55 -0400 - Remove Turkish translation - Update chapter 4 from latest print edits - Update chapter 3 from latest print edits - Clarify division truncates toward zero. Fixes rust-lang/book#2856. - Update chapter 2 from latest print edits - Fix a problem with literal style ending - Explain both kinds of format string arguments - Update chapter 1 from latest print edits - Snapshot consolidated appendices - Fix ListNumber0, newlines after lists - Don't match nodes without anything - Handle listing numbers in appendices too - Regenerate everything - Fix chapter numbers in word doc so they're in the XML - Number Table captions too - Handle figures too - Regenerate ch4 - Handle listing numbers - Regenerate ch13 - Regenerate ch12 - Regenerate ch11 - Regenerate chapter 10 - Fix ListBullet0 - Handle ending of BoxCode better - Regenerate chapter 9 - Regenerate ch8 - Make RunInHead consistent-ish - Fix extra newline before boxes - Fix Box RunIn Head/Para - Fix newline after RunInHead/Para - Regenerate ch7 - Fix QuotePara - Fix ListPlain - Regenerate ch6 - Fix BoxCode - Regenerate chapter 5 - Fix GraphicSlug and CaptionLine - Regenerate snapshot of chapter 4 - Fix boxes a bit - Add a shellcheck ignore - Handle BoxListBullet - Handle superscript - Regenerate ch3 from xml and fix tables - Fix italics and whitespace interactions - Fix italic preceding/following - Fix preceding/following xpaths again - Fix italics - Fix code blocks - Fix more last bullets in lists - Fix box newlines - Fix last bullet in a list - Fix BoxType - Fix notes - Fix literals - Add the no editing warning at the top when getting snapshots from docx - Make the snapshot of the frontmatter nicer - Updates to appendixes C, D, and E after copyedit checks - Snapshots after copyedit checks of appendices a and b + recheck of 20 - Snapshot of appendices from copyedit - Updated snapshot of the appendices - Re-checks of chapter 19 - Re-checks of chapter 18 - Messy snapshot of chapter 20 after copyedit checks - Snapshot of ch20 after copyedit - Updated snapshot of chapter 20 - Messy snapshot of chapter 19 after copyedit checks - Snapshot of ch19 after copyedit - Updated snapshot of ch19 - Messy snapshot of ch 18 after copyedit review - Snapshot of ch 18 after copyedit - Update snapshot of ch18 - Messy snapshot of ch 17 after copyedit review - Snapshot of ch17 copyedit - Updated snapshot of ch17 - Messy snapshot of ch16 after copyedit - Snapshot of ch16 copyedited - Updated snapshot of ch16 - Messy snapshot of ch 15 after copyedit checks - Re-review of earlier chapters - Snapshot of ch15 copyedit - Update snapshot of ch15 - Messy snapshots of other chapters with indentation fixed - Messy snapshot of ch2 with indentation fixed - Add unittests to the allowed words - Messy snapshot of chapter 14 after checking copyedit - Snapshot of chapter 14 after copyedit - Update snapshot of ch14 - Regenerate manual output for chapter 14 - Messy snapshot of chapter 13 after copyedit check - Updated snapshot of ch13 after copyedit - Updated snapshot of ch13 - Messy snapshot of chapter 12 after copyedit checks - Snapshot of chapter 12 copyedited - Update snapshot for chapter 12 - Messy snapshot of chapter 11 after copyedit check - Snapshot of chapter 11 copyedited - Updated snapshot of chapter 11 - Messy snapshot of chapter 10 after copyedit check - Snapshot of chapter 10 copyedit - Updated snapshot of chapter 10 - Messy snapshot of ch9 after copyedit checks - Snapshot of ch 9 copyedit - Update snapshot of chapter 9 - Messy snapshot of chapter 8 - Update println style in ch8 - Snapshot of chapter 8 from copyedit - Updated snapshot of chapter 8 - Rearrange my notes yet again - Messy snapshot of ch7 after copyedit checks - Snapshot of chapter 7 from copyedit, fix chapter 6 name - Update snapshot of chapter 7 - Messy snapshot of chapter 6 after copyedit check - Update snapshot of chapter 6 - Change my notes again - Messy snapshot of chapter 5 after checking copyedit - Snapshot of chapter 5 from copyedit - Messy snapshot of chapter 4 after copyedit check - Changing my notes again - Snapshot of ch4 from nostarch - Messy snapshot of chapter 3 after copyedit check, ch4 on start check - Snapshot of ch3 from nostarch - Updated snapshot of ch3 - reorder notes - Messy snapshot of chapter 1 after copyedit check - Snapshot of ch01 docx from nostarch - Updated snapshot of chapter 1 - Messy snapshot of frontmatter docx - Another snapshot to fix the crab pinchers description - Messy snapshot of chapter 2 docx - Get the latest snapshot of chapter 2 - Upgrade to rand 0.8.5 - Notes to self - Update xsl and take snapshots from docx, such as they are - Update instructions on docx -> md now that I've done it again - Propagate frontmatter edits to src - Updated snapshots extracted from frontmatter - Support different styles in the docx - Line wrap bio - Frontmatter from word doc - Edits to docx files for nostarch - docx files from nostarch ## rust-by-example 6 commits in 5e7b296d6c345addbd748f242aae28c42555c015..03491f33375c5a2a1661c7fa4be671fe95ce1249 2022-10-05 08:24:45 -0300 to 2022-10-21 07:30:08 -0300 - fix rust-lang/rust-by-example#1628: the box pointer is on stack not on heap (rust-lang/rust-by-example#1629) - fix rust-lang/rust-by-example#1608: out-of-bound indexing is a runtime error (not a compile-time error) (rust-lang/rust-by-example#1626 ) - Fix: Path internal representation and conversions (rust-lang/rust-by-example#1625) - fix crate name in example (rust-lang/rust-by-example#1620) - avoid reserved keyword try as crate name (rust-lang/rust-by-example#1619) - Fix typo in iter_result.md (rust-lang/rust-by-example#1614) ## rustc-dev-guide 7 commits in 7518c34..51a37ad 2022-10-08 12:29:47 +0200 to 2022-10-25 10:18:58 -0700 - Update `traits/resolution.md` (rust-lang/rustc-dev-guide#1494) - Update diagnostics to flat fluent message paths - Update rust-analyzer suggestions (rust-lang/rustc-dev-guide#1487) - miri is no longer a submodule but a subtree. (rust-lang/rustc-dev-guide#1488) - fix some links (rust-lang/rustc-dev-guide#1490) - typo and grammar (rust-lang/rustc-dev-guide#1484) - Add missing prerequisite for some Linux distros (rust-lang/rustc-dev-guide#1481)
The code change was merged to master 21 days ago but the docs at https://doc.rust-lang.org/rust-by-example/std/box.html still show the old wording, "Boxed ... occupies {} bytes on the heap". Is this just a matter of waiting a little longer for it to reflect or is there some issue? |
@jon32446 yes, we have a problem... I just contact the infra team to fix that. |
I was reading about Box from here https://doc.rust-lang.org/stable/rust-by-example/std/box.html
There is the below code in code snippet :
I increased the variables in Point struct and mades its size 40 bytes on stack but still the Box size is 8 bytes , so in this code . I think the statements should be Boxed point occupies {} bytes on the stack instead of the heap. Basically I am saying that Box is holding an address value of the actual structure and the size of box is 8 bytes which is fixed.
If this is right , can I raise a PR with the Fix ?
The text was updated successfully, but these errors were encountered: