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

OSCHINA-MIRROR/openharmony-arkcompiler_ets_frontend

 / Детали:

[Новое требование]: [ArkTS] Реализовать проверки для 'out T'

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

Новое требование предоставляет какие возможности?

Основной причиной использования типа параметра out является возможность присваивания одного и того же класса с различными типами параметров, связанными через подтипизацию.

Пример:

class A<out T> {
    fld: T // fld должен быть помечен как 'только для чтения'
    конструктор (a: T) {
        this.fld = a; // Это допустимо, так как только-для-чтения переменная может быть переопределена при инициализации
    }
    foo (b: T) { // Ошибка компиляции, тип входного параметра функции не может быть 'out T'
    ...
    }
    foo2 (c: number): T { // Допустимо, тип выходного параметра функции может быть 'out T'
    ...
    }
}

Дополнительные тестовые случаи: #2492

Какова ценность данного требования, в каких сценариях он применяется?

Ценность данного требования заключается в том, что использование типа параметра out позволяет создавать более гибкие и безопасные системы типов. Он применим в ситуациях, где требуется передача данных только для чтения, чтобы обеспечить корректное выполнение программы и предотвратить изменения значений после их инициализации.

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

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
enhancement
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