mirror of
https://github.com/roc-lang/roc.git
synced 2025-07-24 15:03:46 +00:00
Fix errors
This commit is contained in:
parent
da421068f1
commit
703ef6608e
8 changed files with 167 additions and 20 deletions
|
@ -2,9 +2,9 @@
|
|||
|
||||
use crate::docs::ModuleDocumentation;
|
||||
use crate::module::{
|
||||
ConstrainedModule, EntryPoint, Expectations, ExposedToHost, FoundSpecializationsModule,
|
||||
LateSpecializationsModule, LoadedModule, ModuleHeader, ModuleTiming, MonomorphizedModule,
|
||||
ParsedModule, ToplevelExpects, TypeCheckedModule,
|
||||
CheckedModule, ConstrainedModule, EntryPoint, Expectations, ExposedToHost,
|
||||
FoundSpecializationsModule, LateSpecializationsModule, LoadedModule, ModuleHeader,
|
||||
ModuleTiming, MonomorphizedModule, ParsedModule, ToplevelExpects, TypeCheckedModule,
|
||||
};
|
||||
use crate::module_cache::ModuleCache;
|
||||
use bumpalo::{collections::CollectIn, Bump};
|
||||
|
@ -3321,6 +3321,8 @@ fn finish(
|
|||
|
||||
let exposed_values = exposed_vars_by_symbol.iter().map(|x| x.0).collect();
|
||||
|
||||
let declarations_by_id = state.declarations_by_id;
|
||||
|
||||
roc_checkmate::dump_checkmate!(checkmate);
|
||||
|
||||
LoadedModule {
|
||||
|
|
|
@ -45,6 +45,7 @@ pub struct LoadedModule {
|
|||
pub timings: MutMap<ModuleId, ModuleTiming>,
|
||||
pub docs_by_module: VecMap<ModuleId, ModuleDocumentation>,
|
||||
pub abilities_store: AbilitiesStore,
|
||||
pub typechecked: MutMap<ModuleId, CheckedModule>,
|
||||
}
|
||||
|
||||
impl LoadedModule {
|
||||
|
@ -129,6 +130,13 @@ pub struct TypeCheckedModule<'a> {
|
|||
pub checkmate: Option<roc_checkmate::Collector>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct CheckedModule {
|
||||
pub solved_subs: Solved<Subs>,
|
||||
pub decls: Declarations,
|
||||
pub abilities_store: AbilitiesStore,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub(crate) struct FoundSpecializationsModule<'a> {
|
||||
pub(crate) ident_ids: IdentIds,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use crate::docs::ModuleDocumentation;
|
||||
use crate::module::{
|
||||
ConstrainedModule, FoundSpecializationsModule, LateSpecializationsModule, ModuleHeader,
|
||||
ParsedModule, TypeCheckedModule,
|
||||
CheckedModule, ConstrainedModule, FoundSpecializationsModule, LateSpecializationsModule,
|
||||
ModuleHeader, ParsedModule, TypeCheckedModule,
|
||||
};
|
||||
use roc_can::abilities::PendingAbilitiesStore;
|
||||
use roc_collections::{MutMap, MutSet, VecMap};
|
||||
|
@ -25,6 +25,7 @@ pub(crate) struct ModuleCache<'a> {
|
|||
pub(crate) pending_abilities: MutMap<ModuleId, PendingAbilitiesStore>,
|
||||
pub(crate) constrained: MutMap<ModuleId, ConstrainedModule>,
|
||||
pub(crate) typechecked: MutMap<ModuleId, TypeCheckedModule<'a>>,
|
||||
pub(crate) checked: MutMap<ModuleId, CheckedModule>,
|
||||
pub(crate) found_specializations: MutMap<ModuleId, FoundSpecializationsModule<'a>>,
|
||||
pub(crate) late_specializations: MutMap<ModuleId, LateSpecializationsModule<'a>>,
|
||||
pub(crate) external_specializations_requested:
|
||||
|
@ -97,6 +98,7 @@ impl Default for ModuleCache<'_> {
|
|||
pending_abilities: Default::default(),
|
||||
constrained: Default::default(),
|
||||
typechecked: Default::default(),
|
||||
checked: Default::default(),
|
||||
found_specializations: Default::default(),
|
||||
late_specializations: Default::default(),
|
||||
external_specializations_requested: Default::default(),
|
||||
|
|
|
@ -653,9 +653,11 @@ impl RuntimeError {
|
|||
| RuntimeError::DegenerateBranch(region)
|
||||
| RuntimeError::InvalidInterpolation(region)
|
||||
| RuntimeError::InvalidHexadecimal(region)
|
||||
| RuntimeError::MultipleRecordBuilders(region)
|
||||
| RuntimeError::UnappliedRecordBuilder(region)
|
||||
| RuntimeError::InvalidUnicodeCodePt(region) => *region,
|
||||
RuntimeError::UnresolvedTypeVar | RuntimeError::ErroneousType => Region::zero(),
|
||||
RuntimeError::LookupNotInScope(ident, _) => ident.region,
|
||||
RuntimeError::LookupNotInScope { loc_name, .. } => loc_name.region,
|
||||
RuntimeError::OpaqueNotDefined { usage, .. } => usage.region,
|
||||
RuntimeError::OpaqueNotApplied(ident) => ident.region,
|
||||
RuntimeError::CircularDef(cycle) => cycle[0].symbol_region,
|
||||
|
|
|
@ -70,6 +70,8 @@ impl TypeError {
|
|||
TypeError::UnfulfilledAbility(ab, ..) => ab.region(),
|
||||
TypeError::Exhaustive(e) => Some(e.region()),
|
||||
TypeError::CircularDef(c) => c.first().map(|ce| ce.symbol_region),
|
||||
TypeError::IngestedFileBadUtf8(_, _) => None,
|
||||
TypeError::IngestedFileUnsupportedType(_, _) => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue