-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Report addition of trigger_error()
to a function's body as a BC break
#369
Comments
…trigger_error()` where none was needed Ref: composer/composer@3013674#diff-67d1dfefa9c7b1c7e0b04b07274628d812f82cd82fae635c0aeba643c02e8cd8R145 Ref: composer/composer#10079 Ref: #366 (comment) Ref: composer/composer#10079 (review) /cc @herndlm FYI
What about |
That is pretty much the reason why this issue exists: userland deprecations in previously working code, breaking downstream consumers. It's a dangerous and irresponsible approach perpetrated by |
I mean, if you don't configure your app to ignore deprecations you can't really blame anyone. |
It's not just apps: it's a whole chain of libraries, tools and thousands of hours of work, just to stay in sync with side-effects introduced very deep in your stack frames. For instance, in this specific library, a deprecation warning will break e2e tests, because STDERR is broken by those, and output buffering will catch them. In other systems, an unrelated error listener may be tripped: potentially not even configured at application level, but deep in a library. In other systems, performance may be crippled. On systems that log all errors, disk space may become an issue. In practice: don't add RUNTIME effects where none were present, because that is a clear BC break. We have the tools, and there is no need to make these problems a runtime side-effect. |
Functions that are otherwise working fine cannot have
trigger_error()
expressions added to them, as that:Therefore, we will add a new checker that ensures that
trigger_error()
additions are considered BC breaks.The text was updated successfully, but these errors were encountered: