# Feature Comparison Comparing Features of Other Rust GraphQL Implementations **Please let me know if there is anything wrong.** | | async-graphql | juniper(0.15.1) | |------------------------------------------------------------------------|---------------|-----------------| | async/await | 👍 | 👍️ | | Rustfmt friendly(No DSL) | 👍 | ⛔️ | | Boilerplate | Less | Some | | Type Safety | 👍 | 👍 | | Query | 👍 | 👍 | | Mutation | 👍 | 👍 | | Interfaces | 👍 | 👍 | | Union | 👍 | 👍 | | Dataloading | 👍 | 👍 | | Custom Scalar | 👍 | 👍 | | Custom Error | 👍 | 👍 | | Custom Directive | 👍 | ⛔ | | [Oneof Input Object](https://github.com/graphql/graphql-spec/pull/825) | 👍 | ⛔ | | [Oneof Field](https://github.com/graphql/graphql-spec/pull/825) | 👍 | ⛔ | | Extensions | 👍 | ⛔️ | | Cursor Connections | 👍 | ⛔️ | | Query complexity/depth | 👍 | ⛔️ | | Input validators | 👍 | ⛔️ | | Field guard | 👍 | ⛔️ | | Multipart request(upload file) | 👍 | ⛔️ | | Subscription | 👍 | 👍️ | | Opentracing | 👍 | ⛔️ | | Apollo Federation | 👍 | ⛔️ | | Apollo Tracing | 👍 | ⛔️ | | Apollo Persisted Queries | 👍 | ⛔️ | | Disabling introspection | 👍 | ⛔️ |