Как объявить параметры функции с зависимыми от пути типами? - PullRequest
1 голос
/ 24 марта 2020

Кажется возможным, но я не в состоянии. Люди задают много вопросов об этом использовании в конструкторе классов, но я не могу использовать его даже для простой функции.

У меня есть класс с именем DependecyChecker, который использует скалярную библиотеку Graph. Внутри моего класса я создаю график и сохраняю его в значении, называемом DAG. Затем существует метод, который возвращает указанный c узел графа. В этом методе я указал тип возвращаемого значения this.DAG.NodeT, и он хорошо работает.

Затем я пытаюсь передать возврат такого метода другой функции, вне учебный класс. Я немного смущен. Что я пробовал:

def func(arg: DependencyChecker#Graph#NodeT){
  arg
}

def func(arg: DependencyChecker#DAG#NodeT){
  arg
}

def fund[A](arg: A#Graph#NodeT){
  arg
}

def fund[A <: DependencyChecker](arg: A#Graph#NodeT){
  arg
}

Ничего из вышеперечисленного не работает. У меня вроде как заканчиваются идеи, и это кажется очень простым, но я не могу ни найти, как это сделать, ни изучить это самостоятельно. Как мне это сделать?

PS. Тип Graph - это тип значения DAG, но этот тип не хранится в моем классе. Импортировано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...