#auto #ergonomics #macro #function #proof-of-concept #slight #anti-pattern

auto_into

这是一个Rust宏,为编写函数提供(轻微的)易用性

1个不稳定版本

0.1.0 2022年12月1日

#7 in #proof-of-concept

MIT许可证

6KB
118

auto_into

这个宏是从这个Rust内部讨论中产生的。

我后来认为这是一个反模式,不建议您实际使用它。但开发它很有趣,如果将来再次提起这个讨论,它也可以作为一个验证概念。

用法

下面是代码示例

use auto_into::auto_into;

#[auto_into]
fn takes_whatever(#[into] _: String) { }

fn main() {
	takes_whatever("lorem"); // &str
	takes_whatever(std::borrow::Cow::Borrowed("ipsum")); // moo
	takes_whatever(format!("{} sit", "dolor")); // String
	takes_whatever('a'); // char
}

依赖项

~1.5MB
~36K SLoC