fixes #287; bugfix: subrange checking is performed again
This commit is contained in:
parent
f5db2de696
commit
3cb3813eed
14 changed files with 147 additions and 32 deletions
19
tests/compile/tmatrix1.nim
Normal file
19
tests/compile/tmatrix1.nim
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
discard """
|
||||
output: "right proc called"
|
||||
"""
|
||||
|
||||
type
|
||||
TMatrixNM*[M, N, T] = object
|
||||
aij*: array[M, array[N, T]]
|
||||
TMatrix2x2*[T] = TMatrixNM[range[0..1], range[0..1], T]
|
||||
TMatrix3x3*[T] = TMatrixNM[range[0..2], range[0..2], T]
|
||||
|
||||
proc test*[T] (matrix: TMatrix2x2[T]) =
|
||||
echo "wrong proc called"
|
||||
|
||||
proc test*[T] (matrix: TMatrix3x3[T]) =
|
||||
echo "right proc called"
|
||||
|
||||
var matrix: TMatrix3x3[float]
|
||||
|
||||
matrix.test
|
||||
21
tests/reject/tsubrange.nim
Normal file
21
tests/reject/tsubrange.nim
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
discard """
|
||||
line: 20
|
||||
errormsg: "cannot convert 60 to TRange"
|
||||
"""
|
||||
|
||||
type
|
||||
TRange = range[0..40]
|
||||
|
||||
proc p(r: TRange) =
|
||||
nil
|
||||
|
||||
var
|
||||
r: TRange
|
||||
y = 50
|
||||
r = y
|
||||
|
||||
p y
|
||||
|
||||
const
|
||||
myConst: TRange = 60
|
||||
|
||||
19
tests/run/tsubrange.nim
Normal file
19
tests/run/tsubrange.nim
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
discard """
|
||||
file: "tsubrange.nim"
|
||||
outputsub: "value 50 out of range [EOutOfRange]"
|
||||
exitcode: "1"
|
||||
"""
|
||||
|
||||
type
|
||||
TRange = range[0..40]
|
||||
|
||||
proc p(r: TRange) =
|
||||
nil
|
||||
|
||||
var
|
||||
r: TRange
|
||||
y = 50
|
||||
r = y
|
||||
|
||||
#p y
|
||||
|
||||
17
tests/run/tsubrange2.nim
Normal file
17
tests/run/tsubrange2.nim
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
discard """
|
||||
file: "tsubrange2.nim"
|
||||
outputsub: "value 50 out of range [EOutOfRange]"
|
||||
exitcode: "1"
|
||||
"""
|
||||
|
||||
type
|
||||
TRange = range[0..40]
|
||||
|
||||
proc p(r: TRange) =
|
||||
nil
|
||||
|
||||
var
|
||||
r: TRange
|
||||
y = 50
|
||||
p y
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue