Implement open-in-output-position for non-alias type annotations

This commit is contained in:
Ayaz Hafiz 2022-10-25 18:00:50 -05:00
parent 0707739cfc
commit 8d5678151d
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
3 changed files with 82 additions and 6 deletions

View file

@ -7,6 +7,7 @@ use crate::annotation::find_type_def_symbols;
use crate::annotation::make_apply_symbol;
use crate::annotation::IntroducedVariables;
use crate::annotation::OwnedNamedOrAble;
use crate::annotation::ValueAnnotation;
use crate::derive;
use crate::env::Env;
use crate::expr::AccessorData;
@ -327,6 +328,7 @@ fn canonicalize_alias<'a>(
ann.region,
var_store,
pending_abilities_in_scope,
ValueAnnotation(false),
);
// Record all the annotation's references in output.references.lookups
@ -1329,6 +1331,7 @@ fn resolve_abilities<'a>(
typ.region,
var_store,
pending_abilities_in_scope,
ValueAnnotation(true),
);
// Record all the annotation's references in output.references.lookups
@ -1996,6 +1999,7 @@ fn canonicalize_pending_value_def<'a>(
loc_ann.region,
var_store,
pending_abilities_in_scope,
ValueAnnotation(true),
);
// Record all the annotation's references in output.references.lookups
@ -2095,6 +2099,7 @@ fn canonicalize_pending_value_def<'a>(
loc_ann.region,
var_store,
pending_abilities_in_scope,
ValueAnnotation(true),
);
// Record all the annotation's references in output.references.lookups