3 releases (breaking)
0.3.0 | Oct 22, 2024 |
---|---|
0.2.0 | Oct 22, 2024 |
0.1.0 | Oct 22, 2024 |
#285 in Procedural macros
358 downloads per month
9KB
239 lines
TypePipe!
Ever wanted the ability to curry type signatures?
Then wait no longer! With this crate, you can do things like:
type_pipe! [
T,
MyType<_>,
MyWrapper<_>,
]
and this produces:
MyWrapper<MyType<T>>,
There's three main macros:
type_pipe
: This replaces all _
with the resulting type from the previous line.
This is the example I demonstrated above.
Another example:
T, Wrapped<_, String>, Outer<String, _>
->Outer<String, Wrapped<T, String>>
type_pipe_pre
: This inserts the resulting type from the previous line into the first position.
T, Wrapped, Outer<String>
->Outer<Wrapped<T>, String>
T, Wrapped<String>, Outer<String>
->Outer<Wrapped<T, String>, String>
type_pipe_post
: This inserts the resulting type from the previous line into the last position.
T, Wrapped, Outer<String>
->Outer<String, Wrapped<T>>
Dependencies
~240–680KB
~16K SLoC