On Thursday, 22 May 2014 at 17:25:30 UTC, Steven Schveighoffer
wrote:
A possible path is to introduce the change, but put @monitor on
Object. This will allow all current code to compile as-is.
Then users who are concerned about their code being affected
would be able to remove @monitor from Object, recompile
druntime and phobos (once we make it work) and allow people to
see how their code breaks without being left hanging (the
shipping compiler would still have @monitor).
Then eventually, we can remove @monitor from Object, and users
who still wish to force @monitor on Object can do so (recompile
druntime and phobos with @monitor added).
This sounds like a reasonable deprecation stage.
Anyway it seems like we're all mostly on the same page here
(remove the monitor) except the final part: potential implicit
performance penalty vs code breakage after a deprecation stage.
Either way we chose there's a pull ready[1] that's going stale.
Can we get an update from both Andrei & Walter to get going with
this?
[1]: https://github.com/D-Programming-Language/dmd/pull/3547