# `future_form_macros`
[](https://crates.io/crates/future_form_macros)
[](https://ci.hel.subduction.keyhive.org/repos/2)
[](https://docs.rs/future_form_macros)
[](https://codeberg.org/expede/future_form)
Proc macros for [`future_form`](https://crates.io/crates/future_form).
This crate provides the `#[future_form]` attribute macro for generating concrete trait implementations from generic `FutureForm` impls.
## Usage
```rust,ignore
use future_form::{future_form, FutureForm};
// Generate both Sendable and Local impls
#[future_form(Sendable, Local)]
impl<K: FutureForm> MyTrait<K> for MyType<K> { ... }
// Generate only specific variants
#[future_form(Sendable)] // Only Sendable
#[future_form(Local)] // Only Local
#[future_form(Sendable, Local)] // Both
// Custom FutureForm types are also supported
#[future_form(Sendable, Local, MyCustomForm)]
impl<K: FutureForm> MyTrait<K> for MyType<K> { ... }
// Add bounds only for specific variants
#[future_form(Sendable where T: Send, Local)]
impl<K: FutureForm, T: Clone> Processor<K> for Container<T> { ... }
```
See the [`future_form`](https://crates.io/crates/future_form) crate for full documentation.
## License
Licensed under either of:
- Apache License, Version 2.0 ([LICENSE-APACHE](https://codeberg.org/expede/future_form/src/branch/main/LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)
- MIT license ([LICENSE-MIT](https://codeberg.org/expede/future_form/src/branch/main/LICENSE-MIT) or <http://opensource.org/licenses/MIT>)
at your option.