Disable type checking for soy conformance runs.
Currently most of this is skipped anyway, but by disabling it explicitly we trigger a custom check in ResolveTemplateParamTypesPass that fills in the value of default parameters as unknown.
A followup will try to rationalize this decision
GITHUB_BREAKING_CHANGES=none
@@ -645,6 +645,14 @@ public final class SoyFileSet {
// pass.
parse(
passManagerBuilder()
+ // We have to set disableAllTypeChecking to make sure default parameter types don't
+ // break calculating TemplateMetadata objects. This is because SoyConformancePass runs
+ // before ResolveExpressionTypesPass which normally populates the parameter types for
+ // default params. With disableAllTypeChecking set an earlier pass will just set those
+ // types to unknown
+ // TODO(lukes): change the pass continuation mechanism to avoid generating a template
+ // registry if we halt prior to cross template passes.
+ .disableAllTypeChecking()
.addPassContinuationRule(
SoyConformancePass.class, PassContinuationRule.STOP_AFTER_PASS));
throwIfErrorsPresent();
