SIP Meeting January 27th 2020

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:

  1. Dropped: DelayedInit
  2. SI-5479 deprecate DelayedInit outside of App by adriaanm · Pull Request #3563 · scala/scala · GitHub
  3. Release Scala 2.11.0-RC1 · scala/scala · GitHub
  4. OnCreate trait: call onCreate method after object creation · Issue #4330 · scala/bug · GitHub
  5. 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.

2 Likes