“Wrong” “not in abstract” warnings.
WolframKahl opened this issue · 0 comments
WolframKahl commented
With the six source files appended below, with concrete C_T of C
, with both 3.10 and 3.10.4 I get, rather unexpectedly:
> i --retain C_T.gf
- compiling A.gf... write file A.gfo
- compiling C.gf... write file C.gfo
- compiling Iface.gf... write file Iface.gfo
- compiling A_I.gf... write file A_I.gfo
- compiling Instance.gf... write file Instance.gfo
- compiling C_T.gf...
C_T.gf:
Warning: category CC is not in abstract
Warning: function XX is not in abstract
Warning: function ZZ is not in abstract
write file C_T.gfo
The categories and functions that these warning messages complain about are the categories and functions of C
.
The resulting dependency graph is:
It seems that the arrow from C_T
to C
is of the wrong kind --- is that an explanation for these warnings?
And I get:
> gr
linking ... OK
Languages: C_T
Category S is not in scope
CallStack (from HasCallStack):
error, called at src/compiler/GF/Command/Commands.hs:881:38 in gf-3.10.4-CzxgA2HFjlY9VSzSmw6B1W:GF.Command.Commands
(And the language C_T
seems to be competely unusable.)
Here are the source files: