about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-05-23 16:19:15 +0000
committerbors <bors@rust-lang.org>2024-05-23 16:19:15 +0000
commit76856ffb576fb2dff472481a6389d42ca836db6f (patch)
treedfe9e1d8f6d0a2e1f6090bf231d593155f6e28c7 /compiler/rustc_codegen_llvm/src
parent05c40536285245d31f2bd6ed43c5bc43cc768752 (diff)
parentcfa150b0ddc28ea3723a3b4d0916e729dcea3246 (diff)
downloadrust-76856ffb576fb2dff472481a6389d42ca836db6f.tar.gz
rust-76856ffb576fb2dff472481a6389d42ca836db6f.zip
Auto merge of #12833 - kpreid:empty-enum-doc, r=Manishearth
Rephrase and expand `empty_enum` documentation.

* Remove incorrect claim that “wrappers around it are the conventional way to define an uninhabited type”.
* Discuss why one would use `!`, a newtype struct, or keep the enum.
* Add links to relevant documentation.

Before writing this change, I asked the community via [IRLO](https://internals.rust-lang.org/t/idiomatic-definition-of-uninhabited-never-newtypes/20877) and [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/Never.20type.20wrappers.20.2F.20defining.20uninhabited.20newtypes) for feedback. The broad consensus seemed to me to be that in a world where both `never_type` and `min_exhaustive_patterns` are stable and therefore available for general use, we _might_ want to `!` or newtypes of it — but it's certainly not “conventional” _yet._ Therefore, I've removed “conventional” and added a discussion of the pros and cons of different choices.

changelog: [`empty_enum`]: expanded documentation
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions