Skip to content

Instantly share code, notes, and snippets.

package com.thealp.paripi.shared.warts
import org.wartremover.WartTraverser
import org.wartremover.WartUniverse
object OverrideMod extends WartTraverser {
override def apply(u: WartUniverse): u.Traverser =
new u.Traverser(this) {
import q.reflect.*
override def traverseTree(tree: Tree)(owner: Symbol): Unit = {
import sbt.*
import sbt.Keys.*
object CountImplicitKeywordPlugin extends AutoPlugin {
override def trigger: PluginTrigger = allRequirements
object autoImport {
val implicitKeyword = taskKey[Int]("")
val allImplicitKeyword = taskKey[Seq[(String, Int)]]("")
}
import autoImport.*
package fix
import scala.meta._
import scalafix.v1._
class ImplicitClassExtension extends SyntacticRule("ImplicitClassExtension") {
val exclude: Seq[String] = Seq(
// 書き換えるとoverload衝突する場合や、呼び出しの優先順位変わってエラーになるものなど、
// 下記の条件で除外しきれなかった例外的なものをfile単位で除くためにここに記述
)
import scala.compiletime.ops.int
import scala.compiletime.ops.long
import scala.compiletime.ops.double
type Factorial[A <: Int] =
Factorial0[A, 1L]
type Factorial0[A <: Int, B <: Long] <: Long =
int.<[A, 1] match
case true =>
import scala.compiletime.ops.int
import scala.compiletime.ops.double
type F1[A <: Int] <: Double =
int.%[A, 2] match
case 0 =>
1d
case 1 =>
-1d
package x;
class A {
public int a() { return 2; }
}
public class B extends A{}
@xuwei-k
xuwei-k / SudokuSolver.scala
Last active September 8, 2024 08:48
Scala 3 match type sudoku solver
import scala.compiletime.ops.boolean.&&
import scala.compiletime.ops.boolean
import scala.compiletime.ops.string
import scala.compiletime.ops.int
import scala.compiletime.ops.any
type ToSquare = (
0, 0, 0, 1, 1, 1, 2, 2, 2,
0, 0, 0, 1, 1, 1, 2, 2, 2,
0, 0, 0, 1, 1, 1, 2, 2, 2,
import scala.compiletime.ops.boolean.&&
import scala.compiletime.ops.boolean
import scala.compiletime.ops.int
import scala.compiletime.ops.any
type ToSquare = (
0, 0, 0, 1, 1, 1, 2, 2, 2,
0, 0, 0, 1, 1, 1, 2, 2, 2,
0, 0, 0, 1, 1, 1, 2, 2, 2,
3, 3, 3, 4, 4, 4, 5, 5, 5,
@xuwei-k
xuwei-k / Sudoku.scala
Created September 7, 2024 11:32
sudoku
import scala.compiletime.ops.boolean.&&
type Sudoku[A <: Tuple] = A match {
case (
_1_1 *: _1_2 *: _1_3 *: _1_4 *: _1_5 *: _1_6 *: _1_7 *: _1_8 *: _1_9 *:
_2_1 *: _2_2 *: _2_3 *: _2_4 *: _2_5 *: _2_6 *: _2_7 *: _2_8 *: _2_9 *:
_3_1 *: _3_2 *: _3_3 *: _3_4 *: _3_5 *: _3_6 *: _3_7 *: _3_8 *: _3_9 *:
_4_1 *: _4_2 *: _4_3 *: _4_4 *: _4_5 *: _4_6 *: _4_7 *: _4_8 *: _4_9 *:
_5_1 *: _5_2 *: _5_3 *: _5_4 *: _5_5 *: _5_6 *: _5_7 *: _5_8 *: _5_9 *:
_6_1 *: _6_2 *: _6_3 *: _6_4 *: _6_5 *: _6_6 *: _6_7 *: _6_8 *: _6_9 *:
import scala.compiletime.ops.boolean.&&
type Sudoku[A <: Tuple] = A match {
case (
_1_1 *: _1_2 *: _1_3 *: _1_4 *: _1_5 *: _1_6 *: _1_7 *: _1_8 *: _1_9 *:
_2_1 *: _2_2 *: _2_3 *: _2_4 *: _2_5 *: _2_6 *: _2_7 *: _2_8 *: _2_9 *:
_3_1 *: _3_2 *: _3_3 *: _3_4 *: _3_5 *: _3_6 *: _3_7 *: _3_8 *: _3_9 *:
_4_1 *: _4_2 *: _4_3 *: _4_4 *: _4_5 *: _4_6 *: _4_7 *: _4_8 *: _4_9 *:
_5_1 *: _5_2 *: _5_3 *: _5_4 *: _5_5 *: _5_6 *: _5_7 *: _5_8 *: _5_9 *:
_6_1 *: _6_2 *: _6_3 *: _6_4 *: _6_5 *: _6_6 *: _6_7 *: _6_8 *: _6_9 *: