Begin refactor type checking state
This first patch starts by moving around pieces of state related to type checking. The goal is to slowly unify the type checking state into a single typing context. This initial patch moves the ParameterEnvironment into the InferCtxt and moves shared tables from Inherited and ty::ctxt into their own struct Tables. This is the foundational work to refactoring the type checker to enable future evolution of the language and tooling.
This commit is contained in:
parent
2ba46f8bbc
commit
79d02895ff
45 changed files with 427 additions and 252 deletions
|
@ -411,7 +411,7 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
|
|||
func_or_rcvr: &ast::Expr,
|
||||
args: I) -> CFGIndex {
|
||||
let method_call = ty::MethodCall::expr(call_expr.id);
|
||||
let fn_ty = match self.tcx.method_map.borrow().get(&method_call) {
|
||||
let fn_ty = match self.tcx.tables.borrow().method_map.get(&method_call) {
|
||||
Some(method) => method.ty,
|
||||
None => self.tcx.expr_ty_adjusted(func_or_rcvr)
|
||||
};
|
||||
|
@ -634,6 +634,6 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
|
|||
|
||||
fn is_method_call(&self, expr: &ast::Expr) -> bool {
|
||||
let method_call = ty::MethodCall::expr(expr.id);
|
||||
self.tcx.method_map.borrow().contains_key(&method_call)
|
||||
self.tcx.tables.borrow().method_map.contains_key(&method_call)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue