From f1db98f9c1e0b94d5ec6685c5452d1a838835efa Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Sun, 17 Jan 2021 22:09:43 -0600
Subject: [PATCH] Invoker gen: check for _KERNEL_ARG_CLASSES before None

---
 pyopencl/invoker.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pyopencl/invoker.py b/pyopencl/invoker.py
index c996768d..f4e97615 100644
--- a/pyopencl/invoker.py
+++ b/pyopencl/invoker.py
@@ -81,10 +81,10 @@ def generate_generic_arg_handler(gen, arg_idx, arg_var):
     from pytools.py_codegen import Indentation
 
     gen("""
-        if {arg_var} is None:
-            self._set_arg_null({arg_idx})
-        elif isinstance({arg_var}, _KERNEL_ARG_CLASSES):
+        if isinstance({arg_var}, _KERNEL_ARG_CLASSES):
             self.set_arg({arg_idx}, {arg_var})
+        elif {arg_var} is None:
+            self._set_arg_null({arg_idx})
         """
         .format(arg_idx=arg_idx, arg_var=arg_var))
 
@@ -341,7 +341,7 @@ def _generate_enqueue_and_set_args_module(function_name,
 
 
 invoker_cache = WriteOncePersistentDict(
-        "pyopencl-invoker-cache-v7",
+        "pyopencl-invoker-cache-v11",
         key_builder=_NumpyTypesKeyBuilder())
 
 
-- 
GitLab