 From: https://github.com/rust-lang/rust-by-example/pull/1697#issuecomment-1501134416