mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user