Quais são as diferenças entre asInstanceOf [T] e (o: T) no Scala?

Vi que existem dois métodos para converter um objeto no Scala:

foo.asInstanceOf[Bar]
(foo: Bar)

Quando tentei, descobri queasInstanceOf não usa conversão implícita, enquanto o outro faz.

Quais são as diferenças de comportamento entre esses dois métodos? E onde é recomendado usar um sobre o outro?

questionAnswers(4)

yourAnswerToTheQuestion