Why is D unpopular?

Siarhei Siamashka siarhei.siamashka at gmail.com
Thu May 26 02:04:18 UTC 2022


On Thursday, 26 May 2022 at 01:07:38 UTC, forkit wrote:
> But the fact that nobody seems to really know (even Walter!), 
> is troubling, to say the least.
>
> Perhaps someone well informed needs to write a brief article, 
> so we can all learn what -release 'really' does.

Well, I surely do know :-) And this is documented at least for 
GDC and LDC:

"man gdc":
```
        -frelease
            Turns on compiling in release mode, which means not 
emitting runtime
            checks for contracts and asserts.  Array bounds 
checking is not done for
            @system and @trusted functions, and assertion failures 
are undefined
            behavior.

            This is equivalent to compiling with the following 
options:

                    gdc -fno-assert -fbounds-check=safe 
-fno-invariants \
                        -fno-postconditions -fno-preconditions 
-fno-switch-errors

```

"ldc2 --help"
```
  --release  - Compile release version, defaulting to disabled
               asserts/contracts/invariants, and bounds checks in
               @safe functions only
```

But "man dmd" isn't helpful at all:
```
        -release
               Compile release version
```

Still DMD behaves in the same way as the other compilers.


More information about the Digitalmars-d mailing list