I'm looking to clean up some annoying corner cases in some libraries I wrote
by making delegates that are function parameters and are logically scope be
declared as such.  However, the parameters are templated and can be any
callable object (function pointer, delegate, or class or struct that overloads
opCall).  The following works right now, even when C is not a delegate:

ReturnType doStuff(C)(scope C callable) {
    // Function body
}

Will scope qualifiers on classes, structs and function pointers continue to be
simply allowed and ignored so that scope can be used when C is a delegate in
the case above?  Can this behavior be relied on long-term?

Reply via email to