On Sunday, 16 May 2021 at 07:20:52 UTC, Chris Piker wrote:
On Saturday, 15 May 2021 at 14:05:34 UTC, Paul Backus wrote:
If you post your code (or at least a self-contained subset of
it) someone can probably help you figure out where you're
running into trouble. The error messages by themselves do not
provide enough information--all I can say from them is, "you
must be doing something wrong."
I just tacked on `.array` in the the unittest and moved on for
now, but for those who may be interested in the "equivalent but
not equivalent" dmd error message mentioned above, the code is
up on github. To trigger the error message:
```bash
git clone g...@github.com:das-developers/das2D.git
cd das2D
rdmd -unittest --main das2/range.d # This works
```
In file `das2/range.d`, comment out lines 550 & 553 and
uncomment lines 557 & 558 to get alternate definitions of
`coarse_recs` and `fine_recs` then run rdmd again:
```bash
rdmd -unittest --main das2/range.d # No longer works
```
In addition to the issue mentioned above, comments on any style
issues, best practices or design choices are invited. By the
way the writeln calls in the unittests just temporary.
Essentially, `dr_fine` and `dr_coarse` are different types. For
example:
```bash
echo 'import std; void main() { auto a = [a,"test"]; }' | dmd
-run - # your error
```
Another example:
```d
auto r = [iota(1,10).map!(a => a.to!int),iota(1,10).map!(a =>
a.to!int)]; # compile error
```
Using ```.array``` on both of the elements of r will compile.
Thanks,
Jordan