@@ -2023,7 +2023,8 @@ class AllowKeyPathWithoutComponents final : public ConstraintFix {
20232023 ConstraintLocator *locator);
20242024};
20252025
2026- class IgnoreInvalidResultBuilderBody final : public ConstraintFix {
2026+ class IgnoreInvalidResultBuilderBody : public ConstraintFix {
2027+ protected:
20272028 enum class ErrorInPhase {
20282029 PreCheck,
20292030 ConstraintGeneration,
@@ -2062,6 +2063,22 @@ class IgnoreInvalidResultBuilderBody final : public ConstraintFix {
20622063 create (ConstraintSystem &cs, ErrorInPhase phase, ConstraintLocator *locator);
20632064};
20642065
2066+ class IgnoreResultBuilderWithReturnStmts final
2067+ : public IgnoreInvalidResultBuilderBody {
2068+ Type BuilderType;
2069+
2070+ IgnoreResultBuilderWithReturnStmts (ConstraintSystem &cs, Type builderTy,
2071+ ConstraintLocator *locator)
2072+ : IgnoreInvalidResultBuilderBody(cs, ErrorInPhase::PreCheck, locator),
2073+ BuilderType (builderTy) {}
2074+
2075+ public:
2076+ bool diagnose (const Solution &solution, bool asNote = false ) const override ;
2077+
2078+ static IgnoreResultBuilderWithReturnStmts *
2079+ create (ConstraintSystem &cs, Type builderTy, ConstraintLocator *locator);
2080+ };
2081+
20652082class SpecifyContextualTypeForNil final : public ConstraintFix {
20662083 SpecifyContextualTypeForNil (ConstraintSystem &cs,
20672084 ConstraintLocator *locator)
0 commit comments