title: Why asInstanceOf doesn't initiate implicit conversion?
body: <p>I have a case class with a companion object.
  I have implicit conversion method inside the companion object.</p>
  
  <pre><code>case class Foo(p:T)
  
  object Foo {
    implicit def Foo2Bar(foo: Foo): Bar = new Bar(doSmth(foo.p))
  }
  </code></pre>
  
  <p>I have a method with a param of type <code>Object</code>. I want to pass an instance of <code>Bar</code> there.
  Unfortunatelly, the following code doesn't do the conversion but throws <code>ClassCastException</code>:</p>
  
  <pre><code>import Foo._
  ...
  val foo = createFoo()
  bazz(foo.asInstanceOf[Bar])
  </code></pre>
  
  <p>At the same time, the next (more verbose) code do the job:</p>
  
  <pre><code>import Foo._
  ...
  val foo = createFoo()
  val bar: Bar = foo 
  bazz(bar)
  </code></pre>
  
  <p>Any ideas why the former code doesn't work?</p>