]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #66583 - Phlosioneer:patch-2, r=Dylan-DPC
authorMazdak Farrokhzad <twingoow@gmail.com>
Sat, 23 Nov 2019 01:22:49 +0000 (02:22 +0100)
committerGitHub <noreply@github.com>
Sat, 23 Nov 2019 01:22:49 +0000 (02:22 +0100)
Clarify Step Documentation

While the redesign is in progress (#62886), clarify the purpose of replace_zero and replace_one.

First, "returning itself" is technically impossible due to the function signature of &mut self -> Self. A clone or copy operation must be used. So this is now explicitly stated in the documentation.

Second, the added docs give some guidance about the actual contract around implementation of replace_zero and replace one. Specifically, the only usage is to create a range with no more steps, by setting start to replace_one and end to replace_zero. So the only property that is actually used is `replace_one > replace_zero`. See https://github.com/rust-lang/rust/issues/42168#issuecomment-489554232

The new documentation does not say that is the *only* contract, and so it should not be considered an api change. It just highlights the most important detail for implementors.

The redesign doesn't seem to be landing any time soon, so this is a stopgap measure to reduce confusion in the meantime.


Trivial merge