PHP7: 标量 return 类型声明不应该接受整数吗?

PHP7: shouldn't a scalar return type declaration accept integer?

我正在实现一个 Iterator 接口,如果我实现它返回标量(遵循参考 http://php.net/manual/en/class.iterator.php),我得到这个错误:

TypeError: Return value of Collection::key() must be an instance of scalar, integer returned

class 实现:

class Collection implements \Iterator
{
    public function key(): \scalar
    {
        return key($this->colecao);
    }
    // other methods implementations...
}

根据 PHP 参考,整数应被视为标量值 (http://php.net/manual/en/migration70.new-features.php):

Scalar type declarations come in two flavours: coercive (default) and strict. The following types for parameters can now be enforced (either coercively or strictly): strings (string), integers (int), floating-point numbers (float), and booleans (bool).

我的代码中有什么错误吗?你会认为这是一个错误吗?

感谢您的解释!

PHP 没有称为 \scalar 的类型。 PHP 仅支持 those 类型。你的 \scalar 类型看起来像是另一个 class。