Skip to content

Commit 45dcb56

Browse files
AndaristHansBrende
andauthored
Port "Fix #61098" (#1810)
Co-authored-by: Hans Brende <[email protected]>
1 parent 9ba3656 commit 45dcb56

File tree

3 files changed

+16
-66
lines changed

3 files changed

+16
-66
lines changed

internal/checker/relater.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3298,6 +3298,22 @@ func (r *Relater) structuredTypeRelatedToWorker(source *Type, target *Type, repo
32983298
return result
32993299
}
33003300
}
3301+
case source.flags&TypeFlagsTemplateLiteral != 0:
3302+
if slices.Equal(source.AsTemplateLiteralType().texts, target.AsTemplateLiteralType().texts) {
3303+
result = TernaryTrue
3304+
for i, sourceType := range source.AsTemplateLiteralType().types {
3305+
targetType := target.AsTemplateLiteralType().types[i]
3306+
result &= r.isRelatedTo(sourceType, targetType, RecursionFlagsBoth, false /*reportErrors*/)
3307+
if result == TernaryFalse {
3308+
return result
3309+
}
3310+
}
3311+
return result
3312+
}
3313+
case source.flags&TypeFlagsStringMapping != 0:
3314+
if source.AsStringMappingType().Symbol() == target.AsStringMappingType().Symbol() {
3315+
return r.isRelatedTo(source.AsStringMappingType().target, target.AsStringMappingType().target, RecursionFlagsBoth, false /*reportErrors*/)
3316+
}
33013317
}
33023318
if source.flags&TypeFlagsObject == 0 {
33033319
return TernaryFalse

testdata/baselines/reference/submodule/compiler/assignmentToConditionalBrandedStringTemplateOrMapping.errors.txt

Lines changed: 0 additions & 31 deletions
This file was deleted.

testdata/baselines/reference/submodule/compiler/assignmentToConditionalBrandedStringTemplateOrMapping.errors.txt.diff

Lines changed: 0 additions & 35 deletions
This file was deleted.

0 commit comments

Comments
 (0)