Compile Time versus Run Time
Martin Tschierschke via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jul 31 09:20:24 PDT 2017
On Monday, 31 July 2017 at 15:57:28 UTC, Anonymouse wrote:
> On Monday, 31 July 2017 at 15:46:47 UTC, inevzxui wrote:
>> On Monday, 31 July 2017 at 15:43:21 UTC, Martin Tschierschke
>> wrote:
[...]
> But the parameters are not checked at compile-time unless you
> specifically pass the pattern string as a template parameter. I
> think its immutability implicitly converting it into a template
> parameter is what's what he's talking about.
>
> import std.stdio;
>
> void main(string[] args)
> {
> writefln!"%s"(); // compile-time assert
> writefln("%s"); // runtime exception, though everything
> needed for a compile-time assert was inferable during
> compilation
> }
This is exactly the "use case", I thought about: How to avoid
runtime errors, if at compile time the problem might be detected.
More information about the Digitalmars-d-learn
mailing list