Skip to content

Conversation

@wilzbach
Copy link
Contributor

@wilzbach wilzbach commented Dec 2, 2017

-de is also used at Phobos, Druntime and Tools.
See also: dlang/phobos#5546
The idea is that whenever sth. gets deprecated in Druntime or Phobos a replacement needs to exists. By always building with -de, we can enforce that the replacement really exists and force the person who submits the deprecation to look after the fallout.

@dlang-bot
Copy link
Collaborator

Thanks for your pull request, @wilzbach!

@wilzbach
Copy link
Contributor Author

wilzbach commented Dec 2, 2017

Needs #1295

@joakim-noah
Copy link
Contributor

I like the idea, but looks like you have more work to do to get some D versions working. I build the native Android dub with this flag, but I only have to worry about the latest ldc. 😉

@Geod24
Copy link
Member

Geod24 commented Dec 20, 2019

I'm going to go ahead and close this. While it is a nice to have thing, I don't thing it's something that is easily achievable, just for the fact that DUB depends on Phobos and Vibe.d (and its dependencies) and support a wide range of libraries.

We have evidence that there are unsolved problems with deprecations, for example deprecating alias this triggers deprecations in generic code (including places that checks for range types), deprecating things like toString() leads to deprecation warning in std.format...

So -de is great when you control the full stack and have a limited compiler support (druntime / phobos only support HEAD), but when you throw Vibe.d into the mix, and multiple compilers, it starts to require much more manpower than we have. Add to that the fact that dub is currently mostly used as a binary, where deprecations don't matter as much as with a lib.

@Geod24 Geod24 closed this Dec 20, 2019
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.

5 participants