https://issues.dlang.org/show_bug.cgi?id=23998
--- Comment #2 from Richard Cattermole <[email protected]> --- Okay lets say we have an error struct: ```d @mustuse struct Result(T) { private T* value; bool isNull() { return value is null; } ref T get() { return *value; } alias get this; } ``` We pass it into our function somehow (in this case I'll go with a parameter): ```d void myFunction(Result!int arg) { writeln(arg.get); } ``` Great, you use the variable! But the whole reason for @mustuse is so that we can guarantee that error checks have been handled in some way. So we want some way for a function (like the isNull in the above example) to have to be checked, not just a method being called. Without this, you will end up with runtime errors instead of compiler ones (like I have been experiencing). --
