@system blocks and safer @trusted (ST) functions

Steven Schveighoffer schveiguy at gmail.com
Wed Jul 28 11:12:14 UTC 2021

On Monday, 26 July 2021 at 18:59:45 UTC, Paul Backus wrote:
> The difference between POSIX `read` and `favoriteNumber` is 
> that you *can* read the source code of `favoriteNumber`. It's 
> literally right there, in the same module. That's the entire 
> reason why you can be certain it returns `42`.
> If `favoriteNumber` and `favoriteElement` were in different 
> modules, your argument would be correct, because 
> `favoriteElement` could no longer be certain about which 
> version of `favoriteNumber` it was calling.

If you consider the source to be the spec, then that contradicts 
your earlier suggestion that `favoriteNumber` can be changed -- 
its source is the spec, so changing the source to return 
something other than 42 will violate the spec.

If you consider the source to be the spec *and* you think 
changing the spec at will is OK, then we have different 
philosophies on what a code review and "good software" means.


More information about the Digitalmars-d mailing list