1 // The main documentation is in the README. |
1 // The main documentation is in the README. |
2 #![doc = include_str!("../README.md")] |
2 // We need to uglify it in build.rs because rustdoc is stuck in the past. |
|
3 #![doc = include_str!(concat!(env!("OUT_DIR"), "/README_uglified.md"))] |
3 |
4 |
4 // We use unicode. We would like to use much more of it than Rust allows. |
5 // We use unicode. We would like to use much more of it than Rust allows. |
5 // Live with it. Embrace it. |
6 // Live with it. Embrace it. |
6 #![allow(uncommon_codepoints)] |
7 #![allow(uncommon_codepoints)] |
7 #![allow(mixed_script_confusables)] |
8 #![allow(mixed_script_confusables)] |
8 #![allow(confusable_idents)] |
9 #![allow(confusable_idents)] |
9 // Linear operators may be writtten e.g. as `opA` for a resemblance |
10 // Linear operators may be written e.g. as `opA`, to keep the capital letters of mathematical |
10 // to mathematical convention. |
11 // convention while referring to the type (trait) of the operator as `A`. |
11 #![allow(non_snake_case)] |
12 #![allow(non_snake_case)] |
12 // We need the drain filter for inertial prune |
13 // We need the drain filter for inertial prune. |
13 #![feature(drain_filter)] |
14 #![feature(drain_filter)] |
14 |
15 |
15 use clap::Parser; |
16 use clap::Parser; |
16 use itertools::Itertools; |
17 use itertools::Itertools; |
17 use serde_json; |
18 use serde_json; |