-
-
Notifications
You must be signed in to change notification settings - Fork 230
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
Revert "Mutually exclude mainSourceFile of different configurations" #2134
Conversation
This reverts commit f1815e6.
Thanks for your pull request, @schveiguy! |
For us not 100% updated, what would the consequences of reverting this be? 🤔 |
The PR being reverted changed the meaning of the More importantly it should make dub perform consistently across compiler versions. |
The same reasoning apply to the original change.
It will break our project. And in the case of If it was reverted in the same release or in a point release, I'd understand. But it's been 3 releases. |
My statement was not a justification, just an answer to the question "how does this affect me?". The revert should be done even if it breaks current projects, because the change was unsound in the first place. What may need to happen before this is a way to do what the original change does, just using a different directive. |
I'm afraid we can't do this anymore (it's too late). |
So what is the solution? Leave the current hack in place because it sneaked into a release? Note that it wasn't too late to change behavior that broke my project, for something that wasn't a new feature, or a bug fix, but completely changing the behavior of an existing feature. |
I'll note that buildkite passes, so none of the projects that we are looking at actually use this feature. I feel the code breakage would be extremely minimal (vastly outnumbered by fixing projects, including historical ones, that were broken in the first place), and those who depend on it can still use the hacky version of dub from a recent compiler until the correct fix (new directive) is released. |
Turns out that "trivial" fix doesn't work. https://travis-ci.com/github/mysql-d/mysql-native/jobs/507100666 |
Yep, my analysis of the file was slightly off, and I should also add it to Note that in the process of doing that, I noticed that This is yet another proof that people need a way to have configuration-specific files because that's how they use it. With the improved definition of |
I have no problem with the idea, just the fact that it used a directive that already meant something completely different (and in the process broke existing code). |
Closing because this behavior have been there for over 18 months and a revert no longer makes sense. |
Reverts #2039
This change needs to go. Changing the existing semantics of directives is not reasonable in a stable ecosystem.
Instead, implement via a new directive.