async-codegen 0.2.2

Minimalist async-IO code generation framework.
Documentation

# Async Code Generator

[![crates.io version](https://img.shields.io/crates/v/async-codegen)](https://crates.io/crates/async-codegen)
[![apache2 license](https://img.shields.io/crates/l/async-codegen)](https://www.gnu.org/licenses/license-recommendations.html)
[![docs.rs docs](https://img.shields.io/docsrs/async-codegen)](https://docs.rs/async-codegen)
[![unsafe forbidden](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/)

A library for async code generation that imposes no ownership choices (can use borrowed or owned data) and is fully composable using generics and general-purpose structs.

### Examples

Coming soon.

## Library Design

The API is conceptually simple. Performing code generation is akin to writing a syntax tree.

### Model

Writable elements are composed from other writable elements. They are divided into two kinds:
1. `Writable` - the main trait used by the library
2. `WritableSeq` - for a sequence of writable values handled in the same way.

An example of a writable sequence would be function arguments, type variables, etc. An example of a standalone writable value would be a function body.

### Async and Errors

Every code generation-related function returns the library user's error type.

Also, the methods are `async` and must be awaited as such. This lets the library user plug in their favorite async runtime... because why not make code generation fast?

## Library

### Safety

* The library contains no unsafe code
* The library should never panic, except where documented.

### Dependency

Add this library to your Cargo.toml:

```toml
[dependencies]
async-codegen = "0.1"
```

## Licensing

Licensed under the Apache License v2.0. See the LICENSE.txt.