deprecate ranges (#31)
Without lifetime tracking, ranges pose a number of issues with regards to memory safety - use openArray instead which is limited but safe. In its present form, ranges take a copy of whatever is passed to them which obscures the copies that they take, leading to misleading and slow code. If openArray is not applicable, simply do a seq copy - it's fine and really doesn't matter in 95% of all cases, then profile and use other techniques where needed.
This commit is contained in:
parent
720f1a254d
commit
638e7acc8e
|
@ -1,3 +1,5 @@
|
|||
{.deprecated: "unattractive memory unsafety - use openArray and other techniques instead".}
|
||||
|
||||
import
|
||||
ranges/memranges,
|
||||
ranges/typedranges
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
{.deprecated: "unattractive memory unsafety - use openArray and other techniques instead".}
|
||||
|
||||
import
|
||||
ptr_arith
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
{.deprecated: "unattractive memory unsafety - use openArray and other techniques instead".}
|
||||
|
||||
import ../ptrops, typetraits, hashes
|
||||
|
||||
const rangesGCHoldEnabled = not defined(rangesDisableGCHold)
|
||||
|
|
Loading…
Reference in New Issue