includes/Actions/DeleteAction.php:82 PhanTypeMismatchPropertyReal Assigning $services->getWatchedItemStore() of type \MediaWiki\Watchlist\WatchedItemStoreInterface to property but \MediaWiki\Actions\DeleteAction->watchedItemStore is \MediaWiki\Watchlist\WatchedItemStore includes/Actions/HistoryAction.php:446 PhanTypeMismatchArgument Argument 2 ($oldid) is false of type false but \MediaWiki\Feed\FeedUtils::formatDiffRow2() takes int defined at includes/Feed/FeedUtils.php:128 includes/Api/ApiComparePages.php:540 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared includes/Api/ApiComparePages.php:540 PhanTypeMismatchArgumentNullable Argument 1 ($content) is $content of type ?\Content|?\MediaWiki\Content\Content but \MediaWiki\Content\Transform\ContentTransformer::preSaveTransform() takes \MediaWiki\Content\Content defined at includes/Content/Transform/ContentTransformer.php:26 (expected type to be non-nullable) includes/Api/ApiComparePages.php:561 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared includes/Api/ApiComparePages.php:565 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared includes/Api/ApiComparePages.php:580 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared includes/Api/ApiComparePages.php:590 PhanPossiblyUndeclaredVariable Variable $content is possibly undeclared includes/Api/ApiMain.php:1764 PhanPossiblyUndeclaredVariable Variable $match is possibly undeclared includes/Api/ApiMain.php:1764 PhanPossiblyUndeclaredVariable Variable $test is possibly undeclared includes/Api/ApiQueryBacklinks.php:495 PhanRedundantValueComparison Redundant comparison of count($this->cont) of type int (value: 8) to 7 of type int (value: 7) with operator '>=' (the comparison is always true) includes/Api/ApiQueryBacklinks.php:520 PhanRedundantValueComparisonInLoop Redundant comparison of count($this->cont) of type int (value: 8) to 8 of type int (value: 8) with operator '>=' in a loop (the comparison is always true, likely a false positive) includes/Api/ApiQueryBacklinksprop.php:317 PhanPossiblyUndeclaredVariable Variable $fld_title is possibly undeclared includes/Api/ApiTag.php:40 PhanTypeMismatchPropertyReal Assigning $dbProvider->getReplicaDatabase() of type \Wikimedia\Rdbms\IReadableDatabase to property but \MediaWiki\Api\ApiTag->dbr is \Wikimedia\Rdbms\IDatabase includes/Auth/AuthManager.php:2889 PhanTypeMismatchProperty Assigning $this->providerArrayFromSpecs(PreAuthenticationProvider::class, $conf['preauth']) of type \MediaWiki\Auth\AuthenticationProvider[] to property but \MediaWiki\Auth\AuthManager->preAuthenticationProviders is \MediaWiki\Auth\PreAuthenticationProvider[] includes/Auth/AuthManager.php:2892 PhanTypeMismatchProperty Assigning $this->providerArrayFromSpecs(PrimaryAuthenticationProvider::class, $conf['primaryauth']) of type \MediaWiki\Auth\AuthenticationProvider[] to property but \MediaWiki\Auth\AuthManager->primaryAuthenticationProviders is \MediaWiki\Auth\PrimaryAuthenticationProvider[] includes/Auth/AuthManager.php:2895 PhanTypeMismatchProperty Assigning $this->providerArrayFromSpecs(SecondaryAuthenticationProvider::class, $conf['secondaryauth']) of type \MediaWiki\Auth\AuthenticationProvider[] to property but \MediaWiki\Auth\AuthManager->secondaryAuthenticationProviders is \MediaWiki\Auth\SecondaryAuthenticationProvider[] includes/ChangeTags/ChangeTagsList.php:22 PhanParamSignatureMismatchInternal Declaration of function next() : \MediaWiki\ChangeTags\ChangeTagsLogItem should be compatible with internal function next() : void includes/ChangeTags/ChangeTagsList.php:22 PhanParamSignaturePHPDocMismatchReturnType Declaration of real/@method function next() should be compatible with real/@method function next() : void (method returning '\MediaWiki\ChangeTags\ChangeTagsLogItem' cannot override method returning 'void') defined in internal:0 includes/DB/MWLBFactory.php:216 PhanTypeArraySuspiciousNullable Suspicious array access to $lbConf['serverTemplate'] of nullable type ?\Closure|?\Psr\Log\LoggerInterface|?\Wikimedia\Rdbms\DatabaseDomain|?\Wikimedia\Rdbms\TransactionProfiler|?\Wikimedia\RequestTimeout\CriticalSectionProvider|?\Wikimedia\Stats\StatsFactory|?array|?bool|?string|mixed includes/Debug/Logger/LoggerFactory.php:72 PhanTypeMismatchReturnProbablyReal Returning self::$spi of type null but getProvider() is declared to return \MediaWiki\Logger\Spi (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type) includes/Debug/Logger/Monolog/LineFormatter.php:90 PhanParamSignatureMismatch Declaration of function normalizeException(\Throwable $e, int $depth = 0) : string should be compatible with function normalizeException(\Throwable $e, int $depth = 0) : mixed[] defined in vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php:202 includes/Debug/Logger/Monolog/LineFormatter.php:138 PhanTypeSuspiciousStringExpression Suspicious type null of a variable or expression $e['line'] used to build a string. (Expected type to be able to cast to a string) includes/Debug/Logger/Monolog/LineFormatter.php:152 PhanTypeSuspiciousStringExpression Suspicious type null of a variable or expression $prev['line'] used to build a string. (Expected type to be able to cast to a string) includes/Diff/DifferenceEngine.php:1082 PhanTypeMismatchArgumentInternal Argument 2 ($pieces) is $parts of type associative-array but \implode() takes string[] includes/EditPage/EditPage.php:1239 PhanRedundantValueComparison Redundant comparison of $this->section of type string to 'new' of type string with operator '===' (the comparison is always true) includes/EditPage/EditPage.php:2470 PhanImpossibleValueComparison Impossible comparison of $this->section of type string to '' of type string with operator '!==' (the comparison is always false) includes/EditPage/EditPage.php:2588 PhanTypeMismatchArgumentNullable Argument 2 ($oldModel) is $oldContentModel of type ?string but \MediaWiki\EditPage\EditPage::addContentModelChangeLogEntry() takes false|string defined at includes/EditPage/EditPage.php:2691 (expected type to be non-nullable) includes/EditPage/EditPage.php:3146 PhanImpossibleValueComparison Impossible comparison of $this->section of type string to 'new' of type string with operator '===' (the comparison is always false) includes/FileRepo/File/LocalFileDeleteBatch.php:57 PhanTypeMismatchProperty Assigning $file of type \MediaWiki\FileRepo\File\File to property but \MediaWiki\FileRepo\File\LocalFileDeleteBatch->file is \MediaWiki\FileRepo\File\LocalFile includes/FileRepo/RepoGroup.php:380 PhanTypeMismatchProperty Assigning $this->newRepo($this->localInfo) of type \MediaWiki\FileRepo\FileRepo to property but \MediaWiki\FileRepo\RepoGroup->localRepo is \MediaWiki\FileRepo\LocalRepo includes/HTMLForm/OOUIHTMLForm.php:139 PhanParamSignatureMismatch Declaration of function wrapFieldSetSection(string $legend, string $section, array $attributes, bool $isRoot) : \OOUI\PanelLayout should be compatible with function wrapFieldSetSection(string $legend, string $section, array $attributes, bool $isRoot) : string defined in includes/HTMLForm/HTMLForm.php:1824 includes/Installer/MysqlUpdater.php:214 PhanParamTooFewInPHPDoc Call with 2 arg(s) to \Wikimedia\Rdbms\DatabaseMySQL::indexExists($table, $index, mixed|string $fname = __METHOD__) which has phpdoc indicating it requires 3 arg(s) ($fname is mandatory) defined at includes/libs/Rdbms/Database/Database.php:1472 includes/Installer/PostgresUpdater.php:785 PhanParamTooFewInPHPDoc Call with 2 arg(s) to \Wikimedia\Rdbms\DatabasePostgres::indexExists($table, $index, mixed|string $fname = __METHOD__) which has phpdoc indicating it requires 3 arg(s) ($fname is mandatory) defined at includes/libs/Rdbms/Database/Database.php:1472 includes/JobQueue/Jobs/RefreshLinksJob.php:603 PhanTypeArraySuspiciousNullable Suspicious array access to $userInfo of nullable type ?int|?mixed|?string|mixed includes/JobQueue/Jobs/RefreshLinksJob.php:607 PhanTypeArraySuspiciousNullable Suspicious array access to $userInfo of nullable type ?int|?mixed|?string|mixed includes/Json/JsonDeserializableCodec.php:21 PhanGenericMissingParameters Class \MediaWiki\Json\JsonDeserializableCodec must substitute all 1 template parameters when inheriting \Wikimedia\JsonCodec\JsonClassCodec (found 0) defined at vendor/wikimedia/json-codec/src/JsonClassCodec.php:34 (use @extends or @inherit) includes/Json/JsonSerializableCodec.php:24 PhanGenericMissingParameters Class \MediaWiki\Json\JsonSerializableCodec must substitute all 1 template parameters when inheriting \Wikimedia\JsonCodec\JsonClassCodec (found 0) defined at vendor/wikimedia/json-codec/src/JsonClassCodec.php:34 (use @extends or @inherit) includes/Language/Language.php:1515 PhanTypeInvalidModuloOperand Operand ($jDayNo - 1) of type float to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1) includes/Language/LocalisationCache.php:1003 PhanRedundantValueComparison Redundant comparison of $coreData['fallback'] of type null to null of type null with operator '===' (the comparison is always true) includes/LinkedData/PageDataRequestHandler.php:93 PhanTypeMismatchArgument Argument 2 ($params) is $title of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\DAO\WikiAwareEntityTrait|\MediaWiki\Linker\LinkTarget|\MediaWiki\Page\PageIdentity|\MediaWiki\Page\PageReference|\MediaWiki\Title\Title|\Stringable|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait but \wfMessage() takes \Wikimedia\Message\MessageParam|\Wikimedia\Message\MessageSpecifier|float|int|list<\Wikimedia\Message\MessageParam>|list<\Wikimedia\Message\MessageSpecifier>|list|list|list|string defined at includes/GlobalFunctions.php:850 includes/Logging/LogFormatter.php:130 PhanTypeMismatchProperty Assigning $entry of type \MediaWiki\Logging\LogEntry to property but \MediaWiki\Logging\LogFormatter->entry is \MediaWiki\Logging\LogEntryBase includes/Mail/UserMailer.php:391 PhanPossiblyUndeclaredVariable Variable $recip is possibly undeclared includes/Mail/UserMailer.php:406 PhanRedundantCondition Redundant attempt to cast self::$mErrorString of type '' to falsey includes/Media/BitmapHandler.php:309 PhanTypeMismatchArgumentInternal Argument 1 ($quality) is $qualityVal of type non-empty-string but \Imagick::setCompressionQuality() takes int includes/Media/BitmapHandler.php:580 PhanTypeInvalidModuloOperand Operand ($params['rotation'] + $this->getRotation($file)) of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1) includes/Media/JpegHandler.php:138 PhanTypeInvalidModuloOperand Operand ($params['rotation'] + $this->getRotation($file)) of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1) includes/Media/JpegHandler.php:224 PhanTypeMismatchReturnProbablyReal Returning false of type false but transformImageMagick() is declared to return \MediaTransformError (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type) includes/Media/MediaTransformOutput.php:255 PhanTypeMismatchArgumentProbablyReal Argument 2 ($attribs) is null of type null but \MediaWiki\Html\Html::rawElement() takes array (no real type) defined at includes/Html/Html.php:205 (the inferred real argument type has nothing in common with the parameter's phpdoc type) includes/ObjectCache/ObjectCacheFactory.php:225 PhanTypeMismatchReturn Returning new $class($params) of type \Psr\Log\LoggerInterface|\Wikimedia\Stats\StatsFactory|\Wikimedia\Telemetry\TracerInterface but newFromParams() is declared to return \Wikimedia\ObjectCache\BagOStuff includes/OutputTransform/DefaultOutputPipelineFactory.php:174 PhanTypeInvalidCallableArrayKey In a place where phan was expecting a callable, saw an array with an unexpected key for element #0 (expected [$class_or_expr, $method_name]) includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanTypeInvalidCallableArraySize In a place where phan was expecting a callable, saw an array of size 7, but callable arrays must be of size 2 includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanUndeclaredFunctionInCallable Call to undeclared function MediaWiki\OutputTransform\Stages\AddRedirectHeader in callable includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanUndeclaredFunctionInCallable Call to undeclared function MediaWiki\OutputTransform\Stages\ExpandToAbsoluteUrls in callable includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanUndeclaredFunctionInCallable Call to undeclared function MediaWiki\OutputTransform\Stages\HardenNFC in callable includes/OutputTransform/DefaultOutputPipelineFactory.php:195 PhanUndeclaredFunctionInCallable Call to undeclared function MediaWiki\OutputTransform\Stages\HydrateHeaderPlaceholders in callable includes/OutputTransform/Stages/HandleTOCMarkersDOM.php:64 PhanParamTooManyInternal Call with 1 arg(s) to \DOMElement::replaceWith() which only takes 0 arg(s). This would throw an ArgumentCountError. includes/Parser/CoreParserFunctions.php:2069 PhanUnusedVariableDeclarationCaughtException Variable $_ for caught exception is declared as unused. Omit the variable instead. includes/PoolCounter/PoolCounter.php:228 PhanTypeInvalidModuloOperand Operand hexdec(substr(sha1($key), 0, 4)) of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1) includes/RecentChanges/ChangesListQuery/SeenCondition.php:56 PhanTypeMismatchArgumentNullable Argument 2 ($user) is $this->user of type ?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\User\UserIdentity but \MediaWiki\Watchlist\WatchedItemStoreInterface::getLatestNotificationTimestamp() takes \MediaWiki\User\UserIdentity defined at includes/Watchlist/WatchedItemStoreInterface.php:384 (expected type to be non-nullable) includes/RecentChanges/RecentChange.php:687 PhanRedundantValueComparison Redundant comparison of $name of type string to 'rc_actor' of type string with operator '===' (the comparison is always true) includes/RecentChanges/RecentChangeMailComposer.php:102 PhanTypeMismatchPropertyReal Assigning $services->getEmailer() of type \MediaWiki\Mail\IEmailer to property but \MediaWiki\RecentChanges\RecentChangeMailComposer->emailer is \MediaWiki\Mail\Emailer includes/RecentChanges/RecentChangeNotificationHandler.php:54 PhanTypeMismatchArgument Argument 1 ($watchingUser) is $recipient of type \MediaWiki\DAO\WikiAwareEntity|\MediaWiki\User\UserIdentity but \MediaWiki\RecentChanges\RecentChangeMailComposer::compose() takes \MediaWiki\Mail\UserEmailContact defined at includes/RecentChanges/RecentChangeMailComposer.php:232 includes/ResourceLoader/ClientHtml.php:346 PhanTypeInvalidDimOffset Invalid offset "styles" of $data['embed'] of array type array{general:non-empty-mixed} includes/ResourceLoader/StartUpModule.php:240 PhanTypeMismatchArgument Argument 1 ($registryData) is $registryData of type array{}|non-empty-array but \MediaWiki\ResourceLoader\StartUpModule::compileUnresolvedDependencies() takes array defined at includes/ResourceLoader/StartUpModule.php:122 includes/Rest/Handler/EditHandler.php:88 PhanTypeInvalidDimOffset Invalid offset "title" of $data['edit'] of array type array{result:non-empty-mixed} includes/Rest/Handler/EditHandler.php:88 PhanTypeMismatchArgument Argument 1 ($text) is $data['edit']['title'] of type null but \MediaWiki\Title\TitleParser::parseTitle() takes string defined at includes/Title/TitleParser.php:97 includes/Rest/Handler/EditHandler.php:92 PhanTypeInvalidDimOffset Invalid offset "newrevid" of $data['edit'] of array type array{result:non-empty-mixed} includes/Rest/Handler/EditHandler.php:96 PhanTypeInvalidDimOffset Invalid offset "pageid" of $data['edit'] of array type array{result:non-empty-mixed} includes/Rest/Handler/EditHandler.php:100 PhanTypeInvalidDimOffset Invalid offset "newrevid" of $data['edit'] of array type array{result:non-empty-mixed} includes/Rest/Handler/EditHandler.php:101 PhanTypeInvalidDimOffset Invalid offset "newtimestamp" of $data['edit'] of array type array{result:non-empty-mixed} includes/Rest/Handler/EditHandler.php:107 PhanTypeInvalidDimOffset Invalid offset "contentmodel" of $data['edit'] of array type array{result:non-empty-mixed} includes/RevisionDelete/RevDelList.php:25 PhanParamSignatureMismatchInternal Declaration of function next() : \RevDelItem should be compatible with internal function next() : void includes/RevisionDelete/RevDelList.php:25 PhanParamSignaturePHPDocMismatchReturnType Declaration of real/@method function next() should be compatible with real/@method function next() : void (method returning '\RevDelItem' cannot override method returning 'void') defined in internal:0 includes/RevisionList/RevisionItem.php:32 PhanTypeMismatchProperty Assigning $list->getContext() of type \MediaWiki\Context\IContextSource to property but \MediaWiki\RevisionList\RevisionItem->context is \MediaWiki\Context\RequestContext includes/Search/BaseSearchResultSet.php:48 PhanTypeMismatchProperty Assigning $this->getIterator() of type \Traversable to property but \BaseSearchResultSet->bcIterator is \ArrayIterator|null includes/Search/SearchEngine.php:781 PhanTypeInvalidDimOffset Invalid offset $fieldName of $fields of array type array{} includes/Settings/Source/EtcdSource.php:120 PhanTypeMismatchProperty Assigning new Uri()->withHost($params['host'])->withPort($params['port'])->withPath((('/v2/keys/' . trim($params['directory'], '/')) . '/'))->withScheme($params['protocol'])->withQuery('recursive=true') of type \Psr\Http\Message\UriInterface to property but \MediaWiki\Settings\Source\EtcdSource->uri is \GuzzleHttp\Psr7\Uri includes/Settings/Source/EtcdSource.php:131 PhanTypeMismatchProperty Assigning $this->uri->withHost($discoverer->getSrvName())->withPort(null) of type \Psr\Http\Message\UriInterface to property but \MediaWiki\Settings\Source\EtcdSource->uri is \GuzzleHttp\Psr7\Uri includes/SpecialPage/UserGroupsSpecialPage.php:205 PhanTypeMismatchReturnReal Returning new PanelLayout(['expanded'=>false,'padded'=>true,'framed'=>true,'content'=>new FieldsetLayout(['label'=>$panelLabel,'items'=>$panelItems])]) of type \OOUI\PanelLayout but buildViewGroupsFormContent() is declared to return string includes/SpecialPage/UserGroupsSpecialPage.php:288 PhanTypeMismatchReturnReal Returning new PanelLayout(['expanded'=>false,'padded'=>true,'framed'=>true,'content'=>[new FieldsetLayout(['label'=>$panelLabel,'items'=>$panelItems]),new PanelLayout(['expanded'=>false,'content'=>new HtmlSnippet($form)])]]) of type \OOUI\PanelLayout but buildEditGroupsFormContent() is declared to return string includes/Specials/Forms/PreferencesFormOOUI.php:123 PhanParamSignatureMismatch Declaration of function wrapFieldSetSection(string $legend, string $section, array $attributes, bool $isRoot) : \OOUI\PanelLayout should be compatible with function wrapFieldSetSection(string $legend, string $section, array $attributes, bool $isRoot) : string defined in includes/HTMLForm/HTMLForm.php:1824 includes/Title/Title.php:806 PhanRedundantValueComparison Redundant comparison of $ord1 of type int (value: 0) to 128 of type int (value: 128) with operator '<' (the comparison is always true) includes/Upload/UploadFromChunks.php:61 PhanTypeMismatchProperty Assigning $repo of type \MediaWiki\FileRepo\FileRepo to property but \UploadFromChunks->repo is \MediaWiki\FileRepo\LocalRepo includes/Upload/UploadStash.php:82 PhanTypeMismatchProperty Assigning $repo of type \MediaWiki\FileRepo\FileRepo to property but \UploadStash->repo is \MediaWiki\FileRepo\LocalRepo includes/Widget/CheckMatrixWidget.php:201 PhanTypeMismatchReturnProbablyReal Returning new HtmlSnippet($this->tooltipsHtml[$label]) of type \OOUI\HtmlSnippet but getTooltip() is declared to return string (no real type) (the inferred real return type has nothing in common with the declared phpdoc return type) includes/Widget/ComplexTitleInputWidget.php:44 PhanTypePossiblyInvalidDimOffset Possibly invalid offset 'namespace' of $config of array type array{namespace?:array,title?:array} includes/Widget/ComplexTitleInputWidget.php:46 PhanTypePossiblyInvalidDimOffset Possibly invalid offset 'title' of $config of array type array{namespace?:array,title?:array} includes/libs/MappedIterator.php:79 PhanParamSignatureRealMismatchReturnTypeInternal Declaration of function key() should be compatible with internal function key() : mixed (method where the return type in the real signature is '' cannot override method where the return type in the real signature is 'mixed') includes/libs/MappedIterator.php:93 PhanParamSignatureRealMismatchReturnTypeInternal Declaration of function current() should be compatible with internal function current() : mixed (method where the return type in the real signature is '' cannot override method where the return type in the real signature is 'mixed') includes/libs/ParamValidator/TypeDef/ExpiryDef.php:45 PhanPossiblyUndeclaredVariable Variable $expiry is possibly undeclared includes/libs/ParamValidator/TypeDef/ExpiryDef.php:51 PhanPossiblyUndeclaredVariable Variable $expiry is possibly undeclared includes/libs/ParamValidator/TypeDef/ExpiryDef.php:65 PhanPossiblyUndeclaredVariable Variable $expiry is possibly undeclared includes/libs/Rdbms/ChronologyProtector.php:423 PhanTypeMismatchReturn Returning $this->startupPositionsByPrimary of type array but getStartupSessionPositions() is declared to return array includes/libs/Rdbms/Database/DBConnRef.php:101 PhanParamTooFewInPHPDoc Call with 0 arg(s) to \Wikimedia\Rdbms\Database::close(string $fname = __METHOD__) which has phpdoc indicating it requires 1 arg(s) ($fname is mandatory) defined at includes/libs/Rdbms/Database/Database.php:476 includes/libs/Rdbms/Database/DBConnRef.php:107 PhanTypeMismatchProperty Assigning $this->lb->getConnectionInternal($this->params[self::FLD_INDEX], $this->params[self::FLD_GROUPS], $this->params[self::FLD_DOMAIN]->getId(), $this->params[self::FLD_FLAGS]) of type \Wikimedia\Rdbms\IDatabase to property but \Wikimedia\Rdbms\DBConnRef->conn is \Wikimedia\Rdbms\Database|null includes/libs/Rdbms/Database/Database.php:3159 PhanTypeMismatchProperty Assigning $e of type \RuntimeException to property but \Wikimedia\Rdbms\Database->csmError is \Wikimedia\Rdbms\DBUnexpectedError|null includes/libs/Rdbms/Database/DatabasePostgres.php:317 PhanParamTooFewInPHPDoc Call with 1 arg(s) to \Wikimedia\Rdbms\DatabasePostgres::query($sql, mixed|string $fname = __METHOD__, int|mixed $flags = 0) which has phpdoc indicating it requires 2 arg(s) ($fname is mandatory) defined at includes/libs/Rdbms/Database/Database.php:619 includes/libs/Rdbms/Database/ResultWrapper/SqliteResultWrapper.php:24 PhanTypeMismatchPropertyProbablyReal Assigning $result->fetchAll(PDO::FETCH_OBJ) of type array to property but \Wikimedia\Rdbms\SqliteResultWrapper->rows is \ArrayIterator|null (no real type) (the inferred real assigned type has nothing in common with the declared phpdoc property type) includes/libs/Rdbms/LBFactory/LBFactoryMulti.php:214 PhanTypeMismatchProperty Assigning ($this->newMainLB($domain) as a field) of type array to property but \Wikimedia\Rdbms\LBFactoryMulti->mainLBs is array includes/libs/Rdbms/LBFactory/LBFactoryMulti.php:240 PhanTypeMismatchProperty Assigning ($this->newExternalLB($cluster) as a field) of type array to property but \Wikimedia\Rdbms\LBFactoryMulti->externalLBs is array includes/libs/Rdbms/LBFactory/LBFactorySimple.php:98 PhanTypeMismatchProperty Assigning ($this->newExternalLB($cluster) as a field) of type array to property but \Wikimedia\Rdbms\LBFactorySimple->externalLBs is \Wikimedia\Rdbms\LoadBalancer[] includes/libs/Rdbms/LoadBalancer/LoadBalancer.php:852 PhanTypeMismatchProperty Assigning $conn of type \Wikimedia\Rdbms\IDatabaseForOwner to property but \Wikimedia\Rdbms\LoadBalancer->lastErrorConn is \Wikimedia\Rdbms\Database|null includes/libs/Rdbms/LoadBalancer/LoadBalancer.php:2084 PhanUndeclaredMethod Call to undeclared method \Wikimedia\Rdbms\ILoadMonitor::setMockTime includes/libs/Rdbms/Platform/SQLPlatform.php:1668 PhanRedundantCondition Redundant attempt to cast $conds of type non-empty-array|non-empty-string to truthy includes/libs/Stats/StatsUtils.php:194 PhanTypeInvalidModuloOperand Operand $y of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1) includes/libs/UUID/GlobalIdGenerator.php:607 PhanTypeInvalidModuloOperand Operand $ts of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1) maintenance/Version.php:48 PhanTypeInvalidModuloOperand Operand ($x - 19) of type float to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1) maintenance/compareLanguageConverterOutput.php:261 PhanPossiblyUndeclaredVariable Variable $diff is possibly undeclared maintenance/compareLanguageConverterOutput.php:261 PhanTypeMismatchArgumentNullable Argument 1 ($diff) is $diff of type ?\Diff|?\Wikimedia\Diff\Diff but \Wikimedia\Diff\ArrayDiffFormatter::format() takes \Wikimedia\Diff\Diff defined at includes/libs/Diff/ArrayDiffFormatter.php:28 (expected type to be non-nullable) maintenance/doMaintenance.php:29 PhanRedundantValueComparisonInGlobalScope Redundant comparison of $maintClass of type string to CommandLineInc::class of type string with operator '!=' in the global scope (the comparison is always true, likely a false positive) maintenance/generateSitemap.php:175 PhanTypeMismatchProperty Assigning $this->getReplicaDB() of type \Wikimedia\Rdbms\IReadableDatabase to property but \GenerateSitemap->dbr is \Wikimedia\Rdbms\IDatabase maintenance/includes/SchemaMaintenance.php:166 PhanPossiblyUndeclaredVariable Variable $sql is possibly undeclared maintenance/includes/SchemaMaintenance.php:171 PhanPossiblyUndeclaredVariable Variable $sql is possibly undeclared maintenance/includes/TextPassDumper.php:550 PhanRedundantValueComparisonInLoop Redundant comparison of $text of type false to false of type false with operator '===' in a loop (the comparison is always true, likely a false positive) maintenance/includes/TextPassDumper.php:650 PhanPossiblyUndeclaredVariable Variable $tryIsPrefetch is possibly undeclared maintenance/rebuildImages.php:72 PhanTypeMismatchProperty Assigning $this->getPrimaryDB() of type \Wikimedia\Rdbms\IDatabase to property but \ImageBuilder->dbw is \Wikimedia\Rdbms\IMaintainableDatabase maintenance/sql.php:71 PhanRedundantValueComparison Redundant comparison of $index of type int (value: 0) to ServerInfo::WRITER_INDEX of type int (value: 0) with operator '===' (the comparison is always true) maintenance/storage/checkStorage.php:221 PhanTypeMismatchProperty Assigning $esFactory->getStore('DB') of type \ExternalStoreMedium to property but \CheckStorage->dbStore is \ExternalStoreDB maintenance/storage/checkStorage.php:424 PhanTypeMismatchProperty Assigning $esFactory->getStore('DB') of type \ExternalStoreMedium to property but \CheckStorage->dbStore is \ExternalStoreDB maintenance/storage/recompressTracked.php:127 PhanTypeMismatchProperty Assigning $esFactory->getStore('DB') of type \ExternalStoreMedium to property but \RecompressTracked->store is \ExternalStoreDB maintenance/storage/recompressTracked.php:729 PhanTypeMismatchProperty Assigning new $class() of type \HistoryBlob to property but \CgzCopyTransaction->cgz is \ConcatenatedGzipHistoryBlob|false maintenance/storage/recompressTracked.php:747 PhanTypeMismatchProperty Assigning new $class() of type \HistoryBlob to property but \CgzCopyTransaction->cgz is \ConcatenatedGzipHistoryBlob|false maintenance/storage/storageTypeStats.php:54 PhanTypeInvalidModuloOperand Operand ($rangeStart / $binSize) of type float|int to modulo (%%) operator is implicitly converted to int (deprecated in PHP 8.1) maintenance/updateCollation.php:137 PhanTypeMismatchProperty Assigning $this->getPrimaryDB() of type \Wikimedia\Rdbms\IDatabase to property but \UpdateCollation->dbw is \Wikimedia\Rdbms\IMaintainableDatabase maintenance/updateCollation.php:138 PhanTypeMismatchProperty Assigning $this->getReplicaDB() of type \Wikimedia\Rdbms\IReadableDatabase to property but \UpdateCollation->dbr is \Wikimedia\Rdbms\IDatabase tests/common/Parser/ParserTestRunner.php:3103 PhanTypeMismatchArgument Argument 1 ($title) is $title of type \MediaWiki\Linker\LinkTarget|\MediaWiki\Title\TitleValue|\Stringable|\TitleValue|\Wikimedia\Parsoid\Core\LinkTarget|\Wikimedia\Parsoid\Core\LinkTargetTrait but \MediaWiki\FileRepo\RepoGroup::clearCache() takes \MediaWiki\Page\PageIdentity|null|string defined at includes/FileRepo/RepoGroup.php:453