only aliases without type arguments can be host-exposed (for now)

This commit is contained in:
Folkert 2020-11-10 13:29:25 +01:00
parent 04cdc2a276
commit b62de8fc3c

View file

@ -228,13 +228,17 @@ fn can_annotation_help(
actual.substitute(&substitutions); actual.substitute(&substitutions);
// Type::Alias(symbol, vars, Box::new(actual)) // Type::Alias(symbol, vars, Box::new(actual))
let actual_var = var_store.fresh(); if vars.is_empty() {
introduced_variables.insert_host_exposed_alias(symbol, actual_var); let actual_var = var_store.fresh();
Type::HostExposedAlias { introduced_variables.insert_host_exposed_alias(symbol, actual_var);
name: symbol, Type::HostExposedAlias {
arguments: vars, name: symbol,
actual: Box::new(actual), arguments: vars,
actual_var, actual: Box::new(actual),
actual_var,
}
} else {
Type::Alias(symbol, vars, Box::new(actual))
} }
} }
None => { None => {
@ -369,13 +373,17 @@ fn can_annotation_help(
// Type::Alias(symbol, vars, Box::new(alias.typ.clone())) // Type::Alias(symbol, vars, Box::new(alias.typ.clone()))
let actual_var = var_store.fresh(); if vars.is_empty() {
introduced_variables.insert_host_exposed_alias(symbol, actual_var); let actual_var = var_store.fresh();
Type::HostExposedAlias { introduced_variables.insert_host_exposed_alias(symbol, actual_var);
name: symbol, Type::HostExposedAlias {
arguments: vars, name: symbol,
actual: Box::new(alias.typ.clone()), arguments: vars,
actual_var, actual: Box::new(alias.typ.clone()),
actual_var,
}
} else {
Type::Alias(symbol, vars, Box::new(alias.typ.clone()))
} }
} }
_ => { _ => {