|
|
|
|
|
by kevinb7
2485 days ago
|
|
I believe that `strictFunctionTypes` only applies to callbacks. TypeScript is okay with the following code even with that option turned on: class Animal {}
class Cat extends Animal { meow() {} }
class Dog extends Animal { woof() {} }
function foo(animals: Animal[]) {
animals.push(new Dog)
}
const cats: Cat[] = [new Cat];
foo(cats);
https://www.typescriptlang.org/play/#code/MYGwhgzhAECCB2BLAt... |
|
When you mentioned "covariant param passing" I assumed you were referring to the long-lasting issue about callbacks, hence my original comment mentioning that that issue has been fixed. It's not useful to differentiate between "assigning a value to a variable of a certain type" and "passing a value to a function parameter of a certain type" because those are identical.