Skip to content

Circular reference misdetection #32950

Closed
Closed
@falsandtru

Description

@falsandtru

TypeScript Version: 3.4.0-dev.20190817

Search Terms:

Code

export function f<T extends HTMLOListElement | DocumentFragment>(target: T): T {
  if (target instanceof HTMLOListElement) {
    for (const el of target.querySelectorAll('a')) {
      if (el.closest('ol') !== target) continue;
    }
  }
  return target;
}

Expected behavior:
pass

Actual behavior:

const el: any
'el' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.

Playground Link: http://www.typescriptlang.org/play/index.html#code/KYDwDg9gTgLgBAMwK4DsDGMCWEWIDwAqcoMwKAJgM5wASBAsgDIDyjmlMAogDbAC2ZeAB84AEQhokAlDABiUAIYBzaTAB8AChgKoS4DABccAgEojRAN4AoOHEwI4WnXviYUHBemAQHdJq3YuXlUTOGtbWwRoRzQcDmJuOB84bV19ADoARyRgKABPAGVgXgxoAEFubg0AcgVqk1DwiNt7R2L0tG4ISmAOGohuergAQgBeUZTnfVDYmTccgG4bCIBfZbXbKH0kKFxUlyWVoA

Related Issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScript

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions