d的di问题
原文
总之,是的,扩展为推导普通
函数,而不仅是模板
属性是要做的.
目前没有的原因,是它使.di
声明与.d
定义不兼容.
虚函数
表明覆盖
,表明它们的属性
是通过协变和逆变规则
继承的,这与属性推导
不兼容.
:绑定到"回调"
的参数
不能推导
其参数类型
.
我发布的版本可以.
.di
在影响某种策略
前需要更好:
1
.它需要指定
编码风格
来改进
输出,比如在函数自身
中编写导入
,尽管应只暴露真正需要
的.如类,接口,类型
.除非用户不公开
导入常量或函数
,否则除非它在模板
中,不必输出
它们.
2
.可用来缓存CTFE
.据我所知,现在还不行.但它会为D社区
带来巨大收益
,并使其更具吸引力
.
3
.在生成时,可传递推导
给.di
文件,表明:
int add(int a, int b){return a+b;}
可很容易如下输出到.di
:
@safe pure nothrow @nogc int add(int a, int b);
这甚至可节省
使用.di
时间,因为它节省
了在库代码中推导类型
的工作.
我会说缺乏支持.di
的工具.dub
不能很好地与.di
文件整合,这也是我不使用它的原因之一.
另外,正如亚当
多次说过,生成.di
代现在还很原始,所以,有很多手工
工作,解决
这些项目可得到改进.
另外,可创建专门
只实例化
一次模板的属性
,比如'@noexport'
,表明,在.di
输出中,不需要保留
模板.这对不导出
只用来内联的ctfe
代码很有用
.
Dub
并不抽象.di
生成器.但是它很容易传入
标志让它干活.这不是限制因素
.
事实是,.di
生成器不生成
可用的D代码
,也不按我可用
方式生成.
目前状态,它是无用
的,需要解决dmd
的DLL
正确工作问题.
静态库和共享库
的唯一区别
是导出
,上次试
时这不是个问题.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现