diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-01-16 12:29:16 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-01-16 12:29:16 +0100 |
commit | decc9a9f0399d7613017db747732d251fe129236 (patch) | |
tree | 7d2b74f280a9f84f9b5605b80ae32f3e9ecba4b2 /src | |
parent | ef332d2a265ab86a6ec415be61b7896a83068bca (diff) | |
download | scala-decc9a9f0399d7613017db747732d251fe129236.tar.gz scala-decc9a9f0399d7613017db747732d251fe129236.tar.bz2 scala-decc9a9f0399d7613017db747732d251fe129236.zip |
SI-6979 Small optimization in lub
If a member of `lubBase` is final, it cannot be
refined in the types we're lubbing.
Diffstat (limited to 'src')
-rw-r--r-- | src/reflect/scala/reflect/internal/Types.scala | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/Types.scala b/src/reflect/scala/reflect/internal/Types.scala index 9d0d38913c..1ef983c1c9 100644 --- a/src/reflect/scala/reflect/internal/Types.scala +++ b/src/reflect/scala/reflect/internal/Types.scala @@ -6437,6 +6437,7 @@ trait Types extends api.Types { self: SymbolTable => || sym.isConstructor || !sym.isPublic || isGetClass(sym) + || sym.isFinal || narrowts.exists(t => !refines(t, sym)) ) def lubsym(proto: Symbol): Symbol = { |