Add system.$(HSlice) and fix #7898 (#8670)

* Add system.$(HSlice) and fix #7898

* Surround system.$(HSlice) with spaces
This commit is contained in:
hlaaf 2018-12-21 20:10:07 +03:00 • committed by Andreas Rumpf
commit da80992577

View file

@ -2656,7 +2656,7 @@ proc `$`*[T: tuple|object](x: T): string =
## of `x`. Example: ## of `x`. Example:
## ##
## .. code-block:: nim ## .. code-block:: nim
## $(23, 45) == "(23, 45)" ## $(23, 45) == "(Field0: 23, Field1: 45)"
## $() == "()" ## $() == "()"
result = "(" result = "("
var firstElement = true var firstElement = true
@ -2711,6 +2711,16 @@ proc `$`*[T](x: seq[T]): string =
## $(@[23, 45]) == "@[23, 45]" ## $(@[23, 45]) == "@[23, 45]"
collectionToString(x, "@[", ", ", "]") collectionToString(x, "@[", ", ", "]")
proc `$`*[T, U](x: HSlice[T, U]): string =
## generic ``$`` operator for slices that is lifted from the components
## of `x`. Example:
##
## .. code-block:: nim
## $(1 .. 5) == "1 .. 5"
result = $x.a
result.add(" .. ")
result.add($x.b)
# ----------------- GC interface --------------------------------------------- # ----------------- GC interface ---------------------------------------------
when not defined(nimscript) and hasAlloc: when not defined(nimscript) and hasAlloc: