Dear basex team,

running the following unit test involving a simple anonymous function

declare
%unit:test
function local:test-inline-function() {
  let $f := function($x) {$x+1}
  return unit:assert-equals( $f(5), 6)
};

raises a java exception

     [exec] Improper use? Potential bug? Your feedback is welcome:
     [exec] Contact: basex-talk@mailman.uni-konstanz.de
     [exec] Version: BaseX 7.8
     [exec] Java: Oracle Corporation, 1.7.0_51
     [exec] OS: Linux, i386
     [exec] Stack Trace:
[exec] java.lang.ClassCastException: org.basex.query.value.type.AtomType cannot be cast to org.basex.query.value.type.FuncType [exec] at org.basex.query.func.InlineFunc.item(InlineFunc.java:261) [exec] at org.basex.query.func.InlineFunc.value(InlineFunc.java:280) [exec] at org.basex.query.QueryContext.value(QueryContext.java:367)
     [exec]     at org.basex.query.gflwor.Let$LetEval.next(Let.java:230)
     [exec]     at org.basex.query.gflwor.GFLWOR$2.next(GFLWOR.java:73)
     [exec]     at org.basex.query.iter.Iter.value(Iter.java:64)
     [exec]     at org.basex.query.expr.ParseExpr.value(ParseExpr.java:71)
[exec] at org.basex.query.QueryContext.value(QueryContext.java:367) [exec] at org.basex.query.func.StaticFunc.invValue(StaticFunc.java:203)
     [exec]     at org.basex.query.func.FuncCall.invoke(FuncCall.java:96)
     [exec]     at org.basex.query.func.FuncCall.value(FuncCall.java:138)
[exec] at org.basex.query.func.StaticFunc.invokeValue(StaticFunc.java:215)
     [exec]     at org.basex.query.util.unit.Unit.eval(Unit.java:210)
     [exec]     at org.basex.query.util.unit.Unit.test(Unit.java:127)
     [exec]     at org.basex.query.util.unit.Unit.test(Unit.java:51)
     [exec]     at org.basex.query.func.FNUnit.test(FNUnit.java:100)
     [exec]     at org.basex.query.func.FNUnit.item(FNUnit.java:40)
     [exec]     at org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46)
     [exec]     at org.basex.query.MainModule.iter(MainModule.java:96)
     [exec]     at org.basex.query.QueryContext.iter(QueryContext.java:310)
[exec] at org.basex.query.QueryProcessor.iter(QueryProcessor.java:81)
     [exec]     at org.basex.core.cmd.AQuery.query(AQuery.java:89)
     [exec]     at org.basex.core.cmd.XQuery.run(XQuery.java:22)
     [exec]     at org.basex.core.Command.run(Command.java:329)
     [exec]     at org.basex.core.Command.execute(Command.java:94)
[exec] at org.basex.server.LocalSession.execute(LocalSession.java:121)
     [exec]     at org.basex.server.Session.execute(Session.java:37)
     [exec]     at org.basex.core.Main.execute(Main.java:146)
     [exec]     at org.basex.BaseX.<init>(BaseX.java:119)
     [exec]     at org.basex.BaseX.main(BaseX.java:38)
     [exec]

updating to basex 7.8.1 didnt make any difference.
Is this a bug?

Best regards.
Jan

_______________________________________________
BaseX-Talk mailing list
BaseX-Talk@mailman.uni-konstanz.de
https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk

Reply via email to