Skip to content

Instantly share code, notes, and snippets.

@xuwei-k
Created April 30, 2025 06:17
Show Gist options
  • Save xuwei-k/9e1e56f42b1f7f39b742ea74f2383f86 to your computer and use it in GitHub Desktop.
Save xuwei-k/9e1e56f42b1f7f39b742ea74f2383f86 to your computer and use it in GitHub Desktop.
package example
import org.wartremover.WartTraverser
import org.wartremover.WartUniverse
object DisableDoobieReadInstance extends WartTraverser {
override def apply(u: WartUniverse): u.Traverser =
new u.Traverser(this) {
import q.reflect.*
override def traverseTree(tree: Tree)(owner: Symbol): Unit = {
tree match {
case t @ Ident("given_Read_P")
if t.tpe.dealias.show == "doobie.util.Read.given_Read_P" =>
error(
tree.pos,
"doobie.Readのcompanionのmethodが呼ばれています。compileが遅くなるので、これは避けて独自のものを呼び出すためにimportを追加してください"
)
super.traverseTree(tree)(owner)
case _ =>
super.traverseTree(tree)(owner)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment