Skip to content

Commit

Permalink
Silence several Hint[Performance] warnings (#23003)
Browse files Browse the repository at this point in the history
With `--mm:arc` one gets the "implicit copy; if possible, rearrange your
program's control flow" `Performance` warnings without these `move`s.
  • Loading branch information
c-blake authored Nov 29, 2023
1 parent 96513b2 commit beeacc8
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 6 deletions.
2 changes: 1 addition & 1 deletion lib/pure/httpclient.nim
Original file line number Diff line number Diff line change
Expand Up @@ -1232,7 +1232,7 @@ proc responseContent(resp: Response | AsyncResponse): Future[string] {.multisync
## A `HttpRequestError` will be raised if the server responds with a
## client error (status code 4xx) or a server error (status code 5xx).
if resp.code.is4xx or resp.code.is5xx:
raise newException(HttpRequestError, resp.status)
raise newException(HttpRequestError, resp.status.move)
else:
return await resp.bodyStream.readAll()

Expand Down
3 changes: 1 addition & 2 deletions lib/pure/httpcore.nim
Original file line number Diff line number Diff line change
Expand Up @@ -234,10 +234,9 @@ func parseList(line: string, list: var seq[string], start: int): int =
while start+i < line.len and line[start + i] notin {'\c', '\l'}:
i += line.skipWhitespace(start + i)
i += line.parseUntil(current, {'\c', '\l', ','}, start + i)
list.add(current)
list.add(move current) # implicit current.setLen(0)
if start+i < line.len and line[start + i] == ',':
i.inc # Skip ,
current.setLen(0)

func parseHeader*(line: string): tuple[key: string, value: seq[string]] =
## Parses a single raw header HTTP line into key value pairs.
Expand Down
4 changes: 2 additions & 2 deletions lib/pure/parsecfg.nim
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ proc getKeyValPair(c: var CfgParser, kind: CfgEventKind): CfgEvent =
if c.tok.kind == tkSymbol:
case kind
of cfgOption, cfgKeyValuePair:
result = CfgEvent(kind: kind, key: c.tok.literal, value: "")
result = CfgEvent(kind: kind, key: c.tok.literal.move, value: "")
else: discard
rawGetTok(c, c.tok)
if c.tok.kind in {tkEquals, tkColon}:
Expand Down Expand Up @@ -481,7 +481,7 @@ proc next*(c: var CfgParser): CfgEvent {.rtl, extern: "npc$1".} =
of tkBracketLe:
rawGetTok(c, c.tok)
if c.tok.kind == tkSymbol:
result = CfgEvent(kind: cfgSectionStart, section: c.tok.literal)
result = CfgEvent(kind: cfgSectionStart, section: c.tok.literal.move)
else:
result = CfgEvent(kind: cfgError,
msg: errorStr(c, "symbol expected, but found: " & c.tok.literal))
Expand Down
2 changes: 1 addition & 1 deletion lib/std/cmdline.nim
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ proc parseCmdLine*(c: string): seq[string] {.
while i < c.len and c[i] > ' ':
add(a, c[i])
inc(i)
add(result, a)
add(result, move a)

when defined(nimdoc):
# Common forward declaration docstring block for parameter retrieval procs.
Expand Down

0 comments on commit beeacc8

Please sign in to comment.