On Tuesday, 11 January 2022 at 17:55:28 UTC, H. S. Teoh wrote:
[snip]

One minor usability issue I found just glancing over the code: many of your methods take char[] as argument. Generally, you want const(char)[] instead, so that it will work with both char[] and immutable(char)[]. No reason why you can't copy some immutable chars into a FixedString, for example.

they should all already be `in char[]`? i've added a test to confirm it works with both `char[]` and `immutable(char)[]` and it compiles fine.

[snip]
Another issue is the way concatenation is implemented. Since FixedStrings have compile-time size, this potentially means every time you concatenate a string in your code you get another instantiation of FixedString. This can lead to a LOT of template bloat if you're not careful, which may quickly outweigh any benefits you may have gained from not using the built-in strings.

oh dear, that doesn't sound good. i hadn't considered that at all. i'm not sure how to even begin going about fixing that...

Reply via email to