rollup merge of #18948: barosl/doc-encodable-fix
rollup merge of #18949: tomjakubowski/tojson-str
rollup merge of #18960: stepancheg/cell-default
rollup merge of #18964: coyotebush/rustdoc-print
rollup merge of #18965: cmr/master
rollup merge of #18970: aturon/fixup-stable
rollup merge of #18976: bjz/rfc369-numerics
rollup merge of #18979: inrustwetrust/codegen-options-parsing
rollup merge of #18985: alexcrichton/issue-18900
rollup merge of #18989: alex/fix-typos
rollup merge of #18990: alfie/master
Fix warnings
Fix doctests
auto merge of #18978 : jakub-/rust/roll-up, r=cmr
Try to remove ty_nil, some kind of error in exhaustiveness checking
Complete the removal of ty_nil, ast::LitNil, ast::TyBot and ast::TyUniq

[breaking-change]

This will break any uses of macros that assumed () being a valid literal.
Update tests accordingly
Update the reference
auto merge of #18752 : jakub-/rust/remove-unit, r=eddyb

Closes https://github.com/rust-lang/rust/issues/18614.
implement cloned for Option