Skip to content

Commit

Permalink
Revert "Introduce explicit copy (#15330)" (#15346)
Browse files Browse the repository at this point in the history
This reverts commit a3e9cc5.
  • Loading branch information
Araq authored Sep 16, 2020
1 parent d938c64 commit bc9967f
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 28 deletions.
2 changes: 1 addition & 1 deletion compiler/injectdestructors.nim
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ proc passCopyToSink(n: PNode; c: var Con; s: var Scope): PNode =
if isLValue(n) and not isCapturedVar(n) and n.typ.skipTypes(abstractInst).kind != tyRef and c.inSpawn == 0:
message(c.graph.config, n.info, hintPerformance,
("passing '$1' to a sink parameter introduces an implicit copy; " &
"if possible, rearrange your program's control flow to prevent it or use 'copy($1)' to hint the compiler it is intentional") % $n)
"if possible, rearrange your program's control flow to prevent it") % $n)
else:
if c.graph.config.selectedGC in {gcArc, gcOrc}:
assert(not containsGarbageCollectedRef(n.typ))
Expand Down
5 changes: 0 additions & 5 deletions lib/system.nim
Original file line number Diff line number Diff line change
Expand Up @@ -264,11 +264,6 @@ proc move*[T](x: var T): T {.magic: "Move", noSideEffect.} =
result = x
wasMoved(x)

func copy*[T](x: T): T {.inline.} =
## make explicit copy of the argument `x`, used to signal to the compiler
## the copy is intentional
result = x

type
range*[T]{.magic: "Range".} ## Generic type to construct range types.
array*[I, T]{.magic: "Array".} ## Generic type to construct
Expand Down
22 changes: 0 additions & 22 deletions tests/arc/tcopytosink_warning.nim

This file was deleted.

0 comments on commit bc9967f

Please sign in to comment.