mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-03 16:44:33 +00:00
WIP
This commit is contained in:
parent
743030fc99
commit
8a566dc339
260 changed files with 6344 additions and 2958 deletions
|
@ -10,7 +10,7 @@ use roc_build::{
|
|||
},
|
||||
};
|
||||
use roc_collections::MutMap;
|
||||
use roc_error_macros::todo_lambda_erasure;
|
||||
use roc_error_macros::{internal_error, todo_lambda_erasure};
|
||||
use roc_gen_llvm::run_roc::RocCallResult;
|
||||
use roc_load::{ExecutionMode, FunctionKind, LoadConfig, LoadedModule, LoadingProblem, Threading};
|
||||
use roc_mono::ir::{generate_glue_procs, CrashTag, GlueProc, OptLevel};
|
||||
|
@ -303,7 +303,13 @@ fn number_lambda_sets(subs: &Subs, initial: Variable) -> Vec<Variable> {
|
|||
use roc_types::types::Uls;
|
||||
|
||||
match subs.get_content_without_compacting(var) {
|
||||
RigidVar(_) | RigidAbleVar(_, _) | FlexVar(_) | FlexAbleVar(_, _) | Error => (),
|
||||
RigidVar(_)
|
||||
| RigidAbleVar(_, _)
|
||||
| FlexVar(_)
|
||||
| FlexAbleVar(_, _)
|
||||
| Pure
|
||||
| Effectful
|
||||
| Error => (),
|
||||
|
||||
RecursionVar { .. } => {
|
||||
// we got here, so we've treated this type already
|
||||
|
@ -314,7 +320,7 @@ fn number_lambda_sets(subs: &Subs, initial: Variable) -> Vec<Variable> {
|
|||
stack.extend(var_slice!(*args));
|
||||
}
|
||||
|
||||
Func(arg_vars, closure_var, ret_var) => {
|
||||
Func(arg_vars, closure_var, ret_var, _fx_var) => {
|
||||
lambda_sets.push(subs.get_root_key_without_compacting(*closure_var));
|
||||
|
||||
stack.push(*ret_var);
|
||||
|
@ -324,6 +330,7 @@ fn number_lambda_sets(subs: &Subs, initial: Variable) -> Vec<Variable> {
|
|||
|
||||
EmptyRecord => (),
|
||||
EmptyTagUnion => (),
|
||||
EffectfulFunc => internal_error!(),
|
||||
|
||||
Record(fields, ext) => {
|
||||
let fields = *fields;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue