Skip to content

Commit f194f18

Browse files
chuckjazhansl
authored andcommitted
fix(language-service): infer any ngForOf of type any
Fixes: angular#17611
1 parent 4e6be15 commit f194f18

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

packages/compiler-cli/src/diagnostics/expression_diagnostics.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,8 @@ function refinedVariableType(
154154
}
155155
}
156156

157-
// We can't do better, just return the original type.
158-
return type;
157+
// We can't do better, return any
158+
return info.query.getBuiltinType(BuiltinType.Any);
159159
}
160160

161161
function getEventDeclaration(info: DiagnosticTemplateInfo, includeEvent?: boolean) {

packages/language-service/test/diagnostics_spec.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ describe('diagnostics', () => {
5959
(ngHost as any)._reflector = null;
6060
ngService.getDiagnostics(fileName);
6161
});
62+
63+
// #17611
64+
it('should not report diagnostic on iteration of any',
65+
() => { accept('<div *ngFor="let value of anyValue">{{value.someField}}</div>'); });
6266
});
6367

6468
describe('with $event', () => {

packages/language-service/test/test_data.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ export class TemplateReference {
148148
id: 1,
149149
name: 'Windstorm'
150150
};
151+
anyValue: any;
151152
myClick(event: any) {
152153
153154
}

0 commit comments

Comments
 (0)