aboutsummaryrefslogblamecommitdiff
path: root/tests/run/impconvtimes.scala
blob: 0dbbf7bca4c2abece1378613ebfc049844c61f15 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                             
                                                             






                                                   
import scala.language.implicitConversions

object Test {
  abstract class Unit
  object NoUnit extends Unit
  object Hour extends Unit { override def toString = "Hour" }

  case class Measure(scalar: Double, unit: Unit) {
    def *(newUnit: Unit) = Measure(scalar, newUnit)
  }

  implicit def double2Measure(scalar: Double): Test.Measure =
    Measure(scalar, NoUnit)


  def main(args: Array[String]): scala.Unit = {
    Console.println("3.0 * Hour = " + (3.0 * Hour))
  }
}