]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_ty_utils/src/errors.rs
Rollup merge of #106856 - vadorovsky:fix-atomic-annotations, r=joshtriplett
[rust.git] / compiler / rustc_ty_utils / src / errors.rs
1 //! Errors emitted by ty_utils
2
3 use rustc_macros::{Diagnostic, Subdiagnostic};
4 use rustc_middle::ty::Ty;
5 use rustc_span::Span;
6
7 #[derive(Diagnostic)]
8 #[diag(ty_utils_needs_drop_overflow)]
9 pub struct NeedsDropOverflow<'tcx> {
10     pub query_ty: Ty<'tcx>,
11 }
12
13 #[derive(Diagnostic)]
14 #[diag(ty_utils_generic_constant_too_complex)]
15 #[help]
16 pub struct GenericConstantTooComplex {
17     #[primary_span]
18     pub span: Span,
19     #[note(maybe_supported)]
20     pub maybe_supported: Option<()>,
21     #[subdiagnostic]
22     pub sub: GenericConstantTooComplexSub,
23 }
24
25 #[derive(Subdiagnostic)]
26 pub enum GenericConstantTooComplexSub {
27     #[label(ty_utils_borrow_not_supported)]
28     BorrowNotSupported(#[primary_span] Span),
29     #[label(ty_utils_address_and_deref_not_supported)]
30     AddressAndDerefNotSupported(#[primary_span] Span),
31     #[label(ty_utils_array_not_supported)]
32     ArrayNotSupported(#[primary_span] Span),
33     #[label(ty_utils_block_not_supported)]
34     BlockNotSupported(#[primary_span] Span),
35     #[label(ty_utils_never_to_any_not_supported)]
36     NeverToAnyNotSupported(#[primary_span] Span),
37     #[label(ty_utils_tuple_not_supported)]
38     TupleNotSupported(#[primary_span] Span),
39     #[label(ty_utils_index_not_supported)]
40     IndexNotSupported(#[primary_span] Span),
41     #[label(ty_utils_field_not_supported)]
42     FieldNotSupported(#[primary_span] Span),
43     #[label(ty_utils_const_block_not_supported)]
44     ConstBlockNotSupported(#[primary_span] Span),
45     #[label(ty_utils_adt_not_supported)]
46     AdtNotSupported(#[primary_span] Span),
47     #[label(ty_utils_pointer_not_supported)]
48     PointerNotSupported(#[primary_span] Span),
49     #[label(ty_utils_yield_not_supported)]
50     YieldNotSupported(#[primary_span] Span),
51     #[label(ty_utils_loop_not_supported)]
52     LoopNotSupported(#[primary_span] Span),
53     #[label(ty_utils_box_not_supported)]
54     BoxNotSupported(#[primary_span] Span),
55     #[label(ty_utils_binary_not_supported)]
56     BinaryNotSupported(#[primary_span] Span),
57     #[label(ty_utils_logical_op_not_supported)]
58     LogicalOpNotSupported(#[primary_span] Span),
59     #[label(ty_utils_assign_not_supported)]
60     AssignNotSupported(#[primary_span] Span),
61     #[label(ty_utils_closure_and_return_not_supported)]
62     ClosureAndReturnNotSupported(#[primary_span] Span),
63     #[label(ty_utils_control_flow_not_supported)]
64     ControlFlowNotSupported(#[primary_span] Span),
65     #[label(ty_utils_inline_asm_not_supported)]
66     InlineAsmNotSupported(#[primary_span] Span),
67     #[label(ty_utils_operation_not_supported)]
68     OperationNotSupported(#[primary_span] Span),
69 }