followup #16714: add -d:nimLegacyUnarySlice + changelog (#17794)

This commit is contained in:
Timothee Cour
2021-04-20 00:25:28 -07:00
committed by GitHub
parent 68e7ed9c57
commit 4742e6e1fd
2 changed files with 13 additions and 0 deletions

View File

@@ -54,6 +54,9 @@
- `hashes.hash(proc|ptr|ref|pointer)` now calls `hash(int)` and honors `-d:nimIntHash1`,
`hashes.hash(closure)` has also been improved.
- The unary slice `..b` was removed, use `0..b` instead or use `-d:nimLegacyUnarySlice`
for a deprecation period.
## Standard library additions and changes
- Added support for parenthesized expressions in `strformat`

View File

@@ -510,6 +510,16 @@ proc `..`*[T, U](a: sink T, b: sink U): HSlice[T, U] {.noSideEffect, inline, mag
## echo a[2 .. 3] # @[30, 40]
result = HSlice[T, U](a: a, b: b)
when defined(nimLegacyUnarySlice):
proc `..`*[T](b: sink T): HSlice[int, T]
{.noSideEffect, inline, magic: "DotDot", deprecated: "replace `..b` with `0..b`".} =
## Unary `slice`:idx: operator that constructs an interval `[default(int), b]`.
##
## .. code-block:: Nim
## let a = [10, 20, 30, 40, 50]
## echo a[.. 2] # @[10, 20, 30]
result = HSlice[int, T](a: 0, b: b)
when defined(hotCodeReloading):
{.pragma: hcrInline, inline.}
else: