unary slices get a deprecation period (#18549)

This commit is contained in:
Andreas Rumpf
2021-07-21 09:46:18 +02:00
committed by GitHub
parent b6f9f7a33e
commit 9c2442af94
2 changed files with 9 additions and 11 deletions

View File

@@ -63,8 +63,7 @@
- `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.
- The unary slice `..b` was deprecated, use `0..b` instead.
- Removed `.travis.yml`, `appveyor.yml.disabled`, `.github/workflows/ci.yml.disabled`.

View File

@@ -511,15 +511,14 @@ 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)
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.}