mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-02 16:21:11 +00:00
Update tests
This commit is contained in:
parent
e019ec6736
commit
6e5ee5562e
3 changed files with 29 additions and 20 deletions
|
@ -3,6 +3,7 @@ use std::path::PathBuf;
|
||||||
|
|
||||||
use bumpalo::Bump;
|
use bumpalo::Bump;
|
||||||
use roc_packaging::cache::RocCacheDir;
|
use roc_packaging::cache::RocCacheDir;
|
||||||
|
use roc_solve::module::{SolveConfig, SolveOutput};
|
||||||
use ven_pretty::DocAllocator;
|
use ven_pretty::DocAllocator;
|
||||||
|
|
||||||
use roc_can::{
|
use roc_can::{
|
||||||
|
@ -418,18 +419,27 @@ fn check_derived_typechecks_and_golden(
|
||||||
roc_debug_flags::ROC_PRINT_UNIFICATIONS_DERIVED,
|
roc_debug_flags::ROC_PRINT_UNIFICATIONS_DERIVED,
|
||||||
std::env::set_var(roc_debug_flags::ROC_PRINT_UNIFICATIONS, "1")
|
std::env::set_var(roc_debug_flags::ROC_PRINT_UNIFICATIONS, "1")
|
||||||
);
|
);
|
||||||
let (mut solved_subs, _, problems, _) = roc_solve::module::run_solve(
|
|
||||||
test_module,
|
let solve_config = SolveConfig {
|
||||||
|
home: test_module,
|
||||||
|
constraints: &constraints,
|
||||||
|
root_constraint: constr,
|
||||||
types,
|
types,
|
||||||
&constraints,
|
pending_derives: Default::default(),
|
||||||
constr,
|
exposed_by_module: &exposed_for_module.exposed_by_module,
|
||||||
|
derived_module: Default::default(),
|
||||||
|
};
|
||||||
|
|
||||||
|
let SolveOutput {
|
||||||
|
subs: mut solved_subs,
|
||||||
|
errors: problems,
|
||||||
|
..
|
||||||
|
} = roc_solve::module::run_solve(
|
||||||
|
solve_config,
|
||||||
RigidVariables::default(),
|
RigidVariables::default(),
|
||||||
test_subs,
|
test_subs,
|
||||||
Default::default(),
|
Default::default(),
|
||||||
abilities_store,
|
abilities_store,
|
||||||
Default::default(),
|
|
||||||
&exposed_for_module.exposed_by_module,
|
|
||||||
Default::default(),
|
|
||||||
);
|
);
|
||||||
dbg_do!(
|
dbg_do!(
|
||||||
roc_debug_flags::ROC_PRINT_UNIFICATIONS_DERIVED,
|
roc_debug_flags::ROC_PRINT_UNIFICATIONS_DERIVED,
|
||||||
|
|
|
@ -15,7 +15,8 @@ use roc_module::symbol::{IdentIds, Interns, ModuleId, ModuleIds};
|
||||||
use roc_parse::parser::{SourceError, SyntaxError};
|
use roc_parse::parser::{SourceError, SyntaxError};
|
||||||
use roc_problem::can::Problem;
|
use roc_problem::can::Problem;
|
||||||
use roc_region::all::Loc;
|
use roc_region::all::Loc;
|
||||||
use roc_solve::solve::{self, Aliases};
|
use roc_solve::module::SolveConfig;
|
||||||
|
use roc_solve::{solve, Aliases};
|
||||||
use roc_solve_problem::TypeError;
|
use roc_solve_problem::TypeError;
|
||||||
use roc_types::subs::{Content, Subs, VarStore, Variable};
|
use roc_types::subs::{Content, Subs, VarStore, Variable};
|
||||||
use roc_types::types::Types;
|
use roc_types::types::Types;
|
||||||
|
@ -33,26 +34,24 @@ pub fn infer_expr(
|
||||||
problems: &mut Vec<TypeError>,
|
problems: &mut Vec<TypeError>,
|
||||||
types: Types,
|
types: Types,
|
||||||
constraints: &Constraints,
|
constraints: &Constraints,
|
||||||
constraint: &Constraint,
|
constraint: Constraint,
|
||||||
pending_derives: PendingDerives,
|
pending_derives: PendingDerives,
|
||||||
aliases: &mut Aliases,
|
aliases: &mut Aliases,
|
||||||
abilities_store: &mut AbilitiesStore,
|
abilities_store: &mut AbilitiesStore,
|
||||||
derived_module: SharedDerivedModule,
|
derived_module: SharedDerivedModule,
|
||||||
expr_var: Variable,
|
expr_var: Variable,
|
||||||
) -> (Content, Subs) {
|
) -> (Content, Subs) {
|
||||||
let (solved, _) = solve::run(
|
let config = SolveConfig {
|
||||||
ModuleId::ATTR,
|
|
||||||
types,
|
types,
|
||||||
constraints,
|
constraints,
|
||||||
problems,
|
root_constraint: constraint,
|
||||||
subs,
|
home: ModuleId::ATTR,
|
||||||
aliases,
|
|
||||||
constraint,
|
|
||||||
pending_derives,
|
pending_derives,
|
||||||
abilities_store,
|
exposed_by_module: &Default::default(),
|
||||||
&Default::default(),
|
|
||||||
derived_module,
|
derived_module,
|
||||||
);
|
};
|
||||||
|
|
||||||
|
let (solved, _) = solve::run(config, problems, subs, aliases, abilities_store);
|
||||||
|
|
||||||
let content = *solved.inner().get_content_without_compacting(expr_var);
|
let content = *solved.inner().get_content_without_compacting(expr_var);
|
||||||
|
|
||||||
|
|
|
@ -258,7 +258,7 @@ mod test_reporting {
|
||||||
subs.rigid_var(var.value, "*".into());
|
subs.rigid_var(var.value, "*".into());
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut solve_aliases = roc_solve::solve::Aliases::default();
|
let mut solve_aliases = roc_solve::Aliases::default();
|
||||||
|
|
||||||
for (name, alias) in output.aliases {
|
for (name, alias) in output.aliases {
|
||||||
solve_aliases.insert(&mut types, name, alias);
|
solve_aliases.insert(&mut types, name, alias);
|
||||||
|
@ -271,7 +271,7 @@ mod test_reporting {
|
||||||
&mut unify_problems,
|
&mut unify_problems,
|
||||||
types,
|
types,
|
||||||
&constraints,
|
&constraints,
|
||||||
&constraint,
|
constraint,
|
||||||
// Use `new_report_problem_as` in order to get proper derives.
|
// Use `new_report_problem_as` in order to get proper derives.
|
||||||
// TODO: remove the non-new reporting test infra.
|
// TODO: remove the non-new reporting test infra.
|
||||||
PendingDerives::default(),
|
PendingDerives::default(),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue