diff options
author | Lukas Rytz <lukas.rytz@epfl.ch> | 2011-05-10 13:31:18 +0000 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@epfl.ch> | 2011-05-10 13:31:18 +0000 |
commit | a4d3c77616fffe7ce0b83dcfd929a33aed472773 (patch) | |
tree | 318a3f1bc8b0bc8761f4b6b9bfbcbf17e4498af3 | |
parent | 1a92fb60e6853fca4b4e5bd0d03f913c300100ae (diff) | |
download | scala-a4d3c77616fffe7ce0b83dcfd929a33aed472773.tar.gz scala-a4d3c77616fffe7ce0b83dcfd929a33aed472773.tar.bz2 scala-a4d3c77616fffe7ce0b83dcfd929a33aed472773.zip |
close #4441. no review
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Unapplies.scala | 2 | ||||
-rw-r--r-- | test/files/run/names-defaults.scala | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala b/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala index baf790eb50..67dd272d5a 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala @@ -192,7 +192,7 @@ trait Unapplies extends ast.TreeDSL val cparamss = constrParamss(cdef) val flat = cparamss flatten - if (flat.isEmpty || cdef.symbol.hasAbstractFlag || (flat exists isDisallowed)) None + if (cdef.symbol.hasAbstractFlag || (flat exists isDisallowed)) None else { val tparams = cdef.tparams map copyUntypedInvariant // the parameter types have to be exactly the same as the constructor's parameter types; so it's diff --git a/test/files/run/names-defaults.scala b/test/files/run/names-defaults.scala index 4a69842650..e1bc7cbf59 100644 --- a/test/files/run/names-defaults.scala +++ b/test/files/run/names-defaults.scala @@ -392,6 +392,11 @@ object Test extends App { } println(""+ t4041._1 +", "+ t4041._2) + // #4441 + case class C4441a() + case class C4441b()() + C4441a().copy() + C4441b()().copy()() // DEFINITIONS def test1(a: Int, b: String) = println(a +": "+ b) |