Можно ли ограничить Int, создав что-то вроде PositiveInt и проверив время компиляции в Scala?

Можно ли создать ограниченный Int, такой как PositiveInt, и иметь во время компиляции проверяет это? Другими словами, можно ли определить такой метод, как:

def myMethod(x: PositiveInt) = x + 1

, а затем иметь что-то вроде:

myMethod(-5) // does not compile
myMethod(0)  // does not compile
myMethod(5)  // compiles

Если это возможно, как мне начать с определения PositiveInt, я имею в виду, есть ли удобный метод для этого в Scala?

18
задан Emre Sevinç 6 October 2011 в 12:45
поделиться