-
Notifications
You must be signed in to change notification settings - Fork 1.7k
feat: MIR episode 4 #14664
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
feat: MIR episode 4 #14664
Conversation
crates/hir-ty/src/infer.rs
Outdated
use crate::TraitEnvironment; | ||
use crate::{ |
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.
huh, did r-a fail at merging this into the use tree here?
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.
Yes, when I remove it and use assist, it will add it here again.
3fc735d
to
ee76b04
Compare
☔ The latest upstream changes (presumably #14690) made this pull request unmergeable. Please resolve the merge conflicts. |
@bors r+ |
☀️ Test successful - checks-actions |
In lowering, it now supports overloaded and arith assignment binary operators, statics. and constants in patterns. There is now 252 functions that we fail to emit mir for them, and the majority of them are due type mismatches or other deep and unrelated issues (but it isn't done yet, for example slice patterns and destructing assignment is not implemented yet).
In evaluating, it now can evaluate associated constants in traits (so now typenum's
U5::ToConst
should work), allocator functions, atomic intrinsics, and some more things. It also provides a (hacky) basis for making progress in #14275. I also added aInterpret
code lens toRun
andDebug
when the experimentalinterpret tests
is enabled (previously it showed result in hover, which was unusable even for debugging)Changes in unrelated files are:
beforeaftersig_ty
.A salsa input for retrieving the path of a file id, used in emitting stack trace for interpret result.