The expression return array('package_na...>buildRegex($versions)) returns the type array<string,array> which is incompatible with the return type mandated by drupol\ComposerPackages\...erface::exportToArray() of string[].
In the issue above, the returned value is violating the contract defined by the
mentioned interface.
Let's take a look at an example:
interfaceHasName{/** @return string */publicfunctiongetName();}className{public$name;}classUserimplementsHasName{/** @return string|Name */publicfunctiongetName(){returnnewName('foo');// This is a violation of the ``HasName`` interface// which only allows a string value to be returned.}}
Loading history...
39
'package_names' => $packageNames,
40
'regex' => $this->buildRegex($versions),
41
];
42
}
43
2
44
/**
45
2
* @param array<string, string> $versions
46
*
47
2
* @return array<string, array<int, string>>
48
2
*/
49
2
private function buildRegex(array $versions): array
In the issue above, the returned value is violating the contract defined by the mentioned interface.
Let's take a look at an example: