Use alias assignment in Repeat
Signed-off-by: Razvan Nitu <RazvanN7@users.noreply.github.com>
Merged-on-behalf-of: Razvan Nitu <RazvanN7@users.noreply.github.com>
Note that all of the code in preExecFunction must be async-signal-safe
Signed-off-by: Nicholas Wilson <thewilsonator@users.noreply.github.com>
Signed-off-by: Razvan Nitu <RazvanN7@users.noreply.github.com>
Merged-on-behalf-of: Razvan Nitu <RazvanN7@users.noreply.github.com>
By default `std.csv` will throw if there is an number of separators on a line
unequal to the number of separators of the first line.
To allow, or disallow, unequal numbers of separators a `bool` can be passed to
all overloads of the `csvReader` function as shown below.
```
string text = "76,26,22\n1,2\n3,4,5,6";
auto records = text.csvReader!int(',', '"', true);
assert(records.equal!equal([
[76, 26, 22],
[1, 2],
[3, 4, 5, 6]
]));
```
working in the comments from the PR
more review changes
one more round of review fixes
there is always one left
Previously, the assignment of the local variable 'newStorage' to the
longer-lived member variable 'storage' caused scope inference to
(correctly) fail.
newStorage was necessary to work around issues 21229 and 22118. Since
those issues have been fixed, newStorage can be safely removed.
Somehow, separating asm blocks in small pieces produces additional
`mov`s and other instructions on LDC that breaks the tanAsm logic and
therefore returns wrong values.
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
Fixes#22222.
`exit(0)` call from libc does an exit sequence before exit and therefore
doesn't exit immediately. This causes problems on custom unittest runners. To
circunvent this problem we should call `_exit()` syscall to exit immediately.
In this context this is just fine to do and can prevent any future frustration
when debugging.
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
Previously, SumType would define the wrong set of constructors for types
whose copyability varies depending on their mutability--a situation that
was impossible with postblits, but is now possible with copy
constructors.