d更好C的运行时更好错误消息
extern (C) int main ()
{
auto s = "a".idup;
return 0;
}
错误
消息,不能很好定位
错误.
可惜,问题在勾挂
内部使用typeid
.dup'
只是个普通模板
,所以编译器
不会特殊处理.根源是dup
内部使用typeid
来传递Typeinfo
给(目前还未模板化
)新数组
勾挂.一旦模板化新数组
且不再需要Typeinfo
,该问题
就会消失.
所以,真正方法是模板化_d_new_array
勾挂.
最近已有了很大
进步,且已模板化
了很多勾挂
.我很期望2023
最终将实现它.
此外,typeid
问题只是表面原因
,根本
问题是调用
了接收Typeinfo
对象的函数
(并用typeid
来取底层的Typeinfo
),只能通过模板化
(编译器勾挂
)该函数来解决
该问题.