@trusting generic functions

Lodovico Giaretta via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat May 28 04:50:33 PDT 2016


Let's say I have a generic function that uses pointers. It will 
be inferred @system by the compiler, but I know that the pointer 
usage can be @trusted.
The problem is that if I declare the function @trusted, I'm also 
implicitly trusting any call to @system methods of the template 
parameter.

Dumb example (pointer usage can be trusted, but doSomething may 
not):

     auto doSomethingDumb(T)(ref T t) // I want it @trusted if 
doSomething is at least @trusted
     {
         T* pt = &t;
         return pt.doSomething();
     }

Is there any way around this? Any way to declare a function 
@trusted as long as the methods of the template argument are at 
least @trusted?

Thank you in advance.

Lodovico Giaretta


More information about the Digitalmars-d-learn mailing list