File tree Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,12 @@ let b = Arc::from("a");
3737will no longer compile, because we've previously been relying on inference to figure out the ` T ` in ` Box<T> ` .
3838
3939This kind of breakage can be ok, but a [ crater] ( https://github.com/rust-lang/crater/blob/master/docs/bot-usage.md ) run should estimate the scope.
40+ When implementing traits known to have this problem, crater should be run before initiating FCP,
41+ so information on the scope of the breakage is available before deciding to accept the change.
42+ This can include, but is not limited to,
43+
44+ - From
45+ - FromIterator
4046
4147## Deref coercion breaks when a new impl is introduced
4248
Original file line number Diff line number Diff line change @@ -4,5 +4,11 @@ Breaking changes should be avoided when possible.
44[ RFC 1105] ( https://rust-lang.github.io/rfcs/1105-api-evolution.html ) lays the foundations for what constitutes a breaking change.
55Breakage may be deemed acceptable or not based on its actual impact,
66which can be approximated with a [ crater] ( https://github.com/rust-lang/crater/blob/master/docs/bot-usage.md ) run.
7+ Running crater should be done if nontrivial breakage is expected, so the information is
8+ available during the final comment period.
79
810If the impact isn't too high, looping in maintainers of broken crates and submitting PRs to fix them can be a valid strategy.
11+
12+ # Breaking and the trains
13+ If a PR is merged and it turns out to have caused code to not compile during the nightly release cycle,
14+ unless there is a trivial fix, the PR should be reverted and a crater run should assess the impact.
You can’t perform that action at this time.
0 commit comments