d用户删除属性

原文
是否有文档描述移除@属性(@property)不会导致错误,但会导致代码行为的改变?
正在考虑全面删除3000多个@属性.由此产生的编译错误我可修复(除非在推测实例化中,否则可能更难追踪),但我特别担心的是不会导致编译警告/错误行为变化.
多谢了
因为@属性只是有时改变了typeof的结果,行为变化可能如下:

static if (typeof(foo.bar) == T) {
    // foo有"T bar"属性
} else {
    // 没有
}

目前,如果foo有一个@属性 T bar();,则此代码选择第一个分支.如果移除@属性,则进入第二个.

没有文档.
有无@属性唯一区别是,如果取属性地址,如果无@属性,则取函数地址,如果有@属性,则取返回值的地址.
这会影响如下推导:

auto x = &s.foo;

会导致类型不匹配,但不能保证.

最好是一次删除一些@property,将它们签入git,然后运行测试包检查是否有错误,使'git bisect'在追踪测试包遗漏的错误的原因时,很有用.

posted @   zjh6  阅读(19)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示