You are right, adding the suggested entries to the Cargo.toml (somewhat surprisingly) activated the extern crate stuff. cargo fix did indeed leave them in the code, causing compile errors. I +1ed the issue you linked.
Beside that I was able to build with edition 2018. 
Example for the compile errors I got without manually removing the extern crate lines:
error: `chrono` import is ambiguous
--> src/lib.rs:156:5
|
153 | extern crate chrono;
| -------------------- can refer to `self::chrono`
...
156 | use chrono::prelude::{DateTime, TimeZone, Utc};
| ^^^^^^ can refer to external crate `::chrono`
|
= help: write `::chrono` or `self::chrono` explicitly instead
= note: relative `use` paths enabled by `#![feature(uniform_paths)]`
Mentioning them here since they are related to uniform_paths after all.
Oh, and rustfmt prevented me from trying the ::chrono suggestion because it simply removed the leading :: while I saved. 