Spec-Zone.ru › Scala 3.1

Класс scala.annotation.implicitAmbiguous

Исходный код

@getter
final class implicitAmbiguous(msg: String) extends ConstantAnnotation

Для настройки сообщения об ошибке, которое генерируется, когда поиск неявных значений обнаруживает несколько неоднозначных значений, добавьте аннотацию, по крайней мере, к одному из неявных значений @implicitAmbiguous. Предполагая, что неявное значение — это метод с параметрами типа X1,..., XN, сообщение об ошибке будет результатом замены всех вхождений ${Xi} в строке msg строковым представлением соответствующего аргумента типа Ti.

Если собрано более одной аннотации @implicitAmbiguous, компилятор свободен выбрать любую из них для отображения.

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

trait =!=[C, D]

implicit def neq[E, F] : E =!= F = null

@annotation.implicitAmbiguous("Could not prove ${J} =!= ${J}")
implicit def neqAmbig1[G, H, J] : J =!= J = null
implicit def neqAmbig2[I] : I =!= I = null

implicitly[Int =!= Int]
Суперобъекты
Тракт ConstantAnnotation
Тракт StaticAnnotation
Класс Annotation
Класс Object
Тракт Matchable
Класс Any

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/annotation/implicitAmbiguous.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API