File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed
tests/PHPStan/Analyser/data Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -53,6 +53,22 @@ public function execute(): void
53
53
}
54
54
}
55
55
56
+ class FormData {}
57
+ class Form
58
+ {
59
+ /**
60
+ * @template Data of object = \stdClass
61
+ * @param Data|null $values
62
+ * @return Data
63
+ */
64
+ public function mapValues (object |null $ values = null ): object
65
+ {
66
+ $ values ??= new \stdClass ;
67
+ // ... map into $values ...
68
+ return $ values ;
69
+ }
70
+ }
71
+
56
72
function () {
57
73
$ qb = new Builder ();
58
74
assertType ('TemplateDefault \\Builder<false, false> ' , $ qb );
@@ -80,3 +96,10 @@ function () {
80
96
assertType ('TemplateDefault \\Builder<true, false> ' , $ qb );
81
97
assertType ('never ' , $ qb ->execute ());
82
98
};
99
+
100
+ function () {
101
+ $ form = new Form ();
102
+
103
+ assertType ('TemplateDefault \\FormData ' , $ form ->mapValues (new FormData ));
104
+ assertType ('stdClass ' , $ form ->mapValues ());
105
+ };
You can’t perform that action at this time.
0 commit comments