diff --git a/src/cffi.h b/src/cffi.h index e70ddd71..5dfb5616 100644 --- a/src/cffi.h +++ b/src/cffi.h @@ -443,7 +443,7 @@ T py_pointer_cast(VM* vm, const PyVar& var){ } template -std::enable_if_t, PyVar> +std::enable_if_t>, PyVar> py_var(VM* vm, T p){ const TypeInfo* type = _type_db.get::baseT>(); return VAR_T(Pointer, type, pointer::level, (char*)p); diff --git a/src/obj.h b/src/obj.h index e37dc1c0..7cc5d4c4 100644 --- a/src/obj.h +++ b/src/obj.h @@ -186,8 +186,8 @@ struct Discarded {}; template __T py_cast(VM* vm, const PyVar& obj) { using T = std::decay_t<__T>; - if constexpr(std::is_pointer_v<__T>){ - return py_pointer_cast<__T>(vm, obj); + if constexpr(std::is_pointer_v){ + return py_pointer_cast(vm, obj); }else if constexpr(is_py_class::value){ _check_py_class(vm, obj); return OBJ_GET(T, obj);