* deprecate unsafeAddr; extend addr addr is now available for all addressable locations, unsafeAddr is deprecated and become an alias for addr * follow @Vindaar's advice * change the signature of addr * unsafeAddr => addr (stdlib) * Update changelog.md * unsafeAddr => addr (tests) * Revert "unsafeAddr => addr (stdlib)" This reverts commit ab83c99c507048a8396e636bf22d55fdd84d7d1c. * doc changes; thanks to @konsumlamm Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
18 lines
570 B
Nim
18 lines
570 B
Nim
block:
|
|
let txt = "Hello World"
|
|
|
|
template `[]`[T](p: ptr T, span: Slice[int]): untyped =
|
|
toOpenArray(cast[ptr array[0, T]](p)[], span.a, span.b)
|
|
|
|
doAssert $cast[ptr uint8](txt[0].addr)[0 ..< txt.len] ==
|
|
"[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]"
|
|
|
|
|
|
block:
|
|
let txt = "Hello World"
|
|
|
|
template `[]`[T](p: ptr T, span: Slice[int]): untyped =
|
|
toOpenArray(cast[ptr array[0, T]](p)[], span.a, span.b)
|
|
|
|
doAssert $cast[ptr uint8](txt[0].addr)[0 ..< txt.len] ==
|
|
"[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]"
|