mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 12:18:19 +00:00
Fix tests
This commit is contained in:
parent
9a01117536
commit
91e3bfbd01
4 changed files with 27 additions and 49 deletions
|
@ -225,26 +225,3 @@ pub fn unify(
|
|||
Unified::Failure(..) | Unified::BadType(..) => Err(UnificationFailed),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn hack(
|
||||
lset: Variable,
|
||||
home: ModuleId,
|
||||
arena: &Bump,
|
||||
subs: &mut Subs,
|
||||
abilities: &AbilitiesView,
|
||||
derived_module: &SharedDerivedModule,
|
||||
exposed_by_module: &ExposedByModule,
|
||||
) {
|
||||
let mut subs_proxy = SubsProxy::new(home, subs, derived_module);
|
||||
let late_phase = LatePhase { home, abilities };
|
||||
let mut uls_of_var = roc_types::subs::UlsOfVar::default();
|
||||
uls_of_var.add(lset, lset);
|
||||
compact_lambda_sets_of_vars(
|
||||
&mut subs_proxy,
|
||||
arena,
|
||||
&mut Pools::default(),
|
||||
uls_of_var,
|
||||
&late_phase,
|
||||
exposed_by_module,
|
||||
);
|
||||
}
|
||||
|
|
|
@ -2669,7 +2669,8 @@ fn specialize_suspended<'a>(
|
|||
v
|
||||
}
|
||||
None => {
|
||||
if env.home == ModuleId::DERIVED && name.module_id() == ModuleId::DERIVED {
|
||||
if env.home == ModuleId::DERIVED && name.name().module_id() == ModuleId::DERIVED
|
||||
{
|
||||
// TODO: This can happen when we find another symbol to derive, but haven't
|
||||
// yet derived it. We don't need this branch if we make deriving closer to
|
||||
// mono and have derived impls assembled into procs here, rather than in
|
||||
|
@ -2680,7 +2681,7 @@ fn specialize_suspended<'a>(
|
|||
} else {
|
||||
// TODO this assumes the specialization is done by another module
|
||||
// make sure this does not become a problem down the road!
|
||||
debug_assert!(name.module_id() != name.module_id());
|
||||
debug_assert!(name.name().module_id() != name.name().module_id());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
@ -2923,7 +2924,7 @@ fn specialize_external<'a>(
|
|||
host_exposed_variables: &[(Symbol, Variable)],
|
||||
partial_proc_id: PartialProcId,
|
||||
) -> Result<Proc<'a>, LayoutProblem> {
|
||||
dbg!(("spec ", proc_name));
|
||||
dbg!(("spec ", lambda_name));
|
||||
let partial_proc = procs.partial_procs.get_id(partial_proc_id);
|
||||
let captured_symbols = partial_proc.captured_symbols;
|
||||
|
||||
|
|
|
@ -2370,7 +2370,7 @@ fn make_specialization_decision(subs: &Subs, var: Variable) -> SpecializeDecisio
|
|||
| FlexVar(..)
|
||||
| RecursionVar { .. }
|
||||
| LambdaSet(..)
|
||||
| RangedNumber(_, _) => {
|
||||
| RangedNumber(..) => {
|
||||
internal_error!("unexpected")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,47 +45,47 @@ procedure Json.65 (Json.66, Json.105, #Attr.12):
|
|||
inc Json.64;
|
||||
dec #Attr.12;
|
||||
let Json.114 : I32 = 34i64;
|
||||
let Json.113 : U8 = CallByName Num.122 Json.114;
|
||||
let Json.113 : U8 = CallByName Num.123 Json.114;
|
||||
let Json.111 : List U8 = CallByName List.4 Json.66 Json.113;
|
||||
let Json.112 : List U8 = CallByName Str.12 Json.64;
|
||||
let Json.108 : List U8 = CallByName List.8 Json.111 Json.112;
|
||||
let Json.110 : I32 = 34i64;
|
||||
let Json.109 : U8 = CallByName Num.122 Json.110;
|
||||
let Json.109 : U8 = CallByName Num.123 Json.110;
|
||||
let Json.107 : List U8 = CallByName List.4 Json.108 Json.109;
|
||||
ret Json.107;
|
||||
|
||||
procedure List.4 (#Attr.2, #Attr.3):
|
||||
let List.141 : List U8 = lowlevel ListAppend #Attr.2 #Attr.3;
|
||||
ret List.141;
|
||||
let List.280 : List U8 = lowlevel ListAppend #Attr.2 #Attr.3;
|
||||
ret List.280;
|
||||
|
||||
procedure List.8 (#Attr.2, #Attr.3):
|
||||
let List.142 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.142;
|
||||
let List.281 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
|
||||
ret List.281;
|
||||
|
||||
procedure Num.122 (#Attr.2):
|
||||
let Num.272 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.272;
|
||||
procedure Num.123 (#Attr.2):
|
||||
let Num.189 : U8 = lowlevel NumIntCast #Attr.2;
|
||||
ret Num.189;
|
||||
|
||||
procedure Str.12 (#Attr.2):
|
||||
let Str.73 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.73;
|
||||
let Str.162 : List U8 = lowlevel StrToUtf8 #Attr.2;
|
||||
ret Str.162;
|
||||
|
||||
procedure Str.9 (#Attr.2):
|
||||
let #Attr.3 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8 #Attr.2;
|
||||
let Str.69 : Int1 = StructAtIndex 2 #Attr.3;
|
||||
if Str.69 then
|
||||
let Str.71 : Str = StructAtIndex 1 #Attr.3;
|
||||
inc Str.71;
|
||||
let Str.158 : Int1 = StructAtIndex 2 #Attr.3;
|
||||
if Str.158 then
|
||||
let Str.160 : Str = StructAtIndex 1 #Attr.3;
|
||||
inc Str.160;
|
||||
dec #Attr.3;
|
||||
let Str.70 : [C {U64, U8}, C Str] = Ok Str.71;
|
||||
ret Str.70;
|
||||
let Str.159 : [C {U64, U8}, C Str] = TagId(1) Str.160;
|
||||
ret Str.159;
|
||||
else
|
||||
let Str.67 : U8 = StructAtIndex 3 #Attr.3;
|
||||
let Str.68 : U64 = StructAtIndex 0 #Attr.3;
|
||||
let Str.156 : U8 = StructAtIndex 3 #Attr.3;
|
||||
let Str.157 : U64 = StructAtIndex 0 #Attr.3;
|
||||
dec #Attr.3;
|
||||
let Str.66 : {U64, U8} = Struct {Str.68, Str.67};
|
||||
let Str.65 : [C {U64, U8}, C Str] = Err Str.66;
|
||||
ret Str.65;
|
||||
let Str.155 : {U64, U8} = Struct {Str.157, Str.156};
|
||||
let Str.154 : [C {U64, U8}, C Str] = TagId(0) Str.155;
|
||||
ret Str.154;
|
||||
|
||||
procedure Test.0 ():
|
||||
let Test.9 : Str = "abc";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue