摘要:
原文 创建2022年dconf在线演示时,我在找构建约束的替代方法.在此验证概念. 我开始研究标准库的成本,考虑isInputRange的约束条件: enum bool isInputRange(R) = is(typeof(R.init) == R) && is(ReturnType!((R r) 阅读全文
posted @ 2023-01-17 10:12
zjh6
阅读(22)
评论(0)
推荐(0)
摘要:
原文 immutable int example; version(D_BetterC) { pragma(crt_constructor) extern(C) void initialize() { example = 1; } } else { shared static this() { ex 阅读全文
posted @ 2023-01-17 10:11
zjh6
阅读(13)
评论(0)
推荐(0)
摘要:
原文 import std.algorithm, std.range, std.conv; void foo() { assert(2 == iota(2).map!(n => to!string(n)).length); } 因为,TypeInfo,化简为: __gshared val = __t 阅读全文
posted @ 2023-01-17 10:10
zjh6
阅读(11)
评论(0)
推荐(0)
摘要:
原文 // dmd -betterC extern(C) void main(int argc, char** argv) { int[4] arr = 1; } 这是个少得可怜的四个32位存储.把它推导为*调用函数*是不必要的,编译器应该只需在此发出四个存储. 这不仅适合int类型,其他内置类型也 阅读全文
posted @ 2023-01-16 14:48
zjh6
阅读(21)
评论(0)
推荐(0)
摘要:
原文 //dmd main.d -betterC import std.range; pragma(msg, ElementType!(char[]) ); //错误:因为它是`void`,无法传递`void`参数给`pragma` 我得到'空'输出. 实现在std.range.primitive中 阅读全文
posted @ 2023-01-16 14:47
zjh6
阅读(54)
评论(0)
推荐(0)
摘要:
原文 自,在betterC中可赋值A数组片给B数组片,但其它数组操作不行. 不工作代码示例. version (D_BetterC) extern(C) void main() { int[3] a, b; a[] = 0; // 工作 a[] = b[]; //工作 a[] = 1; // /错误 阅读全文
posted @ 2023-01-16 13:35
zjh6
阅读(18)
评论(0)
推荐(0)
摘要:
原文 #18493期揭露了betterC实现中的疏忽:-betterC不支持触发异常,但却不要求不抛环境.#8184修复了自动生成隐式加到聚集字段后复制的试抓,但仍有基本问题.此PR试修复它. 我和AA/WB邮件讨论: 我:打算让-betterC在用引用计数异常,还是-betterC总是不抛? WB 阅读全文
posted @ 2023-01-16 13:34
zjh6
阅读(11)
评论(0)
推荐(0)
摘要:
原文 x86_64架构的未定义符号: EV_SET是仅引用结构的D函数.它实际上是一个(已翻译的)C宏. 调用EV_SET函数本身不应导致链接问题. 当然除非用'-betterC'. 更正链接:这里 其中指出: extern(D) void EV_SET64(kevent64_s* kevp, ty 阅读全文
posted @ 2023-01-16 13:32
zjh6
阅读(20)
评论(0)
推荐(0)
摘要:
原文 //dmd -betterC mixin(`void foo(){}`.idup); //错误:`'TypeInfo'`不能与`-betterC`一起使用 这会导致mir.bitmanip和mir-cpuid中的BetterC回归 我也有类似的问题.用betterC编译时,在CTFE中phob 阅读全文
posted @ 2023-01-16 11:40
zjh6
阅读(28)
评论(0)
推荐(0)
摘要:
原文 当前懒参数表明创建引用局部变量的闭包.允许逃逸懒参数,而不在堆中分配局部变量,会导致泄漏某个栈域指针的内存错误. extern(C) int printf(const char*,...) @safe; auto foo(lazy double i) @safe { return { retu 阅读全文
posted @ 2023-01-15 17:22
zjh6
阅读(29)
评论(0)
推荐(0)
浙公网安备 33010602011771号