1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-arkcompiler_ets_frontend

 / Детали:

[Ошибка]: Умное приведение типов не работает с лямбда-выражениями

Предстоит сделать
Владелец
Создано  
04.03.2025

Какая проблема возникла?

Существуют две неудачи тестов CTS (в настоящее время игнорируются) из-за неподдерживаемых лямбда-выражений в умном кастинге:

  • 15.semantic_rules/07.type_inference/01.smart_types/un1_15.sts
  • 15.semantic_rules/07.type_inference/01.smart_types/un1_17.sts

Пример:

type F1 = (p: string) => string
type F2 = (p: number) => string

function main(): int {
    let res: boolean = false
    let v: F1 | F2 | string | null = null
    v = (p: string): string => { return p + '1' }
    if (!res) {
        res = v('X') === 'X1'
    }
    return (res ? 0 : 1)
}

Какое ожидаемое поведение?

Лямбда-выражения должны распознаваться в умном кастинге.

Как воспроизвести эту ошибку

Существует два теста CTS:

  • 15.semantic_rules/07.type_inference/01.smart_types/un1_15.sts
  • 15.semantic_rules/07.type_inference/01.smart_types/un1_17.sts

Дополнительная информация

Информация о версиях или ветках

  • master
  • 5.0-Beta1
  • Release 4.1
  • Release 4.0
  • Release 3.2

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
bug
label.
GitLife Service Account добавлено
 
waiting_for_assign
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openharmony-arkcompiler_ets_frontend.git
git@api.gitlife.ru:oschina-mirror/openharmony-arkcompiler_ets_frontend.git
oschina-mirror
openharmony-arkcompiler_ets_frontend
openharmony-arkcompiler_ets_frontend