@@ -22,25 +22,55 @@ namespace vix::cli::errors
2222 ErrorPipeline::ErrorPipeline ()
2323 {
2424 // Template-specific compile errors
25+
26+ // Template parameter / deduction family (most specific first)
2527 templateRules_.push_back (vix::cli::errors::template_rules::makeDependentTypenameRule ());
2628 templateRules_.push_back (vix::cli::errors::template_rules::makeNoTypeNamedRule ());
2729 templateRules_.push_back (vix::cli::errors::template_rules::makeTemplateArgumentMismatchRule ());
30+ templateRules_.push_back (vix::cli::errors::template_rules::makeInvalidTemplateTemplateArgumentRule ());
31+ templateRules_.push_back (vix::cli::errors::template_rules::makeCtadFailureRule ());
2832 templateRules_.push_back (vix::cli::errors::template_rules::makeRequiresExpressionFailureRule ());
2933 templateRules_.push_back (vix::cli::errors::template_rules::makeConceptConstraintFailureRule ());
3034 templateRules_.push_back (vix::cli::errors::template_rules::makeNoMatchingOverloadWithConstraintsRule ());
35+ templateRules_.push_back (vix::cli::errors::template_rules::makeSubstitutionFailureRule ());
36+
37+ // Compile-time evaluation family
38+ templateRules_.push_back (vix::cli::errors::template_rules::makeStaticAssertFailureRule ());
39+ templateRules_.push_back (vix::cli::errors::template_rules::makeConstexprEvaluationFailureRule ());
40+
41+ // Ownership / access / conversion family (specific before generic)
42+ templateRules_.push_back (vix::cli::errors::template_rules::makeMoveOnlyCopyRule ());
43+ templateRules_.push_back (vix::cli::errors::template_rules::makeDeletedFunctionRule ());
44+ templateRules_.push_back (vix::cli::errors::template_rules::makePrivateConstructorRule ());
45+ templateRules_.push_back (vix::cli::errors::template_rules::makeInaccessibleMemberRule ());
46+ templateRules_.push_back (vix::cli::errors::template_rules::makeIncompleteTypeRule ());
47+ templateRules_.push_back (vix::cli::errors::template_rules::makeNoViableConversionRule ());
48+ templateRules_.push_back (vix::cli::errors::template_rules::makeConstQualifierRule ());
49+ templateRules_.push_back (vix::cli::errors::template_rules::makeInvalidReferenceBindingRule ());
50+ templateRules_.push_back (vix::cli::errors::template_rules::makeInvalidInitializerListRule ());
51+ templateRules_.push_back (vix::cli::errors::template_rules::makeNarrowingConversionRule ());
52+ templateRules_.push_back (vix::cli::errors::template_rules::makeMissingBeginEndRule ());
53+ templateRules_.push_back (vix::cli::errors::template_rules::makeAmbiguousOverloadRule ());
54+ templateRules_.push_back (vix::cli::errors::template_rules::makeOperatorNotFoundRule ());
55+ templateRules_.push_back (vix::cli::errors::template_rules::makeAllocatorValueTypeMismatchRule ());
56+ templateRules_.push_back (vix::cli::errors::template_rules::makeTupleVariantAccessRule ());
57+ templateRules_.push_back (vix::cli::errors::template_rules::makeInvalidUseOfVoidRule ());
58+
59+ // Lifetime / OOP / slicing family
3160 templateRules_.push_back (vix::cli::errors::template_rules::makeLambdaCaptureLifetimeRule ());
3261 templateRules_.push_back (vix::cli::errors::template_rules::makeNonVirtualDestructorDeleteRule ());
3362 templateRules_.push_back (vix::cli::errors::template_rules::makeObjectSlicingRule ());
3463 templateRules_.push_back (vix::cli::errors::template_rules::makeBadOverrideRule ());
3564 templateRules_.push_back (vix::cli::errors::template_rules::makeInvalidDowncastRule ());
65+
66+ // Coroutines family (always late, very specific signals)
3667 templateRules_.push_back (vix::cli::errors::template_rules::makeCoroutineReturnTypeRule ());
3768 templateRules_.push_back (vix::cli::errors::template_rules::makeMissingCoReturnRule ());
3869 templateRules_.push_back (vix::cli::errors::template_rules::makeInvalidAwaitableRule ());
3970 templateRules_.push_back (vix::cli::errors::template_rules::makeNoMemberAwaitReadyRule ());
4071 templateRules_.push_back (vix::cli::errors::template_rules::makeNoMemberAwaitSuspendRule ());
4172 templateRules_.push_back (vix::cli::errors::template_rules::makeNoMemberAwaitResumeRule ());
4273 templateRules_.push_back (vix::cli::errors::template_rules::makeInvalidPromiseTypeRule ());
43- templateRules_.push_back (vix::cli::errors::template_rules::makeSubstitutionFailureRule ());
4474
4575 // Beginner / syntax / common mistakes
4676 rules_.push_back (makeCoutNotDeclaredRule ());
0 commit comments