Hello,
this is a bug report for cython 0.12.1. The bug occurs when a function
argument with default value is named differently in the .pyx and the .pxd
file.
A minimal example is:
foo.pyx contains:
===========================
cpdef test(test=5):
pass
===========================
foo.pxd contains:
===========================
cpdef test(FJKHFKLJDHF=*)
===========================
the traceback is:
/tmp/Cython-0.12.1$ python2.5 cython.py foo.pyx
Traceback (most recent call last):
File "cython.py", line 8, in <module>
main(command_line = 1)
File "/tmp/Cython-0.12.1/Cython/
Compiler/Main.py", line 743, in main
result = compile(sources, options)
File "/tmp/Cython-0.12.1/Cython/Compiler/Main.py", line 718, in compile
return compile_multiple(source, options)
File "/tmp/Cython-0.12.1/Cython/Compiler/Main.py", line 690, in
compile_multiple
result = run_pipeline(source, options)
File "/tmp/Cython-0.12.1/Cython/Compiler/Main.py", line 561, in
run_pipeline
err, enddata = context.run_pipeline(pipeline, source)
File "/tmp/Cython-0.12.1/Cython/Compiler/Main.py", line 221, in
run_pipeline
data = phase(data)
File "/tmp/Cython-0.12.1/Cython/Compiler/Main.py", line 154, in
generate_pyx_code
module_node.process_implementation(options, result)
File "/tmp/Cython-0.12.1/Cython/Compiler/ModuleNode.py", line 72, in
process_implementation
self.generate_c_code(env, options, result)
File "/tmp/Cython-0.12.1/Cython/Compiler/ModuleNode.py", line 274, in
generate_c_code
self.body.generate_function_definitions(env, code)
File "/tmp/Cython-0.12.1/Cython/Compiler/Nodes.py", line 341, in
generate_function_definitions
stat.generate_function_definitions(env, code)
File "/tmp/Cython-0.12.1/Cython/Compiler/Nodes.py", line 1106, in
generate_function_definitions
self.generate_argument_parsing_code(env, code)
File "/tmp/Cython-0.12.1/Cython/Compiler/Nodes.py", line 1493, in
generate_argument_parsing_code
code.putln('%s = %s->%s;' % (arg.cname, Naming.optional_args_cname,
self.type.opt_arg_cname(declarator.name)))
File "/tmp/Cython-0.12.1/Cython/Compiler/PyrexTypes.py", line 1571, in
opt_arg_cname
return self.op_arg_struct.base_type.scope.lookup(arg_name).cname
AttributeError: 'NoneType' object has no attribute 'cname'
best regards and thanks a lot for cython, I like it a lot!
Toni
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev