Returning `None` is not supported kernel functions
annagrin opened this issue · 2 comments
annagrin commented
Required prerequisites
- Consult the security policy. If reporting a security vulnerability, do not report the bug using this form. Use the process described in the policy to report the issue.
- Make sure you've read the documentation. Your issue may be addressed there.
- Search the issue tracker to verify that this hasn't already been reported. +1 or comment there if it has.
- If possible, make a PR with a failing test to give us a starting point to work on!
Describe the bug
Does not work
import cudaq
import numpy as np
@cudaq.kernel
def test_k() -> complex:
return None
print(test_k()) # cudaq.kernel.ast_bridge.CompilerError: program.py:14: error: unhandled constant value (offending source -> None)
#Works
def test() -> complex:
return None
print(test())
Steps to reproduce the bug
import cudaq
import numpy as np
@cudaq.kernel
def test_k() -> complex:
return None
print(test_k())
Expected behavior
None
is printed
Is this a regression? If it is, put the last known working version (or commit) here.
Not a regression
Environment
- CUDA Quantum version:
- Python version:
- C++ compiler:
- Operating system:
Suggestions
No response
schweitzpgi commented
Do we expect this to generate something or should the bridge give a syntax error?
bettinaheim commented
We need a spec for what valid return values are in Python after the 0.7.0 update.