Слияние кода завершено, страница обновится автоматически
// случай 1
interface I <out T> {
f(p: T)
}
// случай 2
interface I <out T> {
f(p: T): T
}
// случай 3
interface I <out T> {
поле: T
}
// случай 4
interface I <in T> {
f(): T
}
// случай 5
interface I <in T> {
f(p: T): T
}
// случай 6
interface I <in T> {
readonly поле: T
}
TypeError ожидался, но эти случаи могут быть скомпилированы.
Отчет CTE:
для случая 1, 2, 3:
TypeError: Тип параметр 'T' объявлен как 'out', но встречается в 'in' позиции.
для случая 4, 5, 6:
TypeError: Тип параметр 'T' объявлен как 'in', но встречается в 'out' позиции.
Скомпилировать эти случаи
// случай 1
interface I <out T> {
f(p: T)
}
// случай 2
interface I <out T> {
f(p: T): T
}
// случай 3
interface I <out T> {
поле: T
}
// случай 4
interface I <in T> {
f(): T
}
// случай 5
interface I <in T> {
f(p: T): T
}
// случай 6
interface I <in T> {
readonly поле: T
}
TypeError ожидался, но эти случаи могут быть скомпилированы.
Отчет CTE:
для случая 1, 2, 3:
TypeError: Тип параметр 'T' объявлен как 'out', но встречается в 'in' позиции.
для случая 4, 5, 6:
TypeError: Тип параметр 'T' объявлен как 'in', но встречается в 'out' позиции.
Скомпилировать эти случаи
Вход Перед тем как оставить комментарий