scala/scala — pull request #3091 by retronym (2013-10-31 13:40:45+00:00)
Title: Implicit search optimizations

I'm trying to submit a few of the (hopefully) uncontroversial
patches from my attempts to optimize the compiler. This pull
request focusses on implicit search.

- avoid repeated member lookup and creation of sets of symbols by
introducing a per-run analog of Definitions. Ther is more
work to be done in the name of correctness there under the
banner of SI-7678.
- implicit class symbols were never meant to be in an ImplcitInfo,
only the factory method should be in there.
- cache 'isErroneousOrCyclic' in ImplicitInfo (which itself is
cached per-run in Contexts (for in-scope implicits) and in
Implicits (for companion object implicits.)