Skip to content

[8.5] Add polyfill for FILTER_THROW_ON_FAILURE and exceptions#543

Closed
DanielEScherzer wants to merge 1 commit into
symfony:1.xfrom
DanielEScherzer:filter-throw-on-failure
Closed

[8.5] Add polyfill for FILTER_THROW_ON_FAILURE and exceptions#543
DanielEScherzer wants to merge 1 commit into
symfony:1.xfrom
DanielEScherzer:filter-throw-on-failure

Conversation

@DanielEScherzer

Copy link
Copy Markdown
Contributor

@DanielEScherzer

Copy link
Copy Markdown
Contributor Author

8.5 failure is

/home/runner/work/_temp/0c018e61-8d65-4ab3-88d8-32976237b682.sh: line 1: 5649 Segmentation fault (core dumped) composer --prefer-source --no-progress --ansi install

but probably not caused by me, since the test setup also died:

==> Setup PHP
✓ PHP Installed PHP 8.5.0-dev (fc0dd9d4cad68396715274fb9e8450d41e41cab8)

==> Setup Extensions
✓ apcu Enabled
✓ intl Installed and enabled with ICU 73.2
✓ mbstring Enabled
✓ odbc Enabled

==> Setup uuid-1.3.0
/home/runner/work/_actions/shivammathur/setup-php/v2/src/scripts/../scripts/extensions/add_extensions.sh: line 79:  2927 Segmentation fault      (core dumped) php -d'error_reporting=0' "${src:?}"/scripts/extensions/extension_map.php /tmp/map"$version".orig > /dev/null 2>&1
phpize
configure
make
make install
/home/runner/work/_actions/shivammathur/setup-php/v2/src/scripts/../scripts/extensions/add_extensions.sh: line 9:  5253 Segmentation fault      (core dumped) php -m > "$extension_list"
/home/runner/work/_actions/shivammathur/setup-php/v2/src/scripts/../scripts/extensions/add_extensions.sh: line 79:  5280 Segmentation fault      (core dumped) php -d'error_reporting=0' "${src:?}"/scripts/extensions/extension_map.php /tmp/map"$version".orig > /dev/null 2>&1
✓ uuid-1.3.0 Installed from https://pecl.php.net/uuid/uuid and enabled
✓ uuid Installed and enabled

==> Setup Tools
/home/runner/work/_actions/shivammathur/setup-php/v2/src/scripts/../scripts/tools/add_tools.sh: line 27:  5534 Segmentation fault      (core dumped) php -r "try {\$p=new Phar('$tool_path.phar', 0);exit(0);} catch(Exception \$e) {exit(1);}"
✓ composer Added composer 2.8.11

@nicolas-grekas

Copy link
Copy Markdown
Member

I'm not sure we should polyfill these: they're just sidekick of a main feature we cannot polyfill, so having a partial polyfill might be confusing.

@DanielEScherzer

Copy link
Copy Markdown
Contributor Author

I'm not sure we should polyfill these: they're just sidekick of a main feature we cannot polyfill, so having a partial polyfill might be confusing.

Static analysis might complain about the classes not existing?
I'm not entirely clear on the scope of the Symfony polyfills, e.g. we can't actually polyfill the behavior of #[\NoDiscard] or #[\DelayedTargetValidation] but those attributes are still included in the 8.5 polyfills

@nicolas-grekas

Copy link
Copy Markdown
Member

attributes are declarative so there's no real need of engine support to have them convey semantics, that's why they're fine

@DanielEScherzer

Copy link
Copy Markdown
Contributor Author

attributes are declarative so there's no real need of engine support to have them convey semantics, that's why they're fine

Okay. I figured it wouldn't hurt to send this PR, it wasn't too much work if you decide you don't want to include it

@stof

stof commented Aug 26, 2025

Copy link
Copy Markdown
Member

I also vote -1 on adding the polyfill for the FILTER_THROW_ON_FAILURE. The only purpose of this constant is to configure the new behavior in filter_var, which we cannot polyfill.
It is better to leave the constant undefined (which can be used for feature detection) than to define it without its behavior.

@DanielEScherzer

Copy link
Copy Markdown
Contributor Author

We can remove the constant and just add the classes if there are no objections to the classes being included?
I'll update this tomorrow

@nicolas-grekas

Copy link
Copy Markdown
Member

Let's add only the classes, works for me.

@nicolas-grekas

Copy link
Copy Markdown
Member

Let me close as is for history. PR welcome for the classes only, if that can be useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants