How to test a value on being AnyVal?
scala
Solution
I assume you want to test if something is a primitive value:
def testAnyVal[T](x: T)(implicit evidence: T <:< AnyVal = null) = evidence != null
println(testAnyVal(1)) // true
println(testAnyVal("Hallo")) // false
println(testAnyVal(true)) // true
println(testAnyVal(Boolean.box(true))) // false
Problem
Tried this: ``` scala> 2.isInstanceOf[AnyVal] <console>:8: error: type AnyVal cannot be used in a type pattern or isInstanceOf test 2.isInstanceOf[AnyVal] ^ ``` and this: ``` scala> 12312 match { | case _: AnyVal => true | case _ => false | } <console>:9: error: type AnyVal cannot be used in a type pattern or isInstanceOf test case _: AnyVal => true ^ ``` The message is very informative. I get that I can't use it, but what should I do?