Skip to content

Commit eb3f2f1

Browse files
authored
Merge branch refs/heads/2.1.x into 2.2.x
2 parents d279748 + 8a99660 commit eb3f2f1

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/Rules/RuleErrorBuilder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ public function treatPhpDocTypesAsCertainTip(): self
235235
public function possiblyImpureTip(array $callDescriptions): self
236236
{
237237
foreach ($callDescriptions as $callDescription) {
238-
$this->addTip(sprintf('If %s is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.', $callDescription));
238+
$this->addTip(sprintf('If %s is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration. Learn more: <fg=cyan>https://phpstan.org/blog/remembering-and-forgetting-returned-values</>', $callDescription));
239239
}
240240

241241
return $this;

tests/PHPStan/Rules/Comparison/StrictComparisonOfDifferentTypesRuleTest.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1059,10 +1059,11 @@ public function testBug11609(): void
10591059

10601060
public function testPossiblyImpureTip(): void
10611061
{
1062-
$impureTipFunction = 'If PossiblyImpureTip\maybeImpureFunction() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.';
1063-
$impureTipMethod = 'If PossiblyImpureTip\MethodCallTest::maybeImpureMethod() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.';
1064-
$impureTipStatic = 'If PossiblyImpureTip\StaticCallTest::maybeImpureStatic() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.';
1065-
$impureTipIntermediate = 'If PossiblyImpureTip\ObjectInvalidationTest::maybeImpureIntermediate() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.';
1062+
$learnMore = ' Learn more: <fg=cyan>https://phpstan.org/blog/remembering-and-forgetting-returned-values</>';
1063+
$impureTipFunction = 'If PossiblyImpureTip\maybeImpureFunction() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.' . $learnMore;
1064+
$impureTipMethod = 'If PossiblyImpureTip\MethodCallTest::maybeImpureMethod() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.' . $learnMore;
1065+
$impureTipStatic = 'If PossiblyImpureTip\StaticCallTest::maybeImpureStatic() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.' . $learnMore;
1066+
$impureTipIntermediate = 'If PossiblyImpureTip\ObjectInvalidationTest::maybeImpureIntermediate() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.' . $learnMore;
10661067
$this->analyse([__DIR__ . '/data/possibly-impure-tip.php'], [
10671068
// Function calls: maybe-impure (tip expected)
10681069
[
@@ -1129,13 +1130,13 @@ public function testPossiblyImpureTip(): void
11291130
[
11301131
'Strict comparison using === between 1 and 2 will always evaluate to false.',
11311132
294,
1132-
'If PossiblyImpureTip\IntermediateCallPriority::next() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.',
1133+
'If PossiblyImpureTip\IntermediateCallPriority::next() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.' . $learnMore,
11331134
],
11341135
// No intermediate call: tip points to fetch() itself
11351136
[
11361137
'Strict comparison using === between 1 and 2 will always evaluate to false.',
11371138
303,
1138-
'If PossiblyImpureTip\IntermediateCallPriority::fetch() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.',
1139+
'If PossiblyImpureTip\IntermediateCallPriority::fetch() is impure, add <fg=cyan>@phpstan-impure</> PHPDoc tag above its declaration.' . $learnMore,
11391140
],
11401141

11411142
// No tip when return type alone explains the error

0 commit comments

Comments
 (0)