book
book copied to clipboard
`compile_fail` and `should_panic` examples are tested wherever possible
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
andshould_panic
) instead of customdoes_not_compile
andpanics
. - 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
orcompile_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.