On Thursday, 9 January 2025 at 22:01:59 UTC, WhatMeWorry wrote:
produces: n = Node(Location(0, 0), 33) when I expected n = Node(Location(1, 2), 33)
This is a simple typo (it shouldn't be 1 letter) but the code should be made smarter thanks to the capabilities of D. No more fear of writing like C and getting lost like C++. For example:
```d struct Location { int x, y; auto opBinary(string op = "*")(uint m) { x *= m; y *= m; return this; } } import std.stdio; void main() { auto loca = Location(1, 2); auto node = Node(loca, 33); node.writefln!"n = %s"; } struct Node { uint multiplier; Location location; this(Location location, uint multiplier) { this.location = location * multiplier; this.multiplier = multiplier; } } ``` SDB@79