title: Can a method really be binary compatible with a class-object (scala)?
body: <p>The metrics-scala project got a <a href="https://github.com/erikvanoosten/metrics-scala/pull/365" rel="nofollow noreferrer">pull-request</a> that suggests to change:</p>
  <pre class="lang-scala prettyprint-override"><code>class Meter {
    def exceptionMarker: new AnyRef() {
      def apply[A](f: =&gt; A): A = ???
    }
  }
  </code></pre>
  <p>to the much nicer:</p>
  <pre class="lang-scala prettyprint-override"><code>class Meter {
    object exceptionMarker {    // only this line changed
      def apply[A](f: =&gt; A): A = ???
    }
  }
  </code></pre>
  <p>However, I am afraid this causes binary incompatibility. Of course I checked with  <a href="https://github.com/lightbend/mima" rel="nofollow noreferrer">Mima</a>. Mima does not complain.</p>
  <p>So my question is: is Mima right, and is the proposed change really binary compatible?</p>