1 use rustc_macros::Diagnostic;
7 #[diag(middle_drop_check_overflow, code = "E0320")]
9 pub struct DropCheckOverflow<'tcx> {
13 pub overflow_ty: Ty<'tcx>,
17 #[diag(middle_opaque_hidden_type_mismatch)]
18 pub struct OpaqueHiddenTypeMismatch<'tcx> {
19 pub self_ty: Ty<'tcx>,
20 pub other_ty: Ty<'tcx>,
25 pub sub: TypeMismatchReason,
28 #[derive(Subdiagnostic)]
29 pub enum TypeMismatchReason {
30 #[label(middle_conflict_types)]
35 #[note(middle_previous_use_here)]
43 #[diag(middle_limit_invalid)]
44 pub struct LimitInvalid<'a> {
49 pub error_str: &'a str,
53 #[diag(middle_const_eval_non_int)]
54 pub struct ConstEvalNonIntError {
60 #[diag(middle_strict_coherence_needs_negative_coherence)]
61 pub(crate) struct StrictCoherenceNeedsNegativeCoherence {
65 pub attr_span: Option<Span>,
69 #[diag(middle_const_not_used_in_type_alias)]
70 pub(super) struct ConstNotUsedTraitAlias {