summaryrefslogtreecommitdiffstats
path: root/29.patch
diff options
context:
space:
mode:
Diffstat (limited to '29.patch')
-rw-r--r--29.patch369
1 files changed, 369 insertions, 0 deletions
diff --git a/29.patch b/29.patch
new file mode 100644
index 0000000..cfe30e7
--- /dev/null
+++ b/29.patch
@@ -0,0 +1,369 @@
+From 10cdaa8be93a1170c2d8ee4f902d14c1ae2ce163 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Wed, 15 Jun 2022 11:27:17 +0200
+Subject: [PATCH] fix proto for PHP 8.1
+
+---
+ ext/php_driver.h | 5 ++++
+ ext/src/Collection.c | 30 +++++++++++++++++-----
+ ext/src/Map.c | 55 +++++++++++++++++++++++++++++++++--------
+ ext/src/Rows.c | 55 +++++++++++++++++++++++++++++++++--------
+ ext/src/Set.c | 30 +++++++++++++++++-----
+ ext/src/Tuple.c | 29 +++++++++++++++++-----
+ ext/src/UserTypeValue.c | 30 +++++++++++++++++-----
+ 7 files changed, 190 insertions(+), 44 deletions(-)
+
+diff --git a/ext/php_driver.h b/ext/php_driver.h
+index f9821525..de0b8355 100644
+--- a/ext/php_driver.h
++++ b/ext/php_driver.h
+@@ -56,6 +56,11 @@ typedef int pid_t;
+ #endif
+ #endif
+
++#ifndef ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX
++#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
++ ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
++#endif
++
+ #include <ext/spl/spl_iterators.h>
+ #include <ext/spl/spl_exceptions.h>
+
+diff --git a/ext/src/Collection.c b/ext/src/Collection.c
+index 54c25b4a..78d8334b 100644
+--- a/ext/src/Collection.c
++++ b/ext/src/Collection.c
+@@ -296,6 +296,24 @@ ZEND_END_ARG_INFO()
+ ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
+ ZEND_END_ARG_INFO()
+
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_current, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_key, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_next, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_rewind, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_valid, 0, 0, _IS_BOOL, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_count, 0, 0, IS_LONG, 0)
++ZEND_END_ARG_INFO()
++
+ static zend_function_entry php_driver_collection_methods[] = {
+ PHP_ME(Collection, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
+ PHP_ME(Collection, type, arginfo_none, ZEND_ACC_PUBLIC)
+@@ -308,13 +326,13 @@ static zend_function_entry php_driver_collection_methods[] = {
+ PHP_ME(Collection, get, arginfo_index, ZEND_ACC_PUBLIC)
+ PHP_ME(Collection, find, arginfo_value, ZEND_ACC_PUBLIC)
+ /* Countable */
+- PHP_ME(Collection, count, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(Collection, count, arginfo_count, ZEND_ACC_PUBLIC)
+ /* Iterator */
+- PHP_ME(Collection, current, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Collection, key, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Collection, next, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Collection, valid, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Collection, rewind, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(Collection, current, arginfo_current, ZEND_ACC_PUBLIC)
++ PHP_ME(Collection, key, arginfo_key, ZEND_ACC_PUBLIC)
++ PHP_ME(Collection, next, arginfo_next, ZEND_ACC_PUBLIC)
++ PHP_ME(Collection, valid, arginfo_valid, ZEND_ACC_PUBLIC)
++ PHP_ME(Collection, rewind, arginfo_rewind, ZEND_ACC_PUBLIC)
+ PHP_ME(Collection, remove, arginfo_index, ZEND_ACC_PUBLIC)
+ PHP_FE_END
+ };
+diff --git a/ext/src/Map.c b/ext/src/Map.c
+index dd553713..ff05e97d 100644
+--- a/ext/src/Map.c
++++ b/ext/src/Map.c
+@@ -426,6 +426,41 @@ ZEND_END_ARG_INFO()
+ ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
+ ZEND_END_ARG_INFO()
+
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_current, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_key, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_next, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_rewind, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_valid, 0, 0, _IS_BOOL, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_count, 0, 0, IS_LONG, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_offsetExists, 0, 1, _IS_BOOL, 0)
++ ZEND_ARG_INFO(0, offset)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_offsetGet, 0, 1, IS_MIXED, 0)
++ ZEND_ARG_INFO(0, offset)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_offsetSet, 0, 2, IS_VOID, 0)
++ ZEND_ARG_INFO(0, offset)
++ ZEND_ARG_INFO(0, value)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_offsetUnset, 0, 1, IS_VOID, 0)
++ ZEND_ARG_INFO(0, offset)
++ZEND_END_ARG_INFO()
++
+ static zend_function_entry php_driver_map_methods[] = {
+ PHP_ME(Map, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
+ PHP_ME(Map, type, arginfo_none, ZEND_ACC_PUBLIC)
+@@ -436,18 +471,18 @@ static zend_function_entry php_driver_map_methods[] = {
+ PHP_ME(Map, remove, arginfo_one, ZEND_ACC_PUBLIC)
+ PHP_ME(Map, has, arginfo_one, ZEND_ACC_PUBLIC)
+ /* Countable */
+- PHP_ME(Map, count, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, count, arginfo_count, ZEND_ACC_PUBLIC)
+ /* Iterator */
+- PHP_ME(Map, current, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Map, key, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Map, next, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Map, valid, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Map, rewind, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, current, arginfo_current, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, key, arginfo_key, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, next, arginfo_next, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, valid, arginfo_valid, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, rewind, arginfo_rewind, ZEND_ACC_PUBLIC)
+ /* ArrayAccess */
+- PHP_ME(Map, offsetSet, arginfo_two, ZEND_ACC_PUBLIC)
+- PHP_ME(Map, offsetGet, arginfo_one, ZEND_ACC_PUBLIC)
+- PHP_ME(Map, offsetUnset, arginfo_one, ZEND_ACC_PUBLIC)
+- PHP_ME(Map, offsetExists, arginfo_one, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, offsetSet, arginfo_offsetSet, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, offsetGet, arginfo_offsetGet, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, offsetUnset, arginfo_offsetUnset, ZEND_ACC_PUBLIC)
++ PHP_ME(Map, offsetExists, arginfo_offsetExists, ZEND_ACC_PUBLIC)
+ PHP_FE_END
+ };
+
+diff --git a/ext/src/Rows.c b/ext/src/Rows.c
+index 234af827..ffdb10df 100644
+--- a/ext/src/Rows.c
++++ b/ext/src/Rows.c
+@@ -395,18 +395,53 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_timeout, 0, ZEND_RETURN_VALUE, 1)
+ ZEND_END_ARG_INFO()
+ #endif
+
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_current, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_key, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_next, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_rewind, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_valid, 0, 0, _IS_BOOL, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_count, 0, 0, IS_LONG, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_offsetExists, 0, 1, _IS_BOOL, 0)
++ ZEND_ARG_INFO(0, offset)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_offsetGet, 0, 1, IS_MIXED, 0)
++ ZEND_ARG_INFO(0, offset)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_offsetSet, 0, 2, IS_VOID, 0)
++ ZEND_ARG_INFO(0, offset)
++ ZEND_ARG_INFO(0, value)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_offsetUnset, 0, 1, IS_VOID, 0)
++ ZEND_ARG_INFO(0, offset)
++ZEND_END_ARG_INFO()
++
+ static zend_function_entry php_driver_rows_methods[] = {
+ PHP_ME(Rows, __construct, arginfo_none, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
+- PHP_ME(Rows, count, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Rows, rewind, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Rows, current, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Rows, key, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Rows, next, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Rows, valid, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Rows, offsetExists, arginfo_offset, ZEND_ACC_PUBLIC)
+- PHP_ME(Rows, offsetGet, arginfo_offset, ZEND_ACC_PUBLIC)
+- PHP_ME(Rows, offsetSet, arginfo_set, ZEND_ACC_PUBLIC)
+- PHP_ME(Rows, offsetUnset, arginfo_offset, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, count, arginfo_count, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, rewind, arginfo_rewind, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, current, arginfo_current, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, key, arginfo_key, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, next, arginfo_next, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, valid, arginfo_valid, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, offsetExists, arginfo_offsetExists, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, offsetGet, arginfo_offsetGet, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, offsetSet, arginfo_offsetSet, ZEND_ACC_PUBLIC)
++ PHP_ME(Rows, offsetUnset, arginfo_offsetUnset, ZEND_ACC_PUBLIC)
+ PHP_ME(Rows, isLastPage, arginfo_none, ZEND_ACC_PUBLIC)
+ PHP_ME(Rows, nextPage, arginfo_timeout, ZEND_ACC_PUBLIC)
+ PHP_ME(Rows, nextPageAsync, arginfo_none, ZEND_ACC_PUBLIC)
+diff --git a/ext/src/Set.c b/ext/src/Set.c
+index 7757b9f8..df8f70ae 100644
+--- a/ext/src/Set.c
++++ b/ext/src/Set.c
+@@ -278,6 +278,24 @@ ZEND_END_ARG_INFO()
+ ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
+ ZEND_END_ARG_INFO()
+
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_current, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_key, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_next, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_rewind, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_valid, 0, 0, _IS_BOOL, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_count, 0, 0, IS_LONG, 0)
++ZEND_END_ARG_INFO()
++
+ static zend_function_entry php_driver_set_methods[] = {
+ PHP_ME(Set, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
+ PHP_ME(Set, type, arginfo_none, ZEND_ACC_PUBLIC)
+@@ -286,13 +304,13 @@ static zend_function_entry php_driver_set_methods[] = {
+ PHP_ME(Set, has, arginfo_one, ZEND_ACC_PUBLIC)
+ PHP_ME(Set, remove, arginfo_one, ZEND_ACC_PUBLIC)
+ /* Countable */
+- PHP_ME(Set, count, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(Set, count, arginfo_count, ZEND_ACC_PUBLIC)
+ /* Iterator */
+- PHP_ME(Set, current, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Set, key, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Set, next, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Set, valid, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Set, rewind, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(Set, current, arginfo_current, ZEND_ACC_PUBLIC)
++ PHP_ME(Set, key, arginfo_key, ZEND_ACC_PUBLIC)
++ PHP_ME(Set, next, arginfo_next, ZEND_ACC_PUBLIC)
++ PHP_ME(Set, valid, arginfo_valid, ZEND_ACC_PUBLIC)
++ PHP_ME(Set, rewind, arginfo_rewind, ZEND_ACC_PUBLIC)
+ PHP_FE_END
+ };
+
+diff --git a/ext/src/Tuple.c b/ext/src/Tuple.c
+index 5844baf4..ac2f29a9 100644
+--- a/ext/src/Tuple.c
++++ b/ext/src/Tuple.c
+@@ -278,6 +278,23 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_index_value, 0, ZEND_RETURN_VALUE, 1)
+ ZEND_END_ARG_INFO()
+ #endif
+
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_current, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_key, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_next, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_rewind, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_valid, 0, 0, _IS_BOOL, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_count, 0, 0, IS_LONG, 0)
++ZEND_END_ARG_INFO()
+
+ static zend_function_entry php_driver_tuple_methods[] = {
+ PHP_ME(Tuple, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
+@@ -290,13 +307,13 @@ static zend_function_entry php_driver_tuple_methods[] = {
+ #endif
+ PHP_ME(Tuple, get, arginfo_index, ZEND_ACC_PUBLIC)
+ /* Countable */
+- PHP_ME(Tuple, count, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(Tuple, count, arginfo_count, ZEND_ACC_PUBLIC)
+ /* Iterator */
+- PHP_ME(Tuple, current, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Tuple, key, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Tuple, next, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Tuple, valid, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(Tuple, rewind, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(Tuple, current, arginfo_current, ZEND_ACC_PUBLIC)
++ PHP_ME(Tuple, key, arginfo_key, ZEND_ACC_PUBLIC)
++ PHP_ME(Tuple, next, arginfo_next, ZEND_ACC_PUBLIC)
++ PHP_ME(Tuple, valid, arginfo_valid, ZEND_ACC_PUBLIC)
++ PHP_ME(Tuple, rewind, arginfo_rewind, ZEND_ACC_PUBLIC)
+ PHP_FE_END
+ };
+
+diff --git a/ext/src/UserTypeValue.c b/ext/src/UserTypeValue.c
+index 8ba14bf0..f9765bab 100644
+--- a/ext/src/UserTypeValue.c
++++ b/ext/src/UserTypeValue.c
+@@ -318,6 +318,24 @@ ZEND_END_ARG_INFO()
+ ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
+ ZEND_END_ARG_INFO()
+
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_current, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_key, 0, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_next, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_rewind, 0, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_valid, 0, 0, _IS_BOOL, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_count, 0, 0, IS_LONG, 0)
++ZEND_END_ARG_INFO()
++
+ static zend_function_entry php_driver_user_type_value_methods[] = {
+ PHP_ME(UserTypeValue, __construct, arginfo__construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
+ PHP_ME(UserTypeValue, type, arginfo_none, ZEND_ACC_PUBLIC)
+@@ -329,13 +347,13 @@ static zend_function_entry php_driver_user_type_value_methods[] = {
+ #endif
+ PHP_ME(UserTypeValue, get, arginfo_name, ZEND_ACC_PUBLIC)
+ /* Countable */
+- PHP_ME(UserTypeValue, count, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(UserTypeValue, count, arginfo_count, ZEND_ACC_PUBLIC)
+ /* Iterator */
+- PHP_ME(UserTypeValue, current, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(UserTypeValue, key, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(UserTypeValue, next, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(UserTypeValue, valid, arginfo_none, ZEND_ACC_PUBLIC)
+- PHP_ME(UserTypeValue, rewind, arginfo_none, ZEND_ACC_PUBLIC)
++ PHP_ME(UserTypeValue, current, arginfo_current, ZEND_ACC_PUBLIC)
++ PHP_ME(UserTypeValue, key, arginfo_key, ZEND_ACC_PUBLIC)
++ PHP_ME(UserTypeValue, next, arginfo_next, ZEND_ACC_PUBLIC)
++ PHP_ME(UserTypeValue, valid, arginfo_valid, ZEND_ACC_PUBLIC)
++ PHP_ME(UserTypeValue, rewind, arginfo_rewind, ZEND_ACC_PUBLIC)
+ PHP_FE_END
+ };
+