Skip to content

Interface conversion panic #857

@halvfigur

Description

@halvfigur

Given

let foo = {
  "entry": {
    "alpha": "x",
    "beta": 1
  },
};

let bar = {
  "entry": {
    "alpha": "x",
    "beta": 1
  },
};

The following generates a panic with the message interface conversion: ast.Node is *ast.BinaryNode, not *ast.PredicateNode

let bad = foo
  | keys()
  | filter(# in bar)
  | filter(foo[#].alpha == bar[#].alpha)
  | filter(foo[#].beta == bar[#].beta);
bad

Whereas this works as expected

let bad = foo
  | keys()
  | filter(# in bar)
  | filter(foo[#].alpha == bar[#].alpha);

bad | filter(foo[#].beta == bar[#].beta)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions