Skip to content

Commit a039df7

Browse files
authored
PHPC-2004: Use tentative return types for BSON interface toString methods (mongodb#1283)
This should avoid the BC break introduced in 6c82ec8. PHP 8.1 will automatically add return type info for Stringable, which means the ReturnTypeWillChange attribute should not be necessary on userland classes.
1 parent da0f73a commit a039df7

9 files changed

+9
-9
lines changed

src/BSON/BinaryInterface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ zend_class_entry* php_phongo_binary_interface_ce;
2727

2828
/* {{{ MongoDB\BSON\BinaryInterface function entries */
2929
/* clang-format off */
30-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_BinaryInterface___toString, 0, 0, IS_STRING, 0)
30+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_BinaryInterface___toString, 0, 0, IS_STRING, 0)
3131
ZEND_END_ARG_INFO()
3232

3333
ZEND_BEGIN_ARG_INFO_EX(ai_BinaryInterface_void, 0, 0, 0)

src/BSON/Decimal128Interface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ zend_class_entry* php_phongo_decimal128_interface_ce;
2727

2828
/* {{{ MongoDB\BSON\Decimal128Interface function entries */
2929
/* clang-format off */
30-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_Decimal128Interface___toString, 0, 0, IS_STRING, 0)
30+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_Decimal128Interface___toString, 0, 0, IS_STRING, 0)
3131
ZEND_END_ARG_INFO()
3232

3333
static zend_function_entry php_phongo_decimal128_interface_me[] = {

src/BSON/JavascriptInterface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ zend_class_entry* php_phongo_javascript_interface_ce;
2727

2828
/* {{{ MongoDB\BSON\JavascriptInterface function entries */
2929
/* clang-format off */
30-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_JavascriptInterface___toString, 0, 0, IS_STRING, 0)
30+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_JavascriptInterface___toString, 0, 0, IS_STRING, 0)
3131
ZEND_END_ARG_INFO()
3232

3333
ZEND_BEGIN_ARG_INFO_EX(ai_JavascriptInterface_void, 0, 0, 0)

src/BSON/ObjectIdInterface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ zend_class_entry* php_phongo_objectid_interface_ce;
2727

2828
/* {{{ MongoDB\BSON\ObjectIdInterface function entries */
2929
/* clang-format off */
30-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_ObjectIdInterface___toString, 0, 0, IS_STRING, 0)
30+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_ObjectIdInterface___toString, 0, 0, IS_STRING, 0)
3131
ZEND_END_ARG_INFO()
3232

3333
ZEND_BEGIN_ARG_INFO_EX(ai_ObjectIdInterface_void, 0, 0, 0)

src/BSON/RegexInterface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ zend_class_entry* php_phongo_regex_interface_ce;
2727

2828
/* {{{ MongoDB\BSON\RegexInterface function entries */
2929
/* clang-format off */
30-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_RegexInterface___toString, 0, 0, IS_STRING, 0)
30+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_RegexInterface___toString, 0, 0, IS_STRING, 0)
3131
ZEND_END_ARG_INFO()
3232

3333
ZEND_BEGIN_ARG_INFO_EX(ai_RegexInterface_void, 0, 0, 0)

src/BSON/TimestampInterface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ zend_class_entry* php_phongo_timestamp_interface_ce;
2727

2828
/* {{{ MongoDB\BSON\TimestampInterface function entries */
2929
/* clang-format off */
30-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_TimestampInterface___toString, 0, 0, IS_STRING, 0)
30+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_TimestampInterface___toString, 0, 0, IS_STRING, 0)
3131
ZEND_END_ARG_INFO()
3232

3333
ZEND_BEGIN_ARG_INFO_EX(ai_TimestampInterface_void, 0, 0, 0)

src/BSON/UTCDateTimeInterface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ zend_class_entry* php_phongo_utcdatetime_interface_ce;
2727

2828
/* {{{ MongoDB\BSON\UTCDateTimeInterface function entries */
2929
/* clang-format off */
30-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(ai_UTCDateTimeInterface___toString, 0, 0, IS_STRING, 0)
30+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_UTCDateTimeInterface___toString, 0, 0, IS_STRING, 0)
3131
ZEND_END_ARG_INFO()
3232

3333
ZEND_BEGIN_ARG_INFO_EX(ai_UTCDateTimeInterface_void, 0, 0, 0)

tests/session/session-advanceOperationTime-003.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class MyTimestamp implements MongoDB\BSON\TimestampInterface
2121
return 1234;
2222
}
2323

24-
public function __toString(): string
24+
public function __toString()
2525
{
2626
return sprintf('[%d:%d]', $this->getIncrement(), $this->getTimestamp());
2727
}

tests/session/session-advanceOperationTime_error-001.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class MyTimestamp implements MongoDB\BSON\TimestampInterface
3838
return 1234;
3939
}
4040

41-
public function __toString(): string
41+
public function __toString()
4242
{
4343
return sprintf('[%d:%d]', $this->getIncrement(), $this->getTimestamp());
4444
}

0 commit comments

Comments
 (0)