Skip to content

aryairani/macros

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

macros

Some macros I wanted.

libraryDependencies += "arya.net" %% "macros" % "0.1"

SimpleSealedEnum

import net.arya.macros.SimpleSealedEnum

@SimpleSealedEnum('Adult, 'Child)
trait Age

object SimpleSealedEnumTest extends App {
  import Age._
  println(values)

  (Adult: Age) match {
    case Adult  "ok"
  }
}

Gives exhaustiveness checking:

[info] Compiling 1 Scala source to /Users/arya/Dropbox/code/arya/macros/target/scala-2.11/test-classes...
[warn] /Users/arya/Dropbox/code/arya/macros/src/test/scala/SimpleSealedEnumTest.scala:12: match may not be exhaustive.
[warn] It would fail on the following input: Child
[warn]   (Adult: Age) match {
[warn]         ^
[warn] one warning found
[info] Running test.SimpleSealedEnumTest 
List(Adult, Child)

About

Some macros I want.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages