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

Begin to implement type system layer of unsafe binders #134625

Merged
merged 1 commit into from
Dec 24, 2024

Conversation

compiler-errors
Copy link
Member

@compiler-errors compiler-errors commented Dec 21, 2024

Mostly TODOs, but there's a lot of match arms that are basically just noops so I wanted to split these out before I put up the MIR lowering/projection part of this logic.

r? oli-obk

Tracking:

@rustbot rustbot added PG-exploit-mitigations Project group: Exploit mitigations 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Dec 21, 2024
@rustbot
Copy link
Collaborator

rustbot commented Dec 21, 2024

Some changes occurred in exhaustiveness checking

cc @Nadrieril

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

changes to the core type system

cc @compiler-errors, @lcnr

Some changes occurred in compiler/rustc_sanitizers

cc @rust-lang/project-exploit-mitigations, @rcvalle

Some changes occurred to the CTFE / Miri interpreter

cc @rust-lang/miri

Some changes occurred to the CTFE machinery

cc @rust-lang/wg-const-eval

Some changes occurred in src/tools/clippy

cc @rust-lang/clippy

HIR ty lowering was modified

cc @fmease

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

Copy link
Contributor

@oli-obk oli-obk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels like some of the todo! should be reachable even now, but seems fine to address them individually or together with mir support

compiler/rustc_hir_analysis/src/variance/constraints.rs Outdated Show resolved Hide resolved
compiler/rustc_hir_typeck/src/expr.rs Show resolved Hide resolved
compiler/rustc_middle/src/ty/print/pretty.rs Show resolved Hide resolved
compiler/rustc_ty_utils/src/needs_drop.rs Outdated Show resolved Hide resolved
compiler/rustc_type_ir/src/ty_kind.rs Outdated Show resolved Hide resolved
tests/ui/symbol-names/basic.legacy.stderr Show resolved Hide resolved
tests/ui/unsafe-binders/simple.rs Show resolved Hide resolved
tests/ui/unsafe-binders/mismatch.rs Show resolved Hide resolved
@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 21, 2024
@compiler-errors compiler-errors force-pushed the unsafe-binders-ty branch 3 times, most recently from 75481a2 to 211eab4 Compare December 21, 2024 22:24
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@compiler-errors compiler-errors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 23, 2024
@oli-obk
Copy link
Contributor

oli-obk commented Dec 23, 2024

@bors r+

@bors
Copy link
Contributor

bors commented Dec 23, 2024

📌 Commit 9a1c5eb has been approved by oli-obk

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 Dec 23, 2024
@bors
Copy link
Contributor

bors commented Dec 24, 2024

⌛ Testing commit 9a1c5eb with merge f334342...

@bors
Copy link
Contributor

bors commented Dec 24, 2024

☀️ Test successful - checks-actions
Approved by: oli-obk
Pushing f334342 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 24, 2024
@bors bors merged commit f334342 into rust-lang:master Dec 24, 2024
7 checks passed
@rustbot rustbot added this to the 1.85.0 milestone Dec 24, 2024
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (f334342): comparison URL.

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary -0.2%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.6% [3.6%, 3.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.9% [-3.9%, -3.9%] 1
All ❌✅ (primary) - - 0

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 763.437s -> 760.851s (-0.34%)
Artifact size: 330.62 MiB -> 330.65 MiB (0.01%)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Dec 26, 2024
…=oli-obk

Begin to implement type system layer of unsafe binders

Mostly TODOs, but there's a lot of match arms that are basically just noops so I wanted to split these out before I put up the MIR lowering/projection part of this logic.

r? oli-obk

Tracking:

- rust-lang#130516
remi-delmas-3000 pushed a commit to remi-delmas-3000/kani that referenced this pull request Jan 6, 2025
Rustc has started implementing `UnsafeBinder`:
- rust-lang/rust#134625
- rust-lang/rust#130516
Only the enums variants have been added for now, semantics is TBD.
remi-delmas-3000 pushed a commit to remi-delmas-3000/kani that referenced this pull request Jan 7, 2025
Rustc has started implementing `UnsafeBinder`:
- rust-lang/rust#134625
- rust-lang/rust#130516
Only the enums variants have been added for now, semantics is TBD.
remi-delmas-3000 pushed a commit to remi-delmas-3000/kani that referenced this pull request Jan 7, 2025
Rustc has started implementing `UnsafeBinder`:
- rust-lang/rust#134625
- rust-lang/rust#130516
Only the enums variants have been added for now, semantics is TBD.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants