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

Document requirements for unsized {Rc,Arc}::from_raw #120449

Merged
merged 6 commits into from
Feb 15, 2024

Conversation

udoprog
Copy link
Contributor

@udoprog udoprog commented Jan 28, 2024

This seems to be implied due to these types supporting operation-less unsized coercions. Taken together with the established behavior of a wide to thin pointer cast it would enable unsafe downcasting of these containers.

Note that the term "data pointer" is adopted from rust-lang/rfcs#3559

See also this internals thread.

@rustbot
Copy link
Collaborator

rustbot commented Jan 28, 2024

r? @joshtriplett

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jan 28, 2024
@rust-log-analyzer

This comment has been minimized.

@udoprog udoprog force-pushed the document-unsized-rc-arc-from-raw branch from e64211f to 57e0dea Compare January 28, 2024 14:57
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@udoprog udoprog force-pushed the document-unsized-rc-arc-from-raw branch from ef55c61 to bdbbf04 Compare January 28, 2024 17:25
@joshtriplett
Copy link
Member

r? libs-api

@rustbot rustbot added the T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. label Feb 11, 2024
@rustbot rustbot assigned m-ou-se and unassigned joshtriplett Feb 11, 2024
@m-ou-se
Copy link
Member

m-ou-se commented Feb 15, 2024

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Feb 15, 2024

📌 Commit bdbbf04 has been approved by m-ou-se

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 15, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 15, 2024
…llaumeGomez

Rollup of 8 pull requests

Successful merges:

 - rust-lang#120449 (Document requirements for unsized {Rc,Arc}::from_raw)
 - rust-lang#120505 (Fix BTreeMap's Cursor::remove_{next,prev})
 - rust-lang#120672 (std::thread update freebsd stack guard handling.)
 - rust-lang#121088 (Implicitly enable evex512 if avx512 is enabled)
 - rust-lang#121104 (Ignore unsized types when trying to determine the size of the original type)
 - rust-lang#121107 (Fix msg for verbose suggestions with confusable capitalization)
 - rust-lang#121113 (Continue compilation even if inherent impl checks fail)
 - rust-lang#121120 (Add `ErrorGuaranteed` to `ast::LitKind::Err`, `token::LitKind::Err`.)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 9fdab38 into rust-lang:master Feb 15, 2024
11 checks passed
@rustbot rustbot added this to the 1.78.0 milestone Feb 15, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 15, 2024
Rollup merge of rust-lang#120449 - udoprog:document-unsized-rc-arc-from-raw, r=m-ou-se

Document requirements for unsized {Rc,Arc}::from_raw

This seems to be implied due to these types supporting operation-less unsized coercions. Taken together with the [established behavior of a wide to thin pointer cast](rust-lang/reference#1451) it would enable unsafe downcasting of these containers.

Note that the term "data pointer" is adopted from rust-lang/rfcs#3559

See also this [internals thread](https://internals.rust-lang.org/t/can-unsafe-smart-pointer-downcasts-be-correct/20229/2).
@udoprog udoprog deleted the document-unsized-rc-arc-from-raw branch February 15, 2024 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants