The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
def backtrace(trace: np.ndarray)
This is a warning message from the Numba library, indicating that the 'nopython' keyword argument was not provided to the 'numba.jit' decorator. This argument controls whether Numba should try to compile the code in "nopython" mode, which generates more efficient code but can be more restrictive in terms of what Python language features are allowed.
The warning message indicates that the default value for this argument is currently False, which means that Numba will fall back to an object mode if it encounters any unsupported Python features, but this behavior will change in the upcoming release (Numba 0.59.0), where the default value will be True.
To avoid this warning and ensure compatibility with future releases of Numba, you should explicitly set the 'nopython' argument to either True or False when using the 'numba.jit' decorator. The appropriate choice depends on the specific code you are optimizing and whether it relies on any unsupported Python features.
For example, if you want to force Numba to always use nopython mode, you can use the following decorator:
@numba.jit(nopython=True)
def my_function(...):
...
Alternatively, if you want to allow Numba to fall back to object mode if necessary, you can use:
@numba.jit(nopython=False)
def my_function(...):
...
In general, it's a good idea to test your code with both nopython=True and nopython=False and compare the performance and correctness.