Fix tests

This commit is contained in:
Ayaz Hafiz 2022-07-06 15:45:42 -04:00
parent 9a01117536
commit 91e3bfbd01
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
4 changed files with 27 additions and 49 deletions

View file

@ -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,
);
}

View file

@ -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;

View file

@ -2370,7 +2370,7 @@ fn make_specialization_decision(subs: &Subs, var: Variable) -> SpecializeDecisio
| FlexVar(..)
| RecursionVar { .. }
| LambdaSet(..)
| RangedNumber(_, _) => {
| RangedNumber(..) => {
internal_error!("unexpected")
}
}

View file

@ -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";