Concatenate strings at compile-time

Stefan Koch uplink.coder at googlemail.com
Wed May 2 12:49:35 UTC 2018


On Wednesday, 2 May 2018 at 12:38:25 UTC, Jonathan M. Wilbur 
wrote:
> I have a method that cannot be @nogc only because it 
> concatenates strings for a long exception message, as seen 
> below.
>
>             throw new ASN1ValuePaddingException
>             (
>                 "This exception was thrown because you 
> attempted to decode " ~
>                 "an INTEGER that was encoded on more than the 
> minimum " ~
>                 "necessary bytes. " ~
>                 notWhatYouMeantText ~ forMoreInformationText ~
>                 debugInformationText ~ reportBugsText
>             );
>
> Those variables you see are immutable. Is there a way that I 
> can combine these strings together at compile time, rather than 
> having a really long string that exceeds the 120 hard 
> line-length limit?

This will be concatenated at compiletime and there will be no 
runtime overhead iff those are static immutable or enum.


More information about the Digitalmars-d-learn mailing list