| 445 | |
| 446 | template <class T> |
| 447 | auto has_finalize_op(const T&) -> decltype(has_finalize_op(rank<1>{}, |
| 448 | std::declval<T&>(), |
| 449 | std::declval<context&>(), |
| 450 | std::declval<const shape&>(), |
| 451 | std::declval<std::vector<shape>>())) |
| 452 | { |
| 453 | return {}; |
| 454 | } |
| 455 | |
| 456 | template <class T> |
| 457 | auto compile_op( |