Thread overview | |||||
---|---|---|---|---|---|
|
May 02, 2018 Concatenate strings at compile-time | ||||
---|---|---|---|---|
| ||||
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? |
May 03, 2018 Re: Concatenate strings at compile-time | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M. Wilbur | On 03/05/2018 12:38 AM, 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?
All strings are immutable.
But can they be enum?
|
May 02, 2018 Re: Concatenate strings at compile-time | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M. Wilbur | 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.
|
Copyright © 1999-2021 by the D Language Foundation