title: can scala implicit convert from `Long` to `AnyRef`
body: <pre><code>def testLong(v: Any): Unit = {             
    println(v.getClass)  // print: class java.lang.Long
  }
  testLong(103L)   // compile passed
  </code></pre>
  
  <p>from last snippet, it shows that the variable <code>v</code> is <code>class java.lang.Long</code>.And it's a subclass of <code>java.lang.Object</code>.</p>
  
  <p>We also know from the scala <a href="https://docs.scala-lang.org/tour/unified-types.html" rel="nofollow noreferrer">Unified types</a> system the <code>AnyRef</code> is equals to <code>java.lang.Object</code> type. But why it compile failed as follows:</p>
  
  <pre><code>def testLong(v: AnyRef): Unit = {             
    println(v.getClass)  
  }
  testLong(103L)   // compile failed
  </code></pre>