d不要求opApply()为域

规范显示按声明闭包,但编译器不强制.

struct S {
    int opApply (/*scope*/ int delegate (int* ptr) @safe dg) @safe {
        return 0;
    }//无域.
  }

  void test(S s) @safe {
    foreach (int* x; s)
    {
    }
  }

编译无误.
规范说:最佳实践是尽量用注解闭包参数.

posted @ 2022-02-21 09:29  zjh6  阅读(77)  评论(0)    收藏  举报  来源