Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have found two issues with PHP protobuf's
RepeatedField
when using static analyzers:offsetSet
is aninteger
, but this value can also benull
, in the case when aRepeatedField
is being appended to (e.g.$repeatedField[] = $someRepeatedValue
). Without marking the first argument as optional, static analyzers think that instances ofRepeatedField
cannot be appended to.offsetSet
acceptsobject
andoffsetGet
returnsobject
. Butobject
excludes primitive types in PHP such asstring
int
,bool
, andarray
. I believe it should accept primitives, and as a result, in certain circumstances the static analyzers are failing. I've tested this with using the accepted PHP typemixed
, which represents anyobject
or primitive. The keyword only exists in PHP 8.0, but this is acceptable documentation for any version of PHP.