summary refs log tree commit diff stats
path: root/tests/borrow
diff options
context:
space:
mode:
authormetagn <metagngn@gmail.com>2023-06-06 07:54:07 +0300
committerGitHub <noreply@github.com>2023-06-06 06:54:07 +0200
commitb97d603cd00a210547bda1a2a1c3e09f97fcc49e (patch)
tree080b4ad7b5826b88a9483c6a0e4d697096f12cc1 /tests/borrow
parent2ab948ce53e3d9b80bf9b02644c8ec8991f34d0a (diff)
downloadNim-b97d603cd00a210547bda1a2a1c3e09f97fcc49e.tar.gz
some test cleanups & category reorganization (#22010)
* clean up some test categories

* mention exact slice issue

* magics into system

* move trangechecks into overflow

* move tmemory to system

* try fix CI

* try fix CI

* final CI fix
Diffstat (limited to 'tests/borrow')
-rw-r--r--tests/borrow/tborrow.nim91
-rw-r--r--tests/borrow/tinvalidborrow.nim25
-rw-r--r--tests/borrow/typeclassborrow.nim48
3 files changed, 0 insertions, 164 deletions
diff --git a/tests/borrow/tborrow.nim b/tests/borrow/tborrow.nim
deleted file mode 100644
index 35652e2e0..000000000
--- a/tests/borrow/tborrow.nim
+++ /dev/null
@@ -1,91 +0,0 @@
-discard """
-  output: '''4887 true
-0.5'''
-"""
-
-# test the new borrow feature that works with generics:
-
-proc `++`*[T: int | float](a, b: T): T =
-  result = a + b
-
-type
-  DI = distinct int
-  DF = distinct float
-  DS = distinct string
-
-proc `++`(x, y: DI): DI {.borrow.}
-proc `++`(x, y: DF): DF {.borrow.}
-
-proc `$`(x: DI): string {.borrow.}
-proc `$`(x: DF): string {.borrow.}
-
-echo  4544.DI ++ 343.DI, " ", (4.5.DF ++ 0.5.DF).float == 5.0
-
-# issue #14440
-
-type Radians = distinct float64
-
-func `-=`(a: var Radians, b: Radians) {.borrow.}
-
-var a = Radians(1.5)
-let b = Radians(1.0)
-
-a -= b
-
-echo a.float64
-
-block: #14449
-  type 
-    Foo[T] = object
-      foo: T
-
-    Bar[T] {.borrow:`.`.} = distinct Foo[T]
-    SomeThing {.borrow:`.`.} = distinct Foo[float]
-    OtherThing {.borrow:`.`.} = distinct SomeThing
-
-  var
-    a: Bar[int]
-    b: SomeThing
-    c: OtherThing
-  a.foo = 300
-  b.foo = 400
-  c.foo = 42
-  assert a.foo == 300
-  assert b.foo == 400d
-  assert c.foo == 42d
-
-block: # Borrow from muliple aliasses #16666
-  type
-    AImpl = object
-      i: int
-    
-    A = AImpl
-  
-    B {.borrow: `.`.} = distinct A
-    C = B
-    D {.borrow: `.`.} = distinct C
-    E {.borrow: `.`.} = distinct D
-  
-  let
-    b = default(B)
-    d = default(D)
-    e = default(E)
-  
-  assert b.i == 0
-  assert d.i == 0
-  assert e.i == 0
-
-block: # Borrow from generic alias
-  type
-    AImpl[T] = object
-      i: T
-    B[T] = AImpl[T]
-    C {.borrow: `.`.} = distinct B[int]
-    D = B[float]
-    E {.borrow: `.`.} = distinct D
-
-  let
-    c = default(C)
-    e = default(E)
-  assert c.i == int(0)
-  assert e.i == 0d
\ No newline at end of file
diff --git a/tests/borrow/tinvalidborrow.nim b/tests/borrow/tinvalidborrow.nim
deleted file mode 100644
index 08148608d..000000000
--- a/tests/borrow/tinvalidborrow.nim
+++ /dev/null
@@ -1,25 +0,0 @@
-discard """
-  cmd: "nim check --hints:off --warnings:off $file"
-  action: "reject"
-  nimout:'''
-tinvalidborrow.nim(18, 3) Error: only a 'distinct' type can borrow `.`
-tinvalidborrow.nim(19, 3) Error: only a 'distinct' type can borrow `.`
-tinvalidborrow.nim(20, 1) Error: no symbol to borrow from found
-'''
-"""
-
-# bug #516
-
-type
-  TAtom = culong
-  Test {.borrow:`.`.} = distinct int
-  Foo[T] = object
-    a: int
-  Bar[T] {.borrow:`.`.} = Foo[T]
-  OtherFoo {.borrow:`.`.} = Foo[int]
-proc `==`*(a, b: TAtom): bool {.borrow.}
-
-var
-  d, e: TAtom
-
-discard( $(d == e) )
diff --git a/tests/borrow/typeclassborrow.nim b/tests/borrow/typeclassborrow.nim
deleted file mode 100644
index ee0b07829..000000000
--- a/tests/borrow/typeclassborrow.nim
+++ /dev/null
@@ -1,48 +0,0 @@
-type
-  Foo = distinct seq[int]
-  Bar[N: static[int]] = distinct seq[int]
-  Baz = distinct Bar[10]
-
-proc newSeq(s: var Foo, n: Natural) {.borrow.}
-proc newSeq(s: var Bar, n: Natural) {.borrow.}
-proc newSeq(s: var Baz, n: Natural) {.borrow.}
-
-
-proc `$`(s: Foo): string {.borrow.}
-proc `$`(s: Bar): string {.borrow.}
-proc `$`(s: Baz): string {.borrow.}
-
-proc doThing(b: Bar) = discard
-proc doThing(b: Baz) {.borrow.}
-
-var
-  foo: Foo
-  bar: Bar[10]
-  baz: Baz
-
-newSeq(foo, 100)
-newSeq(bar, bar.N)
-newSeq(baz, 10)
-
-bar.doThing()
-baz.doThing()
-
-assert $seq[int](foo) == $foo
-assert $seq[int](bar) == $bar
-assert $seq[int](baz) == $baz
-
-type
-  Fine* = distinct string
-
-proc `==`*(x, y: Fine): bool {.borrow.} =
-  ## Here is the documentation
-  runnableExamples:
-    var x = Fine("1234")
-    var y = Fine("1234")
-    doAssert x == y
-  doAssert false
-
-
-var x = Fine("1234")
-var y = Fine("1234")
-doAssert x == y