It throws the parser into an infinite recursion, and results is rather cryptic error messages. It's not high priority, but if anyone knows his way around that thing, it might be worth checking for this.
It throws the parser into an infinite recursion, and results is rather cryptic error messages. It's not high priority, but if anyone knows his way around that thing, it might be worth checking for this.
Sounds like you've triggered a bug in the polymorphic function overloader (cf Tools.Standalone.precompile):
| POLYMORPHIC FUNCTION OVERLOADING | You can define the same function several times with different | types. This program will select the proper function whenever | possible.
Do you have an example?
Henrik Grubbstr?m (Lysator) @ Pike (-) developers forum wrote:
It throws the parser into an infinite recursion, and results is rather cryptic error messages. It's not high priority, but if anyone knows his way around that thing, it might be worth checking for this.
Sounds like you've triggered a bug in the polymorphic function overloader (cf Tools.Standalone.precompile):
It's simpler than that. Try the following cmod:
#include "global.h" #include "config.h"
DECLARATIONS
PIKECLASS usb { PIKEFUN object foo() { }
PIKEFUN object foo() { } }
Do not try this on a slow connection :-).
Henrik Grubbstr?m (Lysator) @ Pike (-) developers forum wrote:
It throws the parser into an infinite recursion, and results is rather cryptic error messages. It's not high priority, but if anyone knows his way around that thing, it might be worth checking for this.
Sounds like you've triggered a bug in the polymorphic function overloader (cf Tools.Standalone.precompile):
It's simpler than that. Try the following cmod:
Thanks for the test case. I get an infinte recursion in generate_overload_func_for(), which is the polymorphic function overloader. I've now added detection of this case.
/grubba
pike-devel@lists.lysator.liu.se