taggedTemplateStringsWithTypedTags.ts(12,1): error TS2454: Variable 'f' is used before being assigned.
taggedTemplateStringsWithTypedTags.ts(14,1): error TS2454: Variable 'f' is used before being assigned.
taggedTemplateStringsWithTypedTags.ts(16,1): error TS2454: Variable 'f' is used before being assigned.
taggedTemplateStringsWithTypedTags.ts(18,1): error TS2454: Variable 'f' is used before being assigned.
taggedTemplateStringsWithTypedTags.ts(20,1): error TS2454: Variable 'f' is used before being assigned.
taggedTemplateStringsWithTypedTags.ts(22,1): error TS2454: Variable 'f' is used before being assigned.
taggedTemplateStringsWithTypedTags.ts(24,1): error TS2454: Variable 'f' is used before being assigned.
taggedTemplateStringsWithTypedTags.ts(26,1): error TS2454: Variable 'f' is used before being assigned.
taggedTemplateStringsWithTypedTags.ts(28,1): error TS2454: Variable 'f' is used before being assigned.
taggedTemplateStringsWithTypedTags.ts(30,1): error TS2454: Variable 'f' is used before being assigned.


==== taggedTemplateStringsWithTypedTags.ts (10 errors) ====
    interface I {
        (stringParts: TemplateStringsArray, ...rest: number[]): I;
        g: I;
        h: I;
        member: I;
        thisIsNotATag(x: string): void
        [x: number]: I;
    }
    
    var f: I;
    
    f `abc`
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    f `abc${1}def${2}ghi`;
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    f `abc`.member
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    f `abc${1}def${2}ghi`.member;
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    f `abc`["member"];
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    f `abc${1}def${2}ghi`["member"];
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    f `abc`[0].member `abc${1}def${2}ghi`;
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`;
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    f.thisIsNotATag(`abc`);
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    f.thisIsNotATag(`abc${1}def${2}ghi`);
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    