De-abstract tagged ptr and make it covariant by BoxyUwU · Pull Request #135383 · rust-lang/rust

@rustbot rustbot added S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

T-compiler

Relevant to the compiler team, which will review and decide on the PR/issue.

labels

Jan 11, 2025

fbstj

@BoxyUwU

compiler-errors

@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

Jan 12, 2025

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

Jan 12, 2025
…rors

De-abstract tagged ptr and make it covariant

In rust-lang#135272 I needed to use a tagged ptr in `hir::TyKind` in order to not regress hir type sizes. Unfortunately the existing `CopyTaggedPtr` abstraction is insufficient as it makes the `'hir` lifetime invariant.

I spent some time trying to keep existing functionality while making it covariant but in the end I realised that actually we dont use *any* of this code *anywhere* in rustc, so I've just removed everything and replaced it with a much less general abstraction that is suitable for what I need in rust-lang#135272.

Idk if anyone has a preference for just keeping all the abstractions here in case anyone needs them in the future 🤷‍♀️

This was referenced

Jan 12, 2025

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

Jan 12, 2025
…llaumeGomez

Rollup of 7 pull requests

Successful merges:

 - rust-lang#135348 (rustdoc-json: Include items in stripped modules in `Crate::paths`.)
 - rust-lang#135365 (Update the explanation for why we use box_new in vec!)
 - rust-lang#135383 (De-abstract tagged ptr and make it covariant)
 - rust-lang#135401 (Remove some empty expected files to fix blessing)
 - rust-lang#135406 (Update unstable lint docs to include required feature attributes)
 - rust-lang#135407 (Deny various clippy lints)
 - rust-lang#135411 (run_make_support: add `#![warn(unreachable_pub)]`)

r? `@ghost`
`@rustbot` modify labels: rollup

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

Jan 13, 2025
Rollup merge of rust-lang#135383 - BoxyUwU:cov_tag_ptr, r=compiler-errors

De-abstract tagged ptr and make it covariant

In rust-lang#135272 I needed to use a tagged ptr in `hir::TyKind` in order to not regress hir type sizes. Unfortunately the existing `CopyTaggedPtr` abstraction is insufficient as it makes the `'hir` lifetime invariant.

I spent some time trying to keep existing functionality while making it covariant but in the end I realised that actually we dont use *any* of this code *anywhere* in rustc, so I've just removed everything and replaced it with a much less general abstraction that is suitable for what I need in rust-lang#135272.

Idk if anyone has a preference for just keeping all the abstractions here in case anyone needs them in the future 🤷‍♀️

github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request

Mar 11, 2025
…llaumeGomez

Rollup of 7 pull requests

Successful merges:

 - rust-lang#135348 (rustdoc-json: Include items in stripped modules in `Crate::paths`.)
 - rust-lang#135365 (Update the explanation for why we use box_new in vec!)
 - rust-lang#135383 (De-abstract tagged ptr and make it covariant)
 - rust-lang#135401 (Remove some empty expected files to fix blessing)
 - rust-lang#135406 (Update unstable lint docs to include required feature attributes)
 - rust-lang#135407 (Deny various clippy lints)
 - rust-lang#135411 (run_make_support: add `#![warn(unreachable_pub)]`)

r? `@ghost`
`@rustbot` modify labels: rollup