src/core/array.rs:392-404:
match (err_val, ret_val) {
(0, 1) => Backend::CPU,
(0, 2) => Backend::CUDA,
(0, 3) => Backend::OPENCL,
_ => Backend::DEFAULT,
}
af_backend is a bit-flag enum, not sequential (include/af/defines.h:414-417, v3.8.0):
AF_BACKEND_DEFAULT = 0,
AF_BACKEND_CPU = 1,
AF_BACKEND_CUDA = 2,
AF_BACKEND_OPENCL = 4
There is no backend with value 3. An OpenCL-created array returns 4, falls through to the wildcard, and is reported as Backend::DEFAULT.
Fix: (0, 4) => Backend::OPENCL.
Found by Claude Opus 5
src/core/array.rs:392-404:af_backendis a bit-flag enum, not sequential (include/af/defines.h:414-417, v3.8.0):There is no backend with value 3. An OpenCL-created array returns 4, falls through to the wildcard, and is reported as
Backend::DEFAULT.Fix:
(0, 4) => Backend::OPENCL.Found by Claude Opus 5