deprecate unsafeAddr; extend addr (#19373)

* 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>
This commit is contained in:
flywind 2022-01-16 18:08:38 +08:00 • committed by GitHub
commit d102b2f54c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 69 additions and 66 deletions

View file

@ -4,7 +4,7 @@ block:
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].unsafeAddr)[0 ..< txt.len] ==
doAssert $cast[ptr uint8](txt[0].addr)[0 ..< txt.len] ==
"[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]"
@ -14,5 +14,5 @@ block:
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].unsafeAddr)[0 ..< txt.len] ==
doAssert $cast[ptr uint8](txt[0].addr)[0 ..< txt.len] ==
"[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]"

View file

@ -42,7 +42,7 @@ proc `^`(x: vfloat, exp: static[float]): vfloat =
pow(x, exp)
proc `$`(x: vfloat): string =
let y = cast[ptr float](unsafeAddr x)
let y = cast[ptr float](addr x)
# xxx not sure if intentional in this issue, but this returns ""
echo y[]