all OS functions should be "nothrow @trusted @nogc"

Marco Leise via Digitalmars-d digitalmars-d at puremagic.com
Tue Aug 1 13:39:35 PDT 2017


Am Tue, 1 Aug 2017 10:50:59 -0700
schrieb "H. S. Teoh via Digitalmars-d"
<digitalmars-d at puremagic.com>:

> On Tue, Aug 01, 2017 at 05:12:38PM +0000, w0rp via Digitalmars-d wrote:
> > Direct OS function calls should probably all be treated as unsafe,
> > except for rare cases where the behaviour is very well defined in
> > standards and in actual implementations to be safe. The way to get
> > safe functions for OS functionality is to write wrapper functions in D
> > which prohibit unsafe calls.  
> 
> +1.

I think I got it now!

	size_t strlen_safe(in char[] str) @trusted
	{
		foreach (c; str)
			if (!c)
				return strlen(str.ptr);
		return str.length;
	}

  :o)

-- 
Marco



More information about the Digitalmars-d mailing list