-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Move hir_ty to Chalk IR #8419
Move hir_ty to Chalk IR #8419
Conversation
crates/hir_ty/src/display.rs
Outdated
@@ -741,7 +745,7 @@ fn write_bounds_like_dyn_trait( | |||
if !first { | |||
write!(f, " + ")?; | |||
} | |||
// We assume that the self type is $0 (i.e. the | |||
// We assume that the self type is (i.e. the |
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.
o_O... I think that may have been the result of applying a code action? if there's a $0 in code, do we just let it get treated as a snippet marker?
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.
yup, we don't do escaping.
🤔 👿 I wonder if we can bypass the whole issue by using some unicode private range character internaly for $
, and do escaping in the to_proto
?
67b26d8
to
001c845
Compare
Now that we're using Chalk's `substitute` which actually knows about lifetimes, the hack doesn't work anymore, but we can put in a proper lifetime.
001c845
to
8040f4a
Compare
changelog internal Type inference now uses Chalk's types everywhere, instead of having its own representations and mapping between them |
bors r+ |
987 MB -> 1018 MB RAM on self. |
Closes #8313.
There's some further cleanups to do:
TypeWalk
in lots of places (not for mutating/folding though, just for walking)InferenceTable
ToChalk
still exists and gets called, it's just the identity in most cases now (I'll probably clean those up before merging this)