phylanx
phylanx copied to clipboard
Immediate lambda invocation fails
The following code fails to compile by throwing an exception:
@Phylanx
def foo():
return (lambda: True)()
foo()
The exception thrown is:
Traceback (most recent call last):
File "D:\Devel\phylanx\build\All.v16.vcpkg\python\build\lib.win-amd64-3.6\phylanx\ast\physl.py", line 382, in _compile_or_load
self.ir = self._apply_rule(self.python_tree.body[0])
File "D:\Devel\phylanx\build\All.v16.vcpkg\python\build\lib.win-amd64-3.6\phylanx\ast\physl.py", line 510, in _apply_rule
return eval('self._%s' % node_name)(node)
File "D:\Devel\phylanx\build\All.v16.vcpkg\python\build\lib.win-amd64-3.6\phylanx\ast\physl.py", line 1008, in _FunctionDef
body = self._block(node.body)
File "D:\Devel\phylanx\build\All.v16.vcpkg\python\build\lib.win-amd64-3.6\phylanx\ast\physl.py", line 932, in _block
block = tuple(map(self._apply_rule, node))
File "D:\Devel\phylanx\build\All.v16.vcpkg\python\build\lib.win-amd64-3.6\phylanx\ast\physl.py", line 510, in _apply_rule
return eval('self._%s' % node_name)(node)
File "D:\Devel\phylanx\build\All.v16.vcpkg\python\build\lib.win-amd64-3.6\phylanx\ast\physl.py", line 1209, in _Return
value = self._apply_rule(node.value)
File "D:\Devel\phylanx\build\All.v16.vcpkg\python\build\lib.win-amd64-3.6\phylanx\ast\physl.py", line 510, in _apply_rule
return eval('self._%s' % node_name)(node)
File "D:\Devel\phylanx\build\All.v16.vcpkg\python\build\lib.win-amd64-3.6\phylanx\ast\physl.py", line 812, in _Call
method = [m for m in methods_supporting_dtype if symbol.find(m, 0) == 0]
File "D:\Devel\phylanx\build\All.v16.vcpkg\python\build\lib.win-amd64-3.6\phylanx\ast\physl.py", line 812, in <listcomp>
method = [m for m in methods_supporting_dtype if symbol.find(m, 0) == 0]
AttributeError: 'list' object has no attribute 'find'
@rtohid Would you be able to have a look?
To reproduce the issue #1105 must have been merged.