how to add annotations to a C extension function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a php-internals question.

I'm trying to fix some php8.1 deprecation notices in a C extension (google/protobuf). They mostly relate to ArrayAccess and Iterator now requiring return types:

Deprecated: Return type of Google\Protobuf\Internal\RepeatedField::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in Unknown on line 0

I've been able to fix the methods that require standard return types (int, void, etc), via ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX macro.
The ones I can't fix (due to needing to maintain BC to php7.0) involve the "mixed" type, so as an interim solution I want to add the #[\ReturnTypeWillChange] annotation to some methods, but I can't find a way to do that.

This is cross-posted on stack overflow, if anybody is after points: https://stackoverflow.com/questions/70620027/how-to-create-a-php-extension-function-with-a-return-type-hint-plus-annotation

Thanks,
Brett

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux