Как подавить intellij ошибку IDEA в редакторе при использовании макросовой аннотации Binding.scala?
Несмотря на это компилируется и запускается в консоли sbt. Intellij жалуется, что у меня должен быть Binding[Node] вместо Elem в редакторе.
@dom def renderDiv: Binding[Div] = <div>...</div>
С точки зрения intellij IDEA, этот метод возвращает Elem
который является подтипом scala.xml.Node
, но при рендеринге:
dom.render(document.getElementById("root"),renderDiv)
это требует org.scalajs.dom.raw.Node
,
Есть ли обходной путь к этому?
1 ответ
Решение
Могло бы поместить неявное преобразование def в область видимости:
package object xxx {
implicit def makeIntellijHappy[T<:org.scalajs.dom.raw.Node](x: scala.xml.Node): Binding[T] =
throw new AssertionError("This should never execute.")
}
Определите метод выше в объекте пакета, таким образом, он охватывает весь пакет. Этот метод никогда не будет выполнен, на самом деле.