title: overloading case class constructor with implicit parameter?
body: <p>I am trying to define a case class with some params that have a default value, but the default value requires an implicit parameter. I've tried something like this:</p>
  
  <pre><code>case class ChannelLatches(started: TestLatch, stopped: TestLatch)(implicit system: ActorSystem) {
    def this()(implicit system: ActorSystem) = this(new TestLatch(), new TestLatch())(system)
  }
  </code></pre>
  
  <p>and this:</p>
  
  <pre><code>case class ChannelLatches(started: TestLatch, stopped: TestLatch)(implicit system: ActorSystem) {
     def this()(implicit system: ActorSystem) = this(new TestLatch(), new TestLatch())(system)
  }
  </code></pre>
  
  <p>but in both cases, the compiler does not recognize my new constructor.  Any pointers?</p>