closes #10219; adds a test case (#23370)

closes #10219
This commit is contained in:
ringabout
2024-03-05 16:39:20 +08:00
committed by GitHub
parent e217bb24a1
commit d373d304ff

View File

@@ -39,3 +39,23 @@ proc asVector*[T](t: T): EnumVector[T] =
# N_NIMCALL(std::vector<> , asvector_106028_3197418230)(SomeEnum t0)
discard asVector(SomeEnum.A)
block: # bug #10219
type
Vector[T] {.importcpp: "std::vector", header: "vector".} = object
proc initVector[T](n: csize_t): Vector[T]
{.importcpp: "std::vector<'*0>(@)", header: "vector".}
proc unsafeIndex[T](this: var Vector[T], i: csize_t): var T
{.importcpp: "#[#]", header: "vector".}
proc `[]`[T](this: var Vector[T], i: Natural): var T {.inline, noinit.} =
when compileOption("boundChecks"):
# this.checkIndex i
discard
result = this.unsafeIndex(csize_t(i))
var v1 = initVector[int](10)
doAssert v1[0] == 0