//> using options -nowarn
//
object Test {
  def main(args: Array[String]): Unit = {
    // these should give unboxed results
    println(().getClass)
    println(5.getClass)
  	// these should give boxed results
    println(().asInstanceOf[AnyRef with Unit].getClass)
    println(().asInstanceOf[Unit with AnyRef].getClass)
    println(5.asInstanceOf[AnyRef with Int].getClass)
    println(5.asInstanceOf[Int with AnyRef].getClass)
    //make sure ## wasn't broken
    println(5.##)
    println((5.asInstanceOf[AnyRef]).##)
    println((5:Any).##)
  }
}
