#
d478ae73 |
| 05-Nov-2021 |
Nikita Popov |
Don't implement Stringable on traits Traits do not support interfaces, so we should not implement Stringable on them. Also check the __toString() return type in the same way oth
Don't implement Stringable on traits Traits do not support interfaces, so we should not implement Stringable on them. Also check the __toString() return type in the same way other magic methods do, otherwise we would now miss the check in the trait case.
show more ...
|
#
462271c7 |
| 04-Nov-2021 |
Nikita Popov |
Fix typo [ci skip]
|
#
d3932682 |
| 04-Nov-2021 |
Nikita Popov |
Fixed bug #81582 If __toString() comes from a trait, implement Stringable during inheritance.
|
#
be821736 |
| 23-Sep-2021 |
Nikita Popov |
Bail on exception during delayed autoload We shouldn't try to load further classes if one autoload throws. This fixes oss-fuzz #38881, though I believe there are still two deepe
Bail on exception during delayed autoload We shouldn't try to load further classes if one autoload throws. This fixes oss-fuzz #38881, though I believe there are still two deeper issues here: 1) Why do we allow autoloading with an active exception? 2) Exception save & restore should probably also save and restore the exception opline.
show more ...
|
#
7fbfcfa8 |
| 10-May-2021 |
Nikita Popov |
Don't autoload classes during covariant type check against mixed mixed should be behaving the same way as no type here, and not require X to be autoloaded. Everything apart from "void" i
Don't autoload classes during covariant type check against mixed mixed should be behaving the same way as no type here, and not require X to be autoloaded. Everything apart from "void" is trivially covariant to "mixed".
show more ...
|
#
dd335359 |
| 05-Jan-2021 |
Nikita Popov |
Fix infinite recursion in unlinked_instanceof I suspect this is only a partial fix for the issue, it's probably possible to recurse through a more complex pathway as well. Fixes
Fix infinite recursion in unlinked_instanceof I suspect this is only a partial fix for the issue, it's probably possible to recurse through a more complex pathway as well. Fixes oss-fuzz #28961.
show more ...
|
Revision tags: php-8.0.0, php-7.3.25, php-7.4.13 |
|
#
912cb8b8 |
| 24-Nov-2020 |
Nikita Popov |
Fixed bug #80391 Iterable was not considered a subtype of array|object, and thus also not a subtype of mixed.
|
Revision tags: php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1 |
|
#
670fe594 |
| 04-Nov-2020 |
Nikita Popov |
Fix static variable in methods inheritance during preloading This is now "bug compatible" with the normal behavior, and more imporantly, does not crash :)
|
#
9fd8e00f |
| 03-Nov-2020 |
Nikita Popov |
Fix use of type copy ctor when importing trait properties We shouldn't call the copy constructor inside the original type, duh.
|
#
7e553175 |
| 03-Nov-2020 |
Nikita Popov |
Allow unlinked classes when performing in_compilation variance check As preloading runs in in_compilation mode, we also need to allow use of unlinked classes in lookup_class().
|
#
ee934f82 |
| 03-Nov-2020 |
Nikita Popov |
Fix variance checks on resolved union types This is a bit annoying: When preloading is used, types might be resolved during inheritance checks, so we need to deal with CE types rathe
Fix variance checks on resolved union types This is a bit annoying: When preloading is used, types might be resolved during inheritance checks, so we need to deal with CE types rather than just NAME types everywhere.
show more ...
|
Revision tags: php-7.4.12, php-8.0.0RC3, php-7.3.24 |
|
#
4ece62fb |
| 15-Oct-2020 |
Nikita Popov |
Fix bug #80055 We need to perform trait scope fixup for both methods involved in the inheritance check. For that purpose we already need to thread through a separate fn scope through
Fix bug #80055 We need to perform trait scope fixup for both methods involved in the inheritance check. For that purpose we already need to thread through a separate fn scope through the entire inheritance checking machinery.
show more ...
|
Revision tags: php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1 |
|
#
3b7c8bb9 |
| 06-Oct-2020 |
Nikita Popov |
Fix bug #80126 When performing an unlinked instanceof, we also need to consider interfaces of parent classes, as they may not have been inherited yet.
|
Revision tags: php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23, php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1, php-8.0.0beta3, php-7.4.10, php-7.3.22 |
|
#
fa8d9b11 |
| 28-Aug-2020 |
George Peter Banyard |
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functio
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functions which return true/false (1/0) Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics Closes GH-6002
show more ...
|
Revision tags: php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1, php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1 |
|
#
7fd4212c |
| 20-Jul-2020 |
Nikita Popov |
Add common code for magic method assignment This was repeated three times.
|
Revision tags: php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1, php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1, php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1 |
|
#
272b887b |
| 16-Apr-2020 |
Pedro Magalhães |
Ignore inheritance rules on private methods Closes GH-5401
|
#
1314ccbf |
| 26-Jun-2020 |
Nikita Popov |
Cache __unserialize() instead of unserialize() We should use these cache slots for the new object serialization mechanism rather than the old one.
|
#
15846ff1 |
| 17-Jun-2020 |
Nikita Popov |
Add ZVAL_OBJ_COPY macro For the common ZVAL_OBJ + GC_ADDREF pattern. This mirrors the existing ZVAL_STR_COPY API.
|
#
92c4b065 |
| 16-Jun-2020 |
Christoph M. Becker |
Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0) Instead of marking unreachable code with `ZEND_ASSERT(0)`, we introduce `ZEND_UNREACHABLE()`, so that MSVC which does not consider `asser
Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0) Instead of marking unreachable code with `ZEND_ASSERT(0)`, we introduce `ZEND_UNREACHABLE()`, so that MSVC which does not consider `assert(0)` to mark unreachable code does no longer trigger C4715[1] warnings in debug builds. This may be useful for other compilers as well. [1] <https://docs.microsoft.com/de-de/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4715?view=vs-2019>
show more ...
|
#
a7908c2d |
| 24-May-2020 |
Benjamin Eberlei |
Add Attributes Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
|
Revision tags: php-7.2.30, php-7.4.5, php-7.3.17, php-7.4.5RC1, php-7.3.17RC1 |
|
#
aec4c0fd |
| 27-Mar-2020 |
Máté Kocsis |
Add support for the mixed type RFC: https://wiki.php.net/rfc/mixed_type_v2 Closes GH-5313 Co-authored-by: Dan Ackroyd <danack@basereality.com>
|
#
21a9ad91 |
| 04-May-2020 |
Nikita Popov |
Fixed bug #79548 When duplicating user functions with static variables, make sure that we init a new map ptr slot for the static variables.
|
#
cf7c6828 |
| 23-Apr-2020 |
Nikita Popov |
Fix treatment of "self" when validating against trait method If we're validating a class method against a trait method, we need to treat "self" in the trait method as the class where the
Fix treatment of "self" when validating against trait method If we're validating a class method against a trait method, we need to treat "self" in the trait method as the class where the method is used. To achieve this, we need to thread the proto scope through all methods, so it can be provided separately from proto.common->scope.
show more ...
|
#
fe9860c2 |
| 09-Apr-2020 |
Máté Kocsis |
Improve the default value format in incompatible signature error messages Closes GH-5361
|
#
3709e74b |
| 06-Apr-2020 |
Máté Kocsis |
Store default parameter values of internal functions in arg info Closes GH-5353. From now on, PHP will have reflection information about default values of parameters of internal function
Store default parameter values of internal functions in arg info Closes GH-5353. From now on, PHP will have reflection information about default values of parameters of internal functions. Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
show more ...
|