type-inference

Я хотел бы сделать следующее: public class ImmutableList<T> { public <U super T> ImmutableList<U> add(U element) { ... } } То есть, учитывая неизменяемый список T, Вы можете добавить любой U в список, чтобы получить неизменяемый список U, с ограничением, что U должен быть супертипом T....

В настоящее время я пытаюсь улучшить типы в некотором существующем коде. Мой код выглядит примерно так: /* dispatcher.ts */ interface Message { messageType: string; } class Dispatcher<M extends Message> { on< MessageType extends M["messageType"], SubMessage extends M &a...

у меня возникли некоторые проблемы с навигацией по правилу Java для вывода параметров универсального типа. Рассмотрим следующий класс, который имеет необязательный параметр списка: import java.util.Collections; import java.util.List; public class Person { private String name; private List<String> ...

по словам Спецификация Языка Scala: ... вывод локального типа разрешается ограничивать сложность выводимого границы [параметров типа]. Минимальность и максимальность типов должны быть поняты относительно набора типов допустимой сложности. на практике каковы пределы? кроме того, существуют ли разл...

Я работаю над завершением (intellisense) объекта для C# в emacs. идея заключается в том, что если пользователь вводит фрагмент, а затем запрашивает завершение с помощью определенной комбинации клавиш, средство завершения будет использовать отражение .NET для определения возможных завершений. для этого тр...

я столкнулся с любопытной ситуацией, связанной со статическими общими методами. Это код: class Foo<E> { public static <E> Foo<E> createFoo() { // ... } } class Bar<E> { private Foo<E> member; public Bar() { member = Foo.createFoo(); ...

компилятор F#, по-видимому, выполняет вывод типа (довольно) строго сверху вниз, слева направо. Это означает, что вы должны делать такие вещи, как поставить все определения перед их использованием, порядок компиляции файлов является значительным, и вам, как правило, нужно переставлять вещи (через |> или что...

Я новичок в Haskell и сталкиваюсь с ошибкой" не могу построить бесконечный тип", которую я не могу понять. на самом деле, помимо этого, я не смог найти хорошего объяснения того, что эта ошибка даже означает, поэтому, если бы вы могли выйти за рамки моего основного вопроса и объяснить ошибку "бесконечного ти...

Я получаю следующую ошибку, когда я пытаюсь найти RecycleView по id. ошибка:- Ошибка вывода типа: недостаточно информации для вывода параметра T код: class FirstRecycleViewExample : AppCompatActivity() { val data = arrayListOf<String>() override fun onCreate(savedInstanceState: Bundl...

следующий код удивительно успешно компилируется: Consumer<String> p = ""::equals; такое: p = s -> "".equals(s); но это не удается с ошибкой boolean cannot be converted to void как и ожидалось: p = s -> true; модификация второго примера со скобками также не удается: p = s -> ("".equals...