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

OSCHINA-MIRROR/openharmony-arkcompiler_ets_frontend

 / Детали:

[Ошибка]: [ArkTs] Наследование работает некорректно между интерфейсами

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

Какова природа проблемы?

let res: number = 0;

interface I {
    foo(i: number): number {
        return 1;
    }
}
interface J extends I {
    foo(j: string): number {
        return 2;
    }
}
class A implements I, J {}

function main(): void {
    let a = new A();
    assertTrue(a.foo(1.1 as number) === 1);
    assertTrue(a.foo("some string") === 2);
}

Этот код должен успешно скомпилироваться, но возникают ошибки:

TypeError: Нет подходящего сигнатурного вызова для `foo("some string")` [test.sts:18:18]
TypeError: Недопустимый тип операнда, типы операндов должны быть числами, тем же перечислением или логическим типом [test.sts:18:18]
TypeError: Тип `"some string"` несовместим с типом `double` в позиции 1 [test.sts:18:24]

Какое поведение ожидалось?

Успешная компиляция

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

С использованием предоставленных примеров

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

Другие случаи, которые следует решить из тестов ets-cts:
15.semantic_rules/08.overloading_and_overriding/05.overloading_and_overriding_in_interfaces/multiple_interfaces_inheritance_0.sts
15.semantic_rules/08.overloading_and_overriding/05.overloading_and_overriding_in_interfaces/multiple_interfaces_inheritance_2.sts
15.semantic_rules/08.overloading_and_overriding/05.overloading_and_overriding_in_interfaces/two_interfaces_0.sts
15.semantic_rules/08.overloading_and_overriding/05.overloading_and_overriding_in_interfaces/interface_return_value_overload.sts
15.semantic_rules/08.overloading_and_overriding/05.overloading_and_overriding_in_interfaces/interface_return_value_overload_1.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