Skip to main content
Journey Uncommon Logo
JourneyUncommon
hardTypeScriptvariance (co/contra)Single-choice MCQ

Under `--strict`, which assignment is rejected, and what variance rule causes it?

interface Animal { name: string } interface Dog extends Animal { bark(): void } type FnA = (x: Animal) => void; type FnD = (x: Dog) => void; declare let fa: FnA; declare let fd: FnD; let x: FnD = fa; // (1) let y: FnA = fd; // (2)