On Mon, 24 Sep 2012 17:54:52 +0200
Eugene Burmako <
eugene....@epfl.ch> wrote:
> Luckily for us (and me personally), reflection will be experimental in
> 2.10.0, so we'll have an official list of known issues, which will include
> yet unfixed leaks.
I was under the impression that reflection code could get called from the compiler itself even if the code being compiled doesn't use anything non-experimental. I could see a completely experimental feature having known memory leaks, but it looks to me (from the outside) that reflection is too intertwined with normal compilation.
* ClassManifest/ClassTag? ClassTag is in scala-library.jar and is used for constructing arrays. Will only classes in scala-reflect.jar be behind language.experimental? Or, is the reflection code causing the memory leaks not actually involved in these?
* Manifests are deprecated in favor of TypeTags, but TypeTags are now experimental and only in scala-reflect.jar, right?
* Will normal users never cause macros to run? For example, are there no macros exposed by the standard library that users might invoke?
> I would love to fix them all, but we don't have enough time for that :(
I understand that all bugs won't be fixed (for example, I know I'll have to wait until at least 2.10.1 for macros), but I think memory leaks are especially bad. If it is clearly the case that the memory leaks can only occur by some obvious, experimental reflection method not used by the compiler, ok.