3 releases (breaking)
0.3.0 | Oct 22, 2024 |
---|---|
0.2.0 | Oct 22, 2024 |
0.1.0 | Oct 22, 2024 |
#301 in Procedural macros
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
~230–670KB
~16K SLoC