Why? What is the reasoning behind dropping this feature? I have failed to find any conclusive explanation to this. I’ve looked in the following locations:
- Dropped: DelayedInit
- SI-5479 deprecate DelayedInit outside of App by adriaanm · Pull Request #3563 · scala/scala · GitHub
- Release Scala 2.11.0-RC1 · scala/scala · GitHub
- OnCreate trait: call onCreate method after object creation · Issue #4330 · scala/bug · GitHub
- deprecate DelayedInit outside of App · Issue #5479 · scala/bug · GitHub
All that I could gather is that the opposition to this feature is that it is “surprising” (can be improved with better design and documentation) and serves only niche use-cases (debatable). Also, @adriaanm mentions that:
The primary goal of the deprecation is to warn people. We won’t actually remove it until we’ve provided an alternative that covers usages like these.
But that alternative (onCreate
) was dropped without any explanation.