Each example is the same, except for how function signatures are formatted, the rest of the code is pretty similar to Rustfmt's current formatting, though I haven't actually run Rustfmt on it. I've removed some code so it will no longer compiler, though it should parse, so you should be able to run it through Rustfmt.
* fn-decl-visual.rs has visual indentation
* fn-decl-block.rs has 'all or nothing' block indentation
* fn-decl-block-progressive.rs has block indentation, and will put all args on one line if possible.