Clarify that "or it is dropped" is meant restrictively by traviscross · Pull Request #2035 · rust-lang/reference

@traviscross

The introduction of the *Destructors* chapter says:

> When an initialized variable or temporary goes out of scope,
> its *destructor* is run, or it is *dropped*.

Grammatically, the final comma there suggests that the clause "or it
is dropped" is non-restrictive -- i.e., that it could be removed from
the sentence without changing its meaning.  It's as though we had
written:

> When an initialized variable or temporary goes out of scope,
> its *destructor* is run, or in other words, it is *dropped*.

That's not what we mean here currently, as discussed in [#1078], so
the comma is incorrectly placed.

Note that this isn't necessarily the final step in clarifying this.
There's more we should probably do.  But it is a step in the right
direction, so let's take it.

[#1078]: #1078

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Oct 7, 2025
Update books

## rust-lang/reference

4 commits in e11adf6016a362766eea5a3f9832e193994dd0c8..8efb9805686722dba511b7b27281bb6b77d32130
2025-10-06 15:04:20 UTC to 2025-10-01 17:30:01 UTC

- Clarify that "or it is dropped" is meant restrictively (rust-lang/reference#2035)
- add lifetime extension tests for tuple struct temporaries (rust-lang/reference#2033)
- Add `target_env = "macabi"` and `target_env = "sim"` (rust-lang/reference#1781)
- Typo fixes for the Tokens page (additions -> editions) (rust-lang/reference#2031)

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Oct 7, 2025
Update books

## rust-lang/reference

4 commits in e11adf6016a362766eea5a3f9832e193994dd0c8..8efb9805686722dba511b7b27281bb6b77d32130
2025-10-06 15:04:20 UTC to 2025-10-01 17:30:01 UTC

- Clarify that "or it is dropped" is meant restrictively (rust-lang/reference#2035)
- add lifetime extension tests for tuple struct temporaries (rust-lang/reference#2033)
- Add `target_env = "macabi"` and `target_env = "sim"` (rust-lang/reference#1781)
- Typo fixes for the Tokens page (additions -> editions) (rust-lang/reference#2031)

rust-timer added a commit to rust-lang/rust that referenced this pull request

Oct 7, 2025
Rollup merge of #147407 - rustbot:docs-update, r=ehuss

Update books

## rust-lang/reference

4 commits in e11adf6016a362766eea5a3f9832e193994dd0c8..8efb9805686722dba511b7b27281bb6b77d32130
2025-10-06 15:04:20 UTC to 2025-10-01 17:30:01 UTC

- Clarify that "or it is dropped" is meant restrictively (rust-lang/reference#2035)
- add lifetime extension tests for tuple struct temporaries (rust-lang/reference#2033)
- Add `target_env = "macabi"` and `target_env = "sim"` (rust-lang/reference#1781)
- Typo fixes for the Tokens page (additions -> editions) (rust-lang/reference#2031)

github-actions bot pushed a commit to rust-lang/miri that referenced this pull request

Oct 8, 2025
Update books

## rust-lang/reference

4 commits in e11adf6016a362766eea5a3f9832e193994dd0c8..8efb9805686722dba511b7b27281bb6b77d32130
2025-10-06 15:04:20 UTC to 2025-10-01 17:30:01 UTC

- Clarify that "or it is dropped" is meant restrictively (rust-lang/reference#2035)
- add lifetime extension tests for tuple struct temporaries (rust-lang/reference#2033)
- Add `target_env = "macabi"` and `target_env = "sim"` (rust-lang/reference#1781)
- Typo fixes for the Tokens page (additions -> editions) (rust-lang/reference#2031)

flip1995 pushed a commit to flip1995/rust-clippy that referenced this pull request

Oct 18, 2025
Update books

## rust-lang/reference

4 commits in e11adf6016a362766eea5a3f9832e193994dd0c8..8efb9805686722dba511b7b27281bb6b77d32130
2025-10-06 15:04:20 UTC to 2025-10-01 17:30:01 UTC

- Clarify that "or it is dropped" is meant restrictively (rust-lang/reference#2035)
- add lifetime extension tests for tuple struct temporaries (rust-lang/reference#2033)
- Add `target_env = "macabi"` and `target_env = "sim"` (rust-lang/reference#1781)
- Typo fixes for the Tokens page (additions -> editions) (rust-lang/reference#2031)