fix(tvix/eval): support string identifiers in inherits
This updates rnix-parser to a version where inherits provide an iterator over `ast::Attr` instead of `ast::Ident`, which mirrors the behaviour of Nix (inherits can have (statically known) strings as their identifiers). This actually required some fairly significant code reshuffling in the compiler, as there was an implicit assumption in many places that we would have an `ast::Ident` node available when dealing with variable access (which is then explicitly only not true in this case). Change-Id: I12f1e786c0030c85107b1aa409bd49adb5465546 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6747 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
This commit is contained in:
parent
ee0b89c402
commit
c46025d520
10 changed files with 138 additions and 81 deletions
|
|
@ -105,7 +105,7 @@ pub enum UpvalueKind {
|
|||
#[derive(Clone, Debug)]
|
||||
pub struct Upvalue {
|
||||
pub kind: UpvalueKind,
|
||||
pub node: rnix::ast::Ident,
|
||||
pub span: codemap::Span,
|
||||
}
|
||||
|
||||
/// Represents the index of a local in the scope's local array, which
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue