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