Files
Nim/compiler
ringabout d44b0b1869 fixes #22597; avoid side effects for call returning openArray types (#23257)
fixes #22597

```nim
proc autoToOpenArray*[T](s: Slice[T]): openArray[T] =
  echo "here twice"
  result = toOpenArray(s.p, s.first, s.last)
```
For functions returning openarray types, `fixupCall` creates a temporary
variable to store the return value: `let tmp = autoToOpenArray()`. But
`genOpenArrayConv` cannot handle openarray assignements with side
effects. It should have stored the right part of the assignment first
instead of calling the right part twice.
2024-01-26 06:06:08 +01:00
..
2023-12-13 10:29:58 +01:00
2023-12-15 10:20:57 +01:00
2023-12-13 10:29:58 +01:00
2023-12-17 18:43:52 +01:00
2023-12-25 07:12:54 +01:00
2022-09-27 10:57:47 +02:00
2023-12-15 10:20:57 +01:00
2023-12-15 10:20:57 +01:00
2023-12-15 10:20:57 +01:00
2023-12-15 10:20:57 +01:00
2017-01-07 22:35:09 +01:00
2023-12-15 10:20:57 +01:00
2023-12-17 18:43:52 +01:00
2023-12-15 10:20:57 +01:00
2023-12-13 10:29:58 +01:00
2023-11-04 17:46:59 +08:00
2021-01-12 09:36:51 +01:00
2022-03-23 20:34:53 +01:00
2023-12-17 18:43:52 +01:00
2023-12-25 07:12:54 +01:00
2023-07-02 22:36:05 +02:00
2023-11-06 18:33:28 +01:00
2023-12-17 18:43:52 +01:00
2023-12-17 18:43:52 +01:00
2023-12-15 10:20:57 +01:00
2023-12-13 10:29:58 +01:00
2023-12-02 05:28:24 +01:00
2023-12-12 16:54:50 +01:00
2023-12-15 10:20:57 +01:00
2023-12-15 10:20:57 +01:00
2023-12-17 18:43:52 +01:00
2023-12-25 07:12:54 +01:00

Nim Compiler

  • This directory contains the Nim compiler written in Nim.
  • Note that this code has been translated from a bootstrapping version written in Pascal.
  • So the code is not a poster child of good Nim code.

See Internals of the Nim Compiler for more information.