Clarify parameter and argument compatibility#516
Conversation
Although this is unambiguous after understanding it, I feel it could use a bit more clarity. The first time I read this, I was mostly confused. Many times, without even knowing. Since there was an assignment going on (`*input = val;`), I thought the compatibility was referring to THAT assignment. This proposal makes it clear, especially to new readers, where exactly this compatibility lies.
|
On second thought, this might not be the best clarification, considering that there's no explicit indication of |
|
On third thought (and this demonstrates the subtlety), I do understand that in the assignment, the first |
|
I think I've got a clearer and more accurate suggestion:
It also now uses |
Update books ## rust-embedded/book 4 commits in 99d0341ff4e06757490af8fceee790c4ede50bc0..e88aa4403b4bf2071c8df9509160477e40179099 2026-02-28 20:13:44 UTC to 2026-02-28 20:07:25 UTC - Clarify that a mini usb cable is used on the STM32F3DISCOVERY (rust-embedded/book#381) - Update outdated qemu documentation (rust-embedded/book#403) - Add TRACE32 to Debuggers section (rust-embedded/book#406) - Add a link to Rust for Zephyr (rust-embedded/book#407) ## rust-lang/nomicon 4 commits in b8f254a991b8b7e8f704527f0d4f343a4697dfa9..cc6a6bae8c3bfa389974e533c54694662c1a9de6 2026-02-27 23:27:18 UTC to 2026-02-26 22:57:03 UTC - Fix `Vec::push_all` ptr code in exception-safety (rust-lang/nomicon#418) - Clarify parameter and argument compatibility (rust-lang/nomicon#516) - Improve grammar in Variance section (rust-lang/nomicon#515) - Explicit `extern "C"` ABI for FFI (rust-lang/nomicon#520) ## rust-lang/reference 7 commits in 50a1075e879be75aeec436252c84eef0fad489f4..c49e89cc8c7c2c43ca625a8d5b7ad9a53a9ce978 2026-03-04 15:39:00 UTC to 2026-03-01 06:34:18 UTC - Resolve grammar rules in link reference definitions (rust-lang/reference#2198) - Support non-ASCII Unicode in grammar rule names (rust-lang/reference#2196) - Fix grammar for block comments (rust-lang/reference#2191) - Fix an EN grammar error & add an item to place expr context list (rust-lang/reference#2189) - Align attribute template with applied conventions (rust-lang/reference#2194) - Update shebang (rust-lang/reference#2192) - Remove RESERVED_NUMBER (rust-lang/reference#2193)
Update books ## rust-embedded/book 4 commits in 99d0341ff4e06757490af8fceee790c4ede50bc0..e88aa4403b4bf2071c8df9509160477e40179099 2026-02-28 20:13:44 UTC to 2026-02-28 20:07:25 UTC - Clarify that a mini usb cable is used on the STM32F3DISCOVERY (rust-embedded/book#381) - Update outdated qemu documentation (rust-embedded/book#403) - Add TRACE32 to Debuggers section (rust-embedded/book#406) - Add a link to Rust for Zephyr (rust-embedded/book#407) ## rust-lang/nomicon 4 commits in b8f254a991b8b7e8f704527f0d4f343a4697dfa9..cc6a6bae8c3bfa389974e533c54694662c1a9de6 2026-02-27 23:27:18 UTC to 2026-02-26 22:57:03 UTC - Fix `Vec::push_all` ptr code in exception-safety (rust-lang/nomicon#418) - Clarify parameter and argument compatibility (rust-lang/nomicon#516) - Improve grammar in Variance section (rust-lang/nomicon#515) - Explicit `extern "C"` ABI for FFI (rust-lang/nomicon#520) ## rust-lang/reference 7 commits in 50a1075e879be75aeec436252c84eef0fad489f4..c49e89cc8c7c2c43ca625a8d5b7ad9a53a9ce978 2026-03-04 15:39:00 UTC to 2026-03-01 06:34:18 UTC - Resolve grammar rules in link reference definitions (rust-lang/reference#2198) - Support non-ASCII Unicode in grammar rule names (rust-lang/reference#2196) - Fix grammar for block comments (rust-lang/reference#2191) - Fix an EN grammar error & add an item to place expr context list (rust-lang/reference#2189) - Align attribute template with applied conventions (rust-lang/reference#2194) - Update shebang (rust-lang/reference#2192) - Remove RESERVED_NUMBER (rust-lang/reference#2193)
Update books ## rust-embedded/book 4 commits in 99d0341ff4e06757490af8fceee790c4ede50bc0..e88aa4403b4bf2071c8df9509160477e40179099 2026-02-28 20:13:44 UTC to 2026-02-28 20:07:25 UTC - Clarify that a mini usb cable is used on the STM32F3DISCOVERY (rust-embedded/book#381) - Update outdated qemu documentation (rust-embedded/book#403) - Add TRACE32 to Debuggers section (rust-embedded/book#406) - Add a link to Rust for Zephyr (rust-embedded/book#407) ## rust-lang/nomicon 4 commits in b8f254a991b8b7e8f704527f0d4f343a4697dfa9..cc6a6bae8c3bfa389974e533c54694662c1a9de6 2026-02-27 23:27:18 UTC to 2026-02-26 22:57:03 UTC - Fix `Vec::push_all` ptr code in exception-safety (rust-lang/nomicon#418) - Clarify parameter and argument compatibility (rust-lang/nomicon#516) - Improve grammar in Variance section (rust-lang/nomicon#515) - Explicit `extern "C"` ABI for FFI (rust-lang/nomicon#520) ## rust-lang/reference 7 commits in 50a1075e879be75aeec436252c84eef0fad489f4..c49e89cc8c7c2c43ca625a8d5b7ad9a53a9ce978 2026-03-04 15:39:00 UTC to 2026-03-01 06:34:18 UTC - Resolve grammar rules in link reference definitions (rust-lang/reference#2198) - Support non-ASCII Unicode in grammar rule names (rust-lang/reference#2196) - Fix grammar for block comments (rust-lang/reference#2191) - Fix an EN grammar error & add an item to place expr context list (rust-lang/reference#2189) - Align attribute template with applied conventions (rust-lang/reference#2194) - Update shebang (rust-lang/reference#2192) - Remove RESERVED_NUMBER (rust-lang/reference#2193)
Rollup merge of #153619 - rustbot:docs-update, r=ehuss Update books ## rust-embedded/book 4 commits in 99d0341ff4e06757490af8fceee790c4ede50bc0..e88aa4403b4bf2071c8df9509160477e40179099 2026-02-28 20:13:44 UTC to 2026-02-28 20:07:25 UTC - Clarify that a mini usb cable is used on the STM32F3DISCOVERY (rust-embedded/book#381) - Update outdated qemu documentation (rust-embedded/book#403) - Add TRACE32 to Debuggers section (rust-embedded/book#406) - Add a link to Rust for Zephyr (rust-embedded/book#407) ## rust-lang/nomicon 4 commits in b8f254a991b8b7e8f704527f0d4f343a4697dfa9..cc6a6bae8c3bfa389974e533c54694662c1a9de6 2026-02-27 23:27:18 UTC to 2026-02-26 22:57:03 UTC - Fix `Vec::push_all` ptr code in exception-safety (rust-lang/nomicon#418) - Clarify parameter and argument compatibility (rust-lang/nomicon#516) - Improve grammar in Variance section (rust-lang/nomicon#515) - Explicit `extern "C"` ABI for FFI (rust-lang/nomicon#520) ## rust-lang/reference 7 commits in 50a1075e879be75aeec436252c84eef0fad489f4..c49e89cc8c7c2c43ca625a8d5b7ad9a53a9ce978 2026-03-04 15:39:00 UTC to 2026-03-01 06:34:18 UTC - Resolve grammar rules in link reference definitions (rust-lang/reference#2198) - Support non-ASCII Unicode in grammar rule names (rust-lang/reference#2196) - Fix grammar for block comments (rust-lang/reference#2191) - Fix an EN grammar error & add an item to place expr context list (rust-lang/reference#2189) - Align attribute template with applied conventions (rust-lang/reference#2194) - Update shebang (rust-lang/reference#2192) - Remove RESERVED_NUMBER (rust-lang/reference#2193)
Although this is unambiguous after understanding it, I feel it could use a bit more clarity. The first time I read this, I was mostly confused. Many times, without even knowing. Since there was an assignment going on (
*input = val;), I thought the compatibility was referring to that assignment. This proposal makes it clear, especially to new readers, where exactly this compatibility lies.