Вопросы с тегом «type-inference»

Вывод типа - это процесс автоматического вывода типов для программ с использованием правил, определенных системой типов.

2
Почему `std :: mem :: drop` не совпадает с замыканием | _ | () в границах черт с более высоким рейтингом?
Реализация std::mem::dropзадокументирована следующим образом: pub fn drop<T>(_x: T) { } Таким образом, я ожидаю, что укупорка |_| ()(в просторечии известная как унитаз ) будет потенциальной заменой 1: 1 dropв обоих направлениях. Тем не менее, приведенный ниже код показывает, что dropон не совместим с признаком более высокого ранга, связанным с параметром …

1
Почему параметр типа сильнее параметра метода
Почему public <R, F extends Function<T, R>> Builder<T> withX(F getter, R returnValue) {...} более строгим, чем public <R> Builder<T> with(Function<T, R> getter, R returnValue) {...} Это продолжение того, почему лямбда-тип возврата не проверяется во время компиляции . Я нашел с помощью метода, withX()как .withX(MyInterface::getLength, "I am not a Long") выдает …

1
Разница между выводом типа метода и параметрами типа класса при сопоставлении с образцом
Почему сопоставление с образцом работает по-разному, когда параметр типа поступает из включающего метода, а не из включающего класса? Например, trait Base[T] case class Derived(v: Int) extends Base[Int] class Test[A] { def method(arg: Base[A]) = { arg match { case Derived(_) => 42 } } } дает ошибку constructor cannot be …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.