rust/compiler
Daniel Noom 998bf0ab88 Add note to non-exhaustive match on reference to empty
Rust prints "type `&A` is non-empty" even is A is empty.
This is the intended behavior, but can be confusing.
This commit adds a note to non-exhaustive pattern errors if they are a
reference to something uninhabited.

I did not add tests to check that the note is not shown for
non-references or inhabited references, because this is already done
in other tests.

Maybe the added test is superfluous, because
`always-inhabited-union-ref` already checks for this case.

This does not handle &&Void or &&&void etc. I could add those as special
cases as well and ignore people who need quadruple
references.

Fixes #78123
2021-01-03 19:05:23 +01:00
..
rustc
rustc_apfloat
rustc_arena
rustc_ast first pass at default values for const generics 2021-01-01 10:55:10 +01:00
rustc_ast_lowering first pass at default values for const generics 2021-01-01 10:55:10 +01:00
rustc_ast_passes make const_generics_defaults use the unstable syntax mechanism 2021-01-01 11:01:01 +01:00
rustc_ast_pretty const_generics_defaults: don't use todo 2021-01-01 22:35:56 +01:00
rustc_attr Get rid of clean::Deprecation 2020-12-14 22:00:46 -05:00
rustc_builtin_macros first pass at default values for const generics 2021-01-01 10:55:10 +01:00
rustc_codegen_cranelift
rustc_codegen_llvm Rollup merge of #80323 - camelid:codegen-base-docs, r=nagisa 2020-12-31 22:20:43 +01:00
rustc_codegen_ssa Merge remote-tracking branch 'origin/master' into frewsxcv-san 2020-12-31 23:27:33 -05:00
rustc_data_structures rustc_serialize: have read_raw_bytes take MaybeUninit<u8> slice 2021-01-01 22:49:16 -08:00
rustc_driver where possible, pass slices instead of &Vec or &String (clippy::ptr_arg) 2020-12-30 13:11:52 +01:00
rustc_error_codes Auto merge of #80267 - 0urobor0s:ouro/61592, r=jyn514 2020-12-31 09:07:52 +00:00
rustc_errors
rustc_expand Auto merge of #80459 - mark-i-m:or-pat-reg, r=petrochenkov 2020-12-31 14:52:26 +00:00
rustc_feature mark const_generics_defaults as an incomplete feature 2021-01-01 10:55:16 +01:00
rustc_fs_util
rustc_graphviz
rustc_hir first pass at default values for const generics 2021-01-01 10:55:10 +01:00
rustc_hir_pretty const_generics_defaults: don't use todo 2021-01-01 22:35:56 +01:00
rustc_incremental Remove compile-fail test suite 2020-12-29 23:39:56 +03:00
rustc_index
rustc_infer adjust const generics defaults FIXMEs to the new feature gate 2021-01-01 11:01:01 +01:00
rustc_interface Remove compile-fail test suite 2020-12-29 23:39:56 +03:00
rustc_lexer
rustc_lint Add snake case lint note about keyword identifiers which cannot be raw 2021-01-02 15:46:41 +00:00
rustc_lint_defs improve unconditional_panic description 2021-01-01 15:00:27 +01:00
rustc_llvm llvm: update ffi bindings for split dwarf 2020-12-16 10:31:42 +00:00
rustc_macros rustc_serialize: specialize opaque encoding of some u8 sequences 2021-01-01 22:49:14 -08:00
rustc_metadata Auto merge of #80247 - tmiasko:indent, r=bjorn3 2021-01-03 09:16:24 +00:00
rustc_middle rustc_serialize: specialize opaque decoding of some u8 sequences 2021-01-01 22:49:16 -08:00
rustc_mir Rollup merge of #80491 - RalfJung:dangling-of-val, r=oli-obk 2020-12-30 20:56:56 +00:00
rustc_mir_build Add note to non-exhaustive match on reference to empty 2021-01-03 19:05:23 +01:00
rustc_parse make const_generics_defaults use the unstable syntax mechanism 2021-01-01 11:01:01 +01:00
rustc_parse_format
rustc_passes adjust const generics defaults FIXMEs to the new feature gate 2021-01-01 11:01:01 +01:00
rustc_plugin_impl
rustc_privacy Rollup merge of #80495 - jyn514:rename-empty, r=petrochenkov 2020-12-30 20:56:58 +00:00
rustc_query_system
rustc_resolve adjust const generics defaults FIXMEs to the new feature gate 2021-01-01 11:01:01 +01:00
rustc_save_analysis const_generics_defaults: don't use todo 2021-01-01 22:35:56 +01:00
rustc_serialize rustc_serialize: specialize opaque decoding of some u8 sequences 2021-01-01 22:49:16 -08:00
rustc_session Auto merge of #79883 - frewsxcv:frewsxcv-san, r=shepmaster 2021-01-02 06:58:59 +00:00
rustc_span first pass at default values for const generics 2021-01-01 10:55:10 +01:00
rustc_symbol_mangling
rustc_target
rustc_trait_selection remove unused return types such as empty Results or Options that would always be Some(..) 2020-12-30 13:15:40 +01:00
rustc_traits
rustc_ty_utils
rustc_type_ir
rustc_typeck Print actual enum variant 2021-01-02 11:06:30 +01:00