Brown
043c4b2a98
Skip test that requires ext-ds
2020-05-25 18:47:59 -04:00
Brown
7e7456c863
Make taint checks more thorough
2020-05-25 17:10:53 -04:00
Brown
109920be88
Expand template param before comparison
2020-05-25 11:51:10 -04:00
Matthew Brown
952216ff21
Fix test
2020-05-20 23:24:50 -04:00
Matthew Brown
2d02064962
Fix #3407 - allow multiple matching generic classes in union
2020-05-20 09:11:17 -04:00
Brown
f335560b69
Allow setting property on templated type
2020-05-19 17:31:05 -04:00
Brown
bf5e178d16
Fix #3289 - treat property on non-generic type like actual value
2020-05-02 23:37:59 -04:00
Brown
3e07684855
Fix iterable coercion for Traversable-extending types
...
Fixes #3159
2020-04-19 09:15:20 -04:00
Brown
8d29b27204
Allow assigning null to template with null potential
2020-04-18 15:34:14 -04:00
Brown
b0455adced
Fix #3177 - prevent crash by using inherited templates
2020-04-18 11:48:22 -04:00
Matthew Brown
d1270a61c7
Suppress MixedAssignment again
2020-04-05 01:04:52 -04:00
Brown
0db49e38f0
Covariant can accept anything
2020-04-04 12:05:01 -04:00
Brown
1b01d7b356
Fix tests
2020-04-04 11:51:24 -04:00
Brown
c0e573ab6a
Try harder to understand templated array_map callable array
...
Fixes #3039
2020-04-03 16:53:56 -04:00
Matthew Brown
de6aee32d1
Fix #3035 - improve templating for property assignments
2020-03-28 17:18:21 -04:00
iggyvolz
94b246b987
Initial commit ( #3013 )
2020-03-24 18:32:57 -04:00
Brown
f6759c3d16
Check return statement types for inherited docblocks
2020-03-24 17:59:48 -04:00
Matthew Brown
50eb12e562
Fix implementation kink
2020-03-15 16:14:09 -04:00
Brown
a0da7356e9
Fix #2935 - make handling of templated properties much less hacky
2020-03-09 09:59:02 -04:00
Brown
09137b0a32
Fix #2918 - fix contradiction issue with templated equality
2020-03-05 16:21:41 -05:00
Matthew Brown
f44c3488eb
Keep track of which arg a given template was assigned from
...
Fixes #2900 - We only care about the depth of a templated match when templating from a particular argument. The next argument should essentially start afresh
2020-03-01 12:27:18 -05:00
Brown
35c1670602
Fix #2875 - treat intersections more similarly than before
2020-02-27 18:42:15 -05:00
Matthew Brown
fb5a0c39cb
Fix #2819 - improve negated assertions on templates
2020-02-14 11:18:47 -05:00
Matthew Brown
b439a573ce
Empty is also the bottom type
2020-02-08 11:40:22 -05:00
Matthew Brown
b26deb434d
Fix #2771 - replace empty params with generic equivalents
...
Ref #2755
2020-02-08 11:17:24 -05:00
Matthew Brown
8db4bc7691
Improve formatting of intersection error messages
...
Also reduce false positives on intersections of templates
2020-02-02 12:25:24 -05:00
Matthew Brown
2cd7f74efb
Fix #2554 - treat templated class string as proper subtype of class string
2020-01-07 00:39:16 -05:00
Matthew Brown
086d141f5c
Fix #2537 - allow complex intersection templates to be preserved
2020-01-01 13:51:54 -05:00
Matthew Brown
023c4bcef0
Fix #2532 - fix templating inside class method when calling templated method
2019-12-30 07:25:36 -05:00
Matthew Brown
b78f273ccf
Improve handling of template params a smidge
2019-12-27 11:49:44 -05:00
Matthew Brown
797a059a84
Prevent static methods using class instance template types
2019-12-14 09:40:09 -05:00
Matthew Brown
b48021dbfd
Allow null return on template with null as type
...
Ref #2466
2019-12-13 21:56:43 -05:00
Matthew Brown
e3d108ebd9
Fix #2439 - fix templating of class-string<T>::returnsStatic
2019-12-08 21:12:25 -05:00
Matthew Brown
69e6624b16
Fix #2436 - fix templating of property types inside templated functions
2019-12-08 19:25:40 -05:00
Matthew Brown
088228f119
Fix template default type issue
2019-11-30 12:54:08 -05:00
Matthew Brown
1e3ecb5fd0
Fix #2387 - ensure docblock return types are checked
2019-11-29 11:20:37 -05:00
Bruce Weirdan
377e47c8bd
Added WeakReference support ( #2389 )
2019-11-29 01:21:38 -05:00
Brown
23c37f829d
Move covariant tests into their own place
2019-11-14 11:42:16 -05:00
Matthew Brown
7012bedf4e
Fix #2326 - substitute static more responsibly in generic objects
2019-11-12 08:01:22 -05:00
Brown
46d163996e
Fix #2321 - prevent inferred template coercion
2019-11-11 09:14:34 -05:00
Brown
4e5af3490a
Fix #2315 - allow Traversable->iterable templated casting
2019-11-08 13:11:01 -05:00
Brown
3d7b34e7f6
Fix #2273 - ensure all template params are bound
2019-11-07 11:03:41 -05:00
Brown
64996f464e
Prevent empty array workaround to #2308
2019-11-06 16:59:08 -05:00
Brown
3e98c800ec
Fix #2309 - prevent closure-inferred generic template params overwriting parent ones
2019-11-06 13:13:02 -05:00
Brown
a8ed6ba9c4
Fix #2308 - prevent specialisation from bound params
2019-11-06 11:20:51 -05:00
Matthew Brown
b81a2d3852
Fix #2306 - allow nullable templated params to be compared to null
2019-11-05 18:37:46 -05:00
Matthew Brown
8f421dc0bb
Refactor template calculation out from Psalm\Type\Union
2019-11-03 21:27:40 -05:00
Matthew Brown
6517d0a5f5
Add test
2019-11-01 17:33:54 +01:00
Matthew Brown
bab7e46983
Fix #2281 - allow lists to accept list types
2019-11-01 13:35:16 +00:00
Matthew Brown
4845bbbd49
Improve solution to extended type juggling
2019-10-29 19:30:19 +00:00