Update Python subset for kernels authored by Leon Riesebos's avatar Leon Riesebos
......@@ -26,6 +26,7 @@ The kernel code supports a subset of the *Python 3.5* language. This section hig
### Known bugs
1. Unary minus on a kernel invariant causes a cast to `TInt32`, even if the variable is of type `np.int64`. Add an explicit cast using `np.int64()` when using the variable with a unary minus.
1. Opening multiple contexts with a single `with` statement can result in incorrect behavior (see [this issue](https://github.com/m-labs/artiq/issues/1478)). As a workaround we recommend to open every context in a separate `with` statement.
1. `RuntimeError` is not bound in kernels (see [this issue](https://github.com/m-labs/artiq/issues/1477)). As a workaround we recommend to make a custom exception class that inherits from `RuntimeError` and raise that class instead.
1. `try`/`except`/`else`/`finally` clauses can cause "variable is not initialized" compile errors when a variable initialized in `try` is used later, even when the `except` clause re-raises the exception. This is due to poor liveness analysis. The problem is known and documented in [this issue](https://github.com/m-labs/artiq/issues/331), but will not be fixed. As a workaround we recommend to initialize the variable before the `try` clause.
......
......