It seems like array_shift($this->waiting) can be null. However, the property $queuing is declared as array. Maybe change the type of the property to array|null or add a type check?
Our type inference engine has found an assignment of a scalar value (like a
string, an integer or null) to a property which is an array.
Either this assignment is in error or the assigned type should be added
to the documentation/type hint for that property.
To type hint that a parameter can be either an array or null, you can set
a type hint of array and a default value of null. The PHP interpreter will
then accept both an array or null for that parameter.
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: