diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2016-01-12 22:26:11 +0100 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2016-05-31 16:53:31 +0200 |
commit | 5c2a19bfbbb158c809969fa2a9685b5c7e2695ea (patch) | |
tree | 4194283f63c94d25b24a97865cd5b9fa0a56a3c9 /src/dotty | |
parent | 221e5d19da6e8cfbc6c0a1093c99b477a3592630 (diff) | |
download | dotty-5c2a19bfbbb158c809969fa2a9685b5c7e2695ea.tar.gz dotty-5c2a19bfbbb158c809969fa2a9685b5c7e2695ea.tar.bz2 dotty-5c2a19bfbbb158c809969fa2a9685b5c7e2695ea.zip |
OfTypeImplicits: compute refs lazily
Many intermediate `OfTypeImplicits` are created during a call to
`implicitScope`, but they won't all be used so there is no need to
compute `OfTypeImplicits#refs` unless it's actually used.
Diffstat (limited to 'src/dotty')
-rw-r--r-- | src/dotty/tools/dotc/typer/Implicits.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/Implicits.scala b/src/dotty/tools/dotc/typer/Implicits.scala index 6314ce8c9..257828fb3 100644 --- a/src/dotty/tools/dotc/typer/Implicits.scala +++ b/src/dotty/tools/dotc/typer/Implicits.scala @@ -106,7 +106,7 @@ object Implicits { */ class OfTypeImplicits(tp: Type, val companionRefs: TermRefSet)(initctx: Context) extends ImplicitRefs(initctx) { assert(initctx.typer != null) - val refs: List[TermRef] = { + lazy val refs: List[TermRef] = { val buf = new mutable.ListBuffer[TermRef] for (companion <- companionRefs) buf ++= companion.implicitMembers buf.toList |