-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Introduce the beginning of a THIR unsafety checker #83129
Conversation
This comment has been minimized.
This comment has been minimized.
Wow, you can't use |
6026907
to
401b7c7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack! Just saw this. Will review Asap =)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a great start! I left a few nits.
I implemented the changes you requested. |
4135a1b
to
04a8451
Compare
This comment has been minimized.
This comment has been minimized.
04a8451
to
ed8ceb1
Compare
This comment has been minimized.
This comment has been minimized.
ed8ceb1
to
c3b4648
Compare
This comment has been minimized.
This comment has been minimized.
c3b4648
to
cf97a40
Compare
This comment has been minimized.
This comment has been minimized.
cf97a40
to
b29e409
Compare
This comment has been minimized.
This comment has been minimized.
b29e409
to
f8662fc
Compare
This comment has been minimized.
This comment has been minimized.
f8662fc
to
985fb4c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great, @LeSeulArtichaut! See my comment below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My bad! Everything looks good.
@bors r+ |
📌 Commit 985fb4c has been approved by |
☀️ Test successful - checks-actions |
…nikomatsakis Check for inline assembly in THIR unsafeck rust-lang#83129 was merged recently and added a THIR unsafe checker. This adds a check for inline assembly. (and this is 2x simpler than the MIR version, which has to check for `asm` and `llvm_asm` in two separate spots!) see also rust-lang/project-thir-unsafeck#7
…=oli-obk Check for union field accesses in THIR unsafeck see also rust-lang#85259, rust-lang#83129, rust-lang/project-thir-unsafeck#7 r? `@LeSeulArtichaut`
This poses the foundations for the THIR unsafety checker, so that it can be implemented incrementally:
Visitor
for the THIR (which will definitely need some tweaking in the future)-Zthir-unsafeck
flag which tells the compiler to use THIR unsafeck instead of MIR unsafeckThis uses a very simple query design, where bodies are unsafety-checked on a body per body basis. This however has some big flaws:
I had intended to fix these problems in follow-up PRs since they are always gated under the
-Zthir-unsafeck
flag (which is explicitely noted to be unsound).r? @nikomatsakis
cc rust-lang/project-thir-unsafeck#3 rust-lang/project-thir-unsafeck#7