Crates.io | type_pipe |
lib.rs | type_pipe |
version | 0.3.0 |
source | src |
created_at | 2024-10-22 10:56:57.866888 |
updated_at | 2024-10-22 11:05:37.728071 |
description | Curry types |
homepage | |
repository | https://github.com/Jezza/type_pipe |
max_upload_size | |
id | 1418509 |
size | 9,777 |
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>>