mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 08:54:53 +00:00
* defaults to Orc * bootstrap using refc * use gc * init orc defines * unregister orc * fix gc * fix commands * add prepareMutation for orc * enable deepcopy for orc * prepareMutation * more fixes * some cases * bug #20081 * partial fixes * partial fixes * fixes command line * more fixes * build Nim with refc * use gc * more fixes * rstore * orc doesn't support threadpool * more shallowCopy * more fixes * fixes unsafeNew * workarounds * small * more fixes * fixes some megatest * tcodegenbugs1 refc * fxies megatest * build nimble with refc * workaround tensordsl tests * replace shallowCopy with move * fixes action * workaround * add todo * fixes important packages * unpublic unregisterArcOrc * fixes cpp * enable windows Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
30 lines
605 B
Nim
30 lines
605 B
Nim
discard """
|
|
matrix: "--mm:arc; --mm:refc"
|
|
errormsg: "got <ref Matrix[2, 2, system.float], ref Matrix[2, 1, system.float]>"
|
|
line: 28
|
|
"""
|
|
|
|
type
|
|
Matrix[M,N: static[int]; T: SomeFloat] = distinct array[0..(M*N - 1), T]
|
|
|
|
let a = new Matrix[2,2,float]
|
|
let b = new Matrix[2,1,float]
|
|
|
|
proc foo[M,N: static[int],T](a: ref Matrix[M, N, T], b: ref Matrix[M, N, T])=
|
|
discard
|
|
|
|
foo(a, a)
|
|
|
|
proc bar[M,N: static[int],T](a: ref Matrix[M, M, T], b: ref Matrix[M, N, T])=
|
|
discard
|
|
|
|
bar(a, b)
|
|
bar(a, a)
|
|
|
|
proc baz[M,N: static[int],T](a: ref Matrix[N, N, T], b: ref Matrix[M, N, T])=
|
|
discard
|
|
|
|
baz(a, a)
|
|
baz(a, b)
|
|
|