[Issue 23678] Contracts are compiled with release switch?

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Feb 9 20:29:26 UTC 2023


https://issues.dlang.org/show_bug.cgi?id=23678

Dennis <dkorpel at live.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dkorpel at live.nl

--- Comment #2 from Dennis <dkorpel at live.nl> ---
> We cannot implement this because then you might have semantically incorrect code in your contract and the compiler needs to report it regardless of the fact that it does not get generated in the object code

It's not set in stone that the compiler has to report semantic errors in
contracts. Note that currently, you can have semantically incorrect code in
unittest blocks if you don't compile with -unittest. (In fact, it doesn't even
have to parse correctly, the parser just skips to the next bracket)

However, contracts can affect attribute inference: a `@system` contract will
make calling that function `@system`. Changing function attributes based on
-checkaction switches can result in linker errors with separate compilation.

--


More information about the Digitalmars-d-bugs mailing list