< 返回版块

chloro-pn 发表于 2024-08-04 10:28

rust是否具有在编译期进行类型萃取,或者查询某类型是否满足某些约束(比如是否实现某trait,是否具有某方法)。 并根据查询结果指导代码生成和选择的能力。

可以类比为需要c++的模板特化、偏特化以及concept这样的功能。

因为接触rust的时间不长,平时写c++习惯了,个人感觉单纯基于trait的抽象能力还是有限,宏系统一方面对IDE实在不友好,另一方面貌似和类型系统离得比较远。

这不是输出暴论,只是阐述我目前的认知,欢迎大家修正,想知道面对这样的需求的最佳实践是什么样的。

评论区

写评论
github.com/shanliu/lsys 2024-08-12 10:02

属性宏,编译时直接改语法树.怎么折腾都行

TinusgragLin 2024-08-04 13:36

需要c++的模板特化、偏特化以及concept这样的功能。

与 C++ 模版特化类似的特性正在被实验:https://github.com/rust-lang/rust/issues/31844,我之前谷歌rust check if impl trait 的时候了解到的,至于 concept,粗看有点像 trait,我帮你谷歌了一下“C++ concept rust trait”,找到了几个回答这篇文章

潜水的猫 2024-08-04 10:57

rust 目前可以用宏处理

1 共 3 条评论, 1 页