Merge branch 'devel' into underscore-tuple-unpack
Conflicts: compiler/semstmts.nim
This commit is contained in:
commit
9e69e4e078
171 changed files with 6910 additions and 5403 deletions
|
|
@ -2,6 +2,12 @@
|
|||
|
||||
discard """
|
||||
output: '''35
|
||||
true
|
||||
true
|
||||
4
|
||||
true
|
||||
1
|
||||
false
|
||||
77
|
||||
(Field0: 1, Field1: 2, Field2: 2)
|
||||
ha
|
||||
|
|
@ -9,11 +15,26 @@ true
|
|||
tester args
|
||||
all
|
||||
all args
|
||||
19
|
||||
-3
|
||||
false
|
||||
-2
|
||||
'''
|
||||
"""
|
||||
|
||||
echo 2+5 * 5
|
||||
|
||||
# Keyword operators
|
||||
echo 1 + 16 shl 1 == 1 + (16 shl 1)
|
||||
echo 2 and 1 in {0, 30}
|
||||
echo 2+2 * 2 shr 1
|
||||
echo false or 2 and 1 in {0, 30}
|
||||
|
||||
proc `^`(a, b: int): int = a + b div 2
|
||||
echo 19 mod 16 ^ 4 + 2 and 1
|
||||
echo 18 mod 16 ^ 4 > 0
|
||||
|
||||
# echo $foo gotcha
|
||||
let foo = 77
|
||||
echo $foo
|
||||
|
||||
|
|
@ -27,7 +48,7 @@ when true:
|
|||
let b = 66
|
||||
let c = 90
|
||||
let bar = 8000
|
||||
if foo+4 * 4 == 8 and b&c | 9 ++
|
||||
if foo+4 * 4 == 8 and b&c | 9 ++
|
||||
bar:
|
||||
echo "ho"
|
||||
else:
|
||||
|
|
@ -50,3 +71,13 @@ const
|
|||
echo tester & " " & args|"all"
|
||||
echo "all" | tester & " " & args
|
||||
echo "all"|tester & " " & args
|
||||
|
||||
# Test arrow like operators. See also tests/macros/tclosuremacro.nim
|
||||
proc `+->`(a, b: int): int = a + b*4
|
||||
template `===>`(a, b: int): expr = a - b shr 1
|
||||
|
||||
echo 3 +-> 2 + 2 and 4
|
||||
var arrowed = 3+->2 + 2 and 4 # arrowed = 4
|
||||
echo arrowed ===> 15
|
||||
echo (2 * 3+->2) == (2*3 +-> 2)
|
||||
echo arrowed ===> 2 + 3+->2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue