On Thursday, 18 May 2017 at 18:15:28 UTC, Stanislav Blinov wrote:
On Thursday, 18 May 2017 at 17:53:52 UTC, H. S. Teoh wrote:

In the long run, I fear that if there are too many @trusted blocks in a given codebase (not necessarily Phobos), it will become too onerous to review, and could lead to hidden exploits that are overlooked by reviewers. I don't know how to solve this conundrum.

Simple. You reject such codebase from the get-go ;)

To be honest, I don't think you *can* solve this problem (rejecting such a codebase is a workaround that may or may not work, depending on the use case and what the codebase as to do; there are valid reasons for why the majority of a codebase may need to be @trusted, such as OS abstractions). As long as we build software on top of operating systems with APIs that may or may not be unsafe we *need* such an unsafe layer and any codebase that heavily interacts with the OS will be littered with @trusted. All you can do is educate people to spot when @trusted is actually necessary and when something could genuinely be written @safe without @trusted and educate them to choose the latter when and if possible.

Reply via email to