Skip to content

Conversation

@Girgias
Copy link
Member

@Girgias Girgias commented Nov 21, 2025

The primary motivation is to get rid of the bailout by using a type error, but also properly abort the output when an exception is thrown or the deprecation notice is promoted to an exception.

This is effectively an internal API change as extensions are no longer allowed to return NULL to fast path an empty array.
As a NULL pointer return is now used to indicate an exception was thrown and we need to propagate this information around.

I heavily refactored var_dump() and debug_zval_dump() as they are quite similar by using common implementations written in CPS.

The primary motivation is to get rid of the bailout by using a type error, but also properly abort the output when an exception is thrown or the deprecation notice is promoted to an exception.

This is effectively an internal API change as extensions are no longer allowed to return NULL to fast path an empty array.
@Girgias Girgias force-pushed the __debug-not-array-type-error branch from d0f39ef to 836fc12 Compare November 22, 2025 22:39
@Girgias Girgias marked this pull request as ready for review November 22, 2025 23:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant