I know the reason to mark a method as trusted from the docs:
Trusted functions are guaranteed by the programmer to not
exhibit any undefined
behavior if called by a safe function. Generally, trusted
functions should be kept
small so that they are easier to manually verify.
Undefined behavior happens when an illegal code construct is
executed.
Undefined behavior can include random, erratic results,
crashes, faulting, etc.
A buffer overflow is an example of undefined behavior.
So would you mark the following with @trusted? The format()
function is not @safe but what is @trusted really trying to say?
This method is @safe as far as i'm concerned? The arguments make
format() @safe? I'm confused.
/**
* Get the current timestamp for the log.
*
* Returns:
* The current timestamp.
*/
private string getTimestamp() const
{
auto time = Clock.currTime();
return format("%d/%02d/%02d %d:%02d:%02d", time.year,
time.month, time.day, time.hour, time.minute, time.second);
}