-
Notifications
You must be signed in to change notification settings - Fork 173
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
Borrowck: variance analysis #2823
Borrowck: variance analysis #2823
Conversation
226acd7
to
a52ab05
Compare
a52ab05
to
a43edad
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.
just some minor style nits. Otherwise this is pretty advanced stuff its going to take a while before I can follow it all properly but it looks very consistent which is a very good sign
a43edad
to
6a9bbe2
Compare
6a9bbe2
to
a77491d
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.
a couple of comments but this looks very good and clean :) thanks a lot for this work
a77491d
to
3e09ddb
Compare
@CohenArthur I have split the context for one type processing from the global context to make it reentrant and integrated the global one in the typecheck context. |
gcc/rust/ChangeLog: * typecheck/rust-tyty-subst.cc (SubstitutionRef::get_arg_at): Add unified API. Signed-off-by: Jakub Dupak <dev@jakubdupak.com>
gcc/rust/ChangeLog: * Make-lang.in: Add new .cc file. * rust-session-manager.cc (Session::compile_crate): Run analysis. * typecheck/rust-tyty-variance-analysis-private.h: New file. * typecheck/rust-tyty-variance-analysis.cc: New file. * typecheck/rust-tyty-variance-analysis.h: New file. * typecheck/rust-typecheck-context.cc (TypeCheckContext::get_variance_analysis_ctx): Variance analysis context. * typecheck/rust-hir-type-check.h (TypeCheckItem::visit): Variance analysis context. Signed-off-by: Jakub Dupak <dev@jakubdupak.com>
gcc/rust/ChangeLog: * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): Collect variance info from types. Signed-off-by: Jakub Dupak <dev@jakubdupak.com>
3e09ddb
to
dc90ea9
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.
thanks! that's a lot of very good work :)
Depends on #2814 (merged)