Merge pull request #3158 from rtfeldman/parse-expr-defs-soa

Parse expr defs soa
This commit is contained in:
Folkert de Vries 2022-06-15 18:54:30 +02:00 committed by GitHub
commit b99d7dba67
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
57 changed files with 989 additions and 1278 deletions

View file

@ -1,10 +1,10 @@
use crate::abilities::PendingAbilitiesStore;
use crate::annotation::canonicalize_annotation;
use crate::def::{canonicalize_toplevel_defs, sort_can_defs, Declaration, Def};
use crate::def::{canonicalize_defs, sort_can_defs, Declaration, Def};
use crate::effect_module::HostedGeneratedFunctions;
use crate::env::Env;
use crate::expr::{ClosureData, Expr, Output, PendingDerives};
use crate::operator::desugar_toplevel_defs;
use crate::operator::desugar_defs;
use crate::pattern::Pattern;
use crate::scope::Scope;
use bumpalo::Bump;
@ -175,7 +175,7 @@ pub fn canonicalize_module_defs<'a>(
) -> ModuleOutput {
let mut can_exposed_imports = MutMap::default();
let mut scope = Scope::new(home, exposed_ident_ids, imported_abilities_state);
let mut env = Env::new(home, dep_idents, module_ids);
let mut env = Env::new(arena, home, dep_idents, module_ids);
let num_deps = dep_idents.len();
for (name, alias) in aliases.into_iter() {
@ -198,7 +198,7 @@ pub fn canonicalize_module_defs<'a>(
// visited a BinOp node we'd recursively try to apply this to each of its nested
// operators, and then again on *their* nested operators, ultimately applying the
// rules multiple times unnecessarily.
desugar_toplevel_defs(arena, loc_defs);
desugar_defs(arena, loc_defs);
let mut lookups = Vec::with_capacity(num_deps);
let mut rigid_variables = RigidVariables::default();
@ -274,7 +274,7 @@ pub fn canonicalize_module_defs<'a>(
}
}
let (defs, output, symbols_introduced) = canonicalize_toplevel_defs(
let (defs, output, symbols_introduced) = canonicalize_defs(
&mut env,
Output::default(),
var_store,