I've found that whenever I start a small web project in a new language, I always look for the "Flask" of that language. I love using a framework that gives the bare essentials and nothing else. I don't use Rust, but your code examples look great! I understand that Rust has less opportunity for "magic" to clean things up (for example, in Python you can use a decorator to specify a route for a function), but otherwise…
There's probably some opportunity to use custom annotations in Rust to achieve the same thing. #[route("/foobar")] fn user(_: &mut Request) -> PencilResult { // ... } However, procedural macros are unstable, but Rust is able to do amazing things with macros.
Bearing in mind that macros er unstable, can this be done in Rust, and if so, what would the process be?