File tree 3 files changed +8
-3
lines changed
src/compiler/scala/tools/nsc/typechecker
3 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -2247,15 +2247,13 @@ trait Typers extends Adaptations with Tags with TypersTracking with PatternTyper
2247
2247
}
2248
2248
2249
2249
/** Analyze the super constructor call to record information used later to compute parameter aliases */
2250
- def analyzeSuperConstructor (meth : Symbol , vparamss : List [List [ValDef ]], rhs : Tree ): Unit = {
2250
+ def analyzeSuperConstructor (meth : Symbol , vparamss : List [List [ValDef ]], rhs : Tree ): Unit = if ( ! rhs.isErrorTyped) {
2251
2251
val clazz = meth.owner
2252
2252
debuglog(s " computing param aliases for $clazz: ${clazz.primaryConstructor.tpe}: $rhs" )
2253
2253
val pending = ListBuffer [AbsTypeError ]()
2254
2254
2255
2255
// !!! This method is redundant with other, less buggy ones.
2256
2256
def decompose (call : Tree ): (Tree , List [Tree ]) = call match {
2257
- case _ if call.isErrorTyped => // e.g. scala/bug#7636
2258
- (call, Nil )
2259
2257
case Apply (fn, args) =>
2260
2258
// an object cannot be allowed to pass a reference to itself to a superconstructor
2261
2259
// because of initialization issues; scala/bug#473, scala/bug#3913, scala/bug#6928.
Original file line number Diff line number Diff line change
1
+ t13014.scala:2: error: could not find implicit value for parameter blup: String
2
+ Error occurred in an application involving default arguments.
3
+ class D extends C(y = 1)
4
+ ^
5
+ 1 error
Original file line number Diff line number Diff line change
1
+ class C (x : Int = 0 , y : Int = 0 )(implicit blup : String )
2
+ class D extends C (y = 1 )
You can’t perform that action at this time.
0 commit comments