mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-29 06:44:46 +00:00
use VecSet in canonicalizing annotations
This commit is contained in:
parent
cc6c63355a
commit
be1aff390c
1 changed files with 9 additions and 9 deletions
|
@ -1,6 +1,6 @@
|
||||||
use crate::env::Env;
|
use crate::env::Env;
|
||||||
use crate::scope::Scope;
|
use crate::scope::Scope;
|
||||||
use roc_collections::all::{ImMap, MutMap, MutSet, SendMap};
|
use roc_collections::all::{ImMap, MutMap, MutSet, SendMap, VecSet};
|
||||||
use roc_module::ident::{Ident, Lowercase, TagName};
|
use roc_module::ident::{Ident, Lowercase, TagName};
|
||||||
use roc_module::symbol::{IdentIds, ModuleId, Symbol};
|
use roc_module::symbol::{IdentIds, ModuleId, Symbol};
|
||||||
use roc_parse::ast::{AssignedField, ExtractSpaces, Pattern, Tag, TypeAnnotation, TypeHeader};
|
use roc_parse::ast::{AssignedField, ExtractSpaces, Pattern, Tag, TypeAnnotation, TypeHeader};
|
||||||
|
@ -15,7 +15,7 @@ use roc_types::types::{
|
||||||
pub struct Annotation {
|
pub struct Annotation {
|
||||||
pub typ: Type,
|
pub typ: Type,
|
||||||
pub introduced_variables: IntroducedVariables,
|
pub introduced_variables: IntroducedVariables,
|
||||||
pub references: MutSet<Symbol>,
|
pub references: VecSet<Symbol>,
|
||||||
pub aliases: SendMap<Symbol, Alias>,
|
pub aliases: SendMap<Symbol, Alias>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@ pub fn canonicalize_annotation(
|
||||||
var_store: &mut VarStore,
|
var_store: &mut VarStore,
|
||||||
) -> Annotation {
|
) -> Annotation {
|
||||||
let mut introduced_variables = IntroducedVariables::default();
|
let mut introduced_variables = IntroducedVariables::default();
|
||||||
let mut references = MutSet::default();
|
let mut references = VecSet::default();
|
||||||
let mut aliases = SendMap::default();
|
let mut aliases = SendMap::default();
|
||||||
|
|
||||||
let typ = can_annotation_help(
|
let typ = can_annotation_help(
|
||||||
|
@ -232,7 +232,7 @@ pub fn canonicalize_annotation_with_possible_clauses(
|
||||||
abilities_in_scope: &[Symbol],
|
abilities_in_scope: &[Symbol],
|
||||||
) -> Annotation {
|
) -> Annotation {
|
||||||
let mut introduced_variables = IntroducedVariables::default();
|
let mut introduced_variables = IntroducedVariables::default();
|
||||||
let mut references = MutSet::default();
|
let mut references = VecSet::default();
|
||||||
let mut aliases = SendMap::default();
|
let mut aliases = SendMap::default();
|
||||||
|
|
||||||
let (annotation, region) = match annotation {
|
let (annotation, region) = match annotation {
|
||||||
|
@ -433,7 +433,7 @@ fn can_annotation_help(
|
||||||
var_store: &mut VarStore,
|
var_store: &mut VarStore,
|
||||||
introduced_variables: &mut IntroducedVariables,
|
introduced_variables: &mut IntroducedVariables,
|
||||||
local_aliases: &mut SendMap<Symbol, Alias>,
|
local_aliases: &mut SendMap<Symbol, Alias>,
|
||||||
references: &mut MutSet<Symbol>,
|
references: &mut VecSet<Symbol>,
|
||||||
) -> Type {
|
) -> Type {
|
||||||
use roc_parse::ast::TypeAnnotation::*;
|
use roc_parse::ast::TypeAnnotation::*;
|
||||||
|
|
||||||
|
@ -861,7 +861,7 @@ fn canonicalize_has_clause(
|
||||||
introduced_variables: &mut IntroducedVariables,
|
introduced_variables: &mut IntroducedVariables,
|
||||||
clause: &Loc<roc_parse::ast::HasClause<'_>>,
|
clause: &Loc<roc_parse::ast::HasClause<'_>>,
|
||||||
abilities_in_scope: &[Symbol],
|
abilities_in_scope: &[Symbol],
|
||||||
references: &mut MutSet<Symbol>,
|
references: &mut VecSet<Symbol>,
|
||||||
) -> Result<(), Type> {
|
) -> Result<(), Type> {
|
||||||
let Loc {
|
let Loc {
|
||||||
region,
|
region,
|
||||||
|
@ -923,7 +923,7 @@ fn can_extension_type<'a>(
|
||||||
var_store: &mut VarStore,
|
var_store: &mut VarStore,
|
||||||
introduced_variables: &mut IntroducedVariables,
|
introduced_variables: &mut IntroducedVariables,
|
||||||
local_aliases: &mut SendMap<Symbol, Alias>,
|
local_aliases: &mut SendMap<Symbol, Alias>,
|
||||||
references: &mut MutSet<Symbol>,
|
references: &mut VecSet<Symbol>,
|
||||||
opt_ext: &Option<&Loc<TypeAnnotation<'a>>>,
|
opt_ext: &Option<&Loc<TypeAnnotation<'a>>>,
|
||||||
ext_problem_kind: roc_problem::can::ExtensionTypeKind,
|
ext_problem_kind: roc_problem::can::ExtensionTypeKind,
|
||||||
) -> Type {
|
) -> Type {
|
||||||
|
@ -1105,7 +1105,7 @@ fn can_assigned_fields<'a>(
|
||||||
var_store: &mut VarStore,
|
var_store: &mut VarStore,
|
||||||
introduced_variables: &mut IntroducedVariables,
|
introduced_variables: &mut IntroducedVariables,
|
||||||
local_aliases: &mut SendMap<Symbol, Alias>,
|
local_aliases: &mut SendMap<Symbol, Alias>,
|
||||||
references: &mut MutSet<Symbol>,
|
references: &mut VecSet<Symbol>,
|
||||||
) -> SendMap<Lowercase, RecordField<Type>> {
|
) -> SendMap<Lowercase, RecordField<Type>> {
|
||||||
use roc_parse::ast::AssignedField::*;
|
use roc_parse::ast::AssignedField::*;
|
||||||
use roc_types::types::RecordField::*;
|
use roc_types::types::RecordField::*;
|
||||||
|
@ -1218,7 +1218,7 @@ fn can_tags<'a>(
|
||||||
var_store: &mut VarStore,
|
var_store: &mut VarStore,
|
||||||
introduced_variables: &mut IntroducedVariables,
|
introduced_variables: &mut IntroducedVariables,
|
||||||
local_aliases: &mut SendMap<Symbol, Alias>,
|
local_aliases: &mut SendMap<Symbol, Alias>,
|
||||||
references: &mut MutSet<Symbol>,
|
references: &mut VecSet<Symbol>,
|
||||||
) -> Vec<(TagName, Vec<Type>)> {
|
) -> Vec<(TagName, Vec<Type>)> {
|
||||||
let mut tag_types = Vec::with_capacity(tags.len());
|
let mut tag_types = Vec::with_capacity(tags.len());
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue