0.8 conversion: syntax and type check passes.
0.8 conversion: corrected all lifetime errors.
0.8 conversion: replaced some utility functions made useless with Rust 0.8.
0.8 conversion: #5315 and #5725 are now fixed, removing workarounds.
0.8 conversion: preliminarily cope with the removal of float and fmt!.
0.8 conversion is complete, updating documents.
restored an workaround for #2202; fixed faulty handling of empty Path.
added missing #[inline(never)].
Merge pull request #1 from lifthrasiir/master

!