d类型信息与更好C

原文

import std.algorithm, std.range, std.conv;

void foo() {
    assert(2 == iota(2).map!(n => to!string(n)).length);
}

因为,TypeInfo,化简为:

__gshared val = __traits(compiles, to!());

void to()()
{
    auto ti = typeid(char[]);
}
//dmd -c -o- -betterC -verrors=spec test.d

但,最新分支,如下编译:

import std.algorithm, std.range, std.conv;

void foo() {
    assert(2 == iota(2).map!(n => to!string(n)).length);
}

extern (C) void main() { foo(); }

即使带-betterC,也编译.

posted @ 2023-01-17 10:10  zjh6  阅读(11)  评论(0)    收藏  举报  来源