top | item 45273510 (no title) renox | 5 months ago D (as always) is clever: the operator is ~ So no confusion between addition and concatenation and you can keep | for or. discuss order hn newest Defletter|5 months ago Question, does that work with other types? Say you have two u16 values, can you concatenate them together with ~ into a u32 without any shifting? nicwilson|5 months ago It works with arrays (both fixed size, and dynamically sized) and arrays; between arrays and elements; but not between two scalar types that don't overload opBinary!"~", so no it won't work between two `ushorts` to produce a `uint` renox|5 months ago No, it doesn't. But I'm not sure that this matter, a sufficiently "smart" compiler understand that this is the same thing.
Defletter|5 months ago Question, does that work with other types? Say you have two u16 values, can you concatenate them together with ~ into a u32 without any shifting? nicwilson|5 months ago It works with arrays (both fixed size, and dynamically sized) and arrays; between arrays and elements; but not between two scalar types that don't overload opBinary!"~", so no it won't work between two `ushorts` to produce a `uint` renox|5 months ago No, it doesn't. But I'm not sure that this matter, a sufficiently "smart" compiler understand that this is the same thing.
nicwilson|5 months ago It works with arrays (both fixed size, and dynamically sized) and arrays; between arrays and elements; but not between two scalar types that don't overload opBinary!"~", so no it won't work between two `ushorts` to produce a `uint`
renox|5 months ago No, it doesn't. But I'm not sure that this matter, a sufficiently "smart" compiler understand that this is the same thing.
Defletter|5 months ago
nicwilson|5 months ago
renox|5 months ago