Skip to content

Commit 45aba5c

Browse files
committed
Address review comments
1 parent cea08f8 commit 45aba5c

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

compiler/src/dotty/tools/dotc/typer/TypeAssigner.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,15 @@ trait TypeAssigner {
5353
def addRefinement(parent: Type, decl: Symbol) = {
5454
val inherited =
5555
parentType.findMember(decl.name, cls.thisType,
56-
required = EmptyFlags, excluded = Private)
57-
.suchThat(decl.matches(_))
56+
required = EmptyFlags, excluded = Private
57+
).suchThat(decl.matches(_))
5858
val inheritedInfo = inherited.info
5959
val isPolyFunctionApply = decl.name == nme.apply && (parent <:< defn.PolyFunctionType)
6060
if isPolyFunctionApply
6161
|| inheritedInfo.exists
62+
&& !decl.isClass
6263
&& decl.info.widenExpr <:< inheritedInfo.widenExpr
6364
&& !(inheritedInfo.widenExpr <:< decl.info.widenExpr)
64-
&& !decl.isClass
6565
then
6666
val r = RefinedType(parent, decl.name, decl.info)
6767
typr.println(i"add ref $parent $decl --> " + r)

tests/pos/i7383.scala

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@ trait ZSink {
33
type State
44

55
def foo: ZSink =
6-
class Anon extends ZSink
6+
class Anon extends ZSink {
77
case class State(x: Int)
8+
}
89
new Anon
9-
// new ZSink {
10-
// case class State(x: Int)
11-
// }
10+
11+
def foo2: ZSink =
12+
new ZSink {
13+
case class State(x: Int)
14+
}
1215
}

0 commit comments

Comments
 (0)