import std.range : front; auto xs = ["a", "b"]; auto ys = ["c", "d"]; auto labels = ["e", "f"]; auto aes = Aes!(string[], "x", string[], "y", string[], "label")(xs, ys, labels); auto nlAes = merge(aes, Aes!(NumericLabel!(string[]), "x", NumericLabel!(string[]), "y")(NumericLabel!(string[])(aes.x), NumericLabel!(string[])(aes.y))); assertEqual(nlAes.x.front[0], 0); assertEqual(nlAes.label.front, "e");
Merge two Aes structs
If it has similar named types, then it uses the second one.
Returns a new struct, with combined types.