book icon indicating copy to clipboard operation
book copied to clipboard

`compile_fail` and `should_panic` examples are tested wherever possible

Open Cerber-Ursi opened this issue 3 years ago • 0 comments

A couple of days ago there was a question on URLO, which uncovered the fact that some compile-fail cases in the Book are not marked as such. After some research, I've decided to propose the following:

  • Use rustdoc annotations (compile_fail and should_panic) instead of custom does_not_compile and panics.
  • Drop the ignore annotation wherever possible, so that the examples, including non-compiling or panicking ones, are checked to behave as expected.
  • Add should_panic or compile_fail annotations wherever they seem to be expected.

Note that some failing examples can't be tested, because the failing code is #[cfg(test)], and this property is not set for doctests. These examples are, however, explicitly marked as both compile_fail or should_panic and ignore, so that it would be now easy to grep for them during future changes.

Cerber-Ursi avatar Dec 12 '21 06:12 Cerber-Ursi