public static @Nullable CastRule<?, ?> resolve(LogicalType inputType, LogicalType targetType) {
        return INSTANCE.internalResolve(inputType, targetType);
    }
@Test
    void testResolvePredefinedToString() {
        assertThat(CastRuleProvider.resolve(INT, new VarCharType(10)))
                .isSameAs(CharVarCharTrimPadCastRule.INSTANCE);
        assertThat(CastRuleProvider.resolve(INT, new CharType(10)))
                .isSameAs(CharVarCharTrimPadCastRule.INSTANCE);
        assertThat(CastRuleProvider.resolve(INT, STRING_TYPE))
                .isSameAs(NumericToStringCastRule.INSTANCE);
    }