correctness - changelog sequence without gaps huge compile times: - iron not small, but mostly reasonable deps - does macaroon need both rustc-serialize and serde? - sentry big but almost all "modern" hyper (0.12) - slog has a lot of duplication (crossbeam) - duplicated libs: 3 syn, 4 uuid, 3 crossbeam (etc), 2 hyper, 2 iron (wait, what?), 3x serde, 4x rand, 2x error-chain => rg '^name =' Cargo.lock | uniq -cd | sort -n - try: removing deps from fatcat-api-spec - uuid: could now switch to v0.7; needs code changes - tweak crossbeam-channel version (used in fatcat-export) refactor: - consistent `conn` and `context` orders in _handler() functions edit lifecycle - per-edit extra JSON - account helper tool: set admin bit later: - "prev_rev" required in updates - tried using sync::Once to wrap test database initilization (so it would only run migrations once), but it didn't seem to work, maybe I had a bug or it didn't compile? => could also do a global mutex: https://github.com/SergioBenitez/Rocket/issues/697 - could some of the EntityCrud trait macro stuff be re-implemented as an enum type? - pure-rust "benchmark" scripts that hit, eg, lookups and batch endpoints => criterion.rs benchmarking - try new hyper/openapi3 codegen branch - refactor logging; simple env-logger-pretty - test using hash indexes for some UUID column indexes, or at least sha1 and other hashes (abstracts, file lookups)