fthomas / fthomas/refined

Unacceptable compilation time

Open
#494 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
1.7k
Forks
152
Avg merge
1h 20m
Merged PRs (30d)
6

Description

First of all, the library is cool and all, but the following code compiles for 24 seconds (!):

```scala
import eu.timepit.refined.auto._
import eu.timepit.refined.api.Refined
import eu.timepit.refined.boolean.AnyOf
import eu.timepit.refined.char._
import shapeless._

object Main {
type MyChar = Char Refined AnyOf[Digit :: Letter :: Whitespace :: HNil]

val x00: MyChar = 'f'
val x01: MyChar = 'f'
val x02: MyChar = 'f'
val x03: MyChar = 'f'
val x04: MyChar = 'f'
val x05: MyChar = 'f'
val x06: MyChar = 'f'
val x07: MyChar = 'f'
val x08: MyChar = 'f'
val x09: MyChar = 'f'

val x10: MyChar = 'f'
val x11: MyChar = 'f'
val x12: MyChar = 'f'
val x13: MyChar = 'f'
val x14: MyChar = 'f'
val x15: MyChar = 'f'
val x16: MyChar = 'f'
val x17: MyChar = 'f'
val x18: MyChar = 'f'
val x19: MyChar = 'f'

val x20: MyChar = 'f'
val x21: MyChar = 'f'
val x22: MyChar = 'f'
val x23: MyChar = 'f'
val x24: MyChar = 'f'
val x25: MyChar = 'f'
val x26: MyChar = 'f'
val x27: MyChar = 'f'
val x28: MyChar = 'f'
val x29: MyChar = 'f'

val x30: MyChar = 'f'
val x31: MyChar = 'f'
val x32: MyChar = 'f'
val x33: MyChar = 'f'
val x34: MyChar = 'f'
val x35: MyChar = 'f'
val x36: MyChar = 'f'
val x37: MyChar = 'f'
val x38: MyChar = 'f'
val x39: MyChar = 'f'

val x40: MyChar = 'f'
val x41: MyChar = 'f'
val x42: MyChar = 'f'
val x43: MyChar = 'f'
val x44: MyChar = 'f'
val x45: MyChar = 'f'
val x46: MyChar = 'f'
val x47: MyChar = 'f'
val x48: MyChar = 'f'
val x49: MyChar = 'f'

val x50: MyChar = 'f'
val x51: MyChar = 'f'
val x52: MyChar = 'f'
val x53: MyChar = 'f'
val x54: MyChar = 'f'
val x55: MyChar = 'f'
val x56: MyChar = 'f'
val x57: MyChar = 'f'
val x58: MyChar = 'f'
val x59: MyChar = 'f'

val x60: MyChar = 'f'
val x61: MyChar = 'f'
val x62: MyChar = 'f'
val x63: MyChar = 'f'
val x64: MyChar = 'f'
val x65: MyChar = 'f'
val x66: MyChar = 'f'
val x67: MyChar = 'f'
val x68: MyChar = 'f'
val x69: MyChar = 'f'

val x70: MyChar = 'f'
val x71: MyChar = 'f'
val x72: MyChar = 'f'
val x73: MyChar = 'f'
val x74: MyChar = 'f'
val x75: MyChar = 'f'
val x76: MyChar = 'f'
val x77: MyChar = 'f'
val x78: MyChar = 'f'
val x79: MyChar = 'f'

val x80: MyChar = 'f'
val x81: MyChar = 'f'
val x82: MyChar = 'f'
val x83: MyChar = 'f'
val x84: MyChar = 'f'
val x85: MyChar = 'f'
val x86: MyChar = 'f'
val x87: MyChar = 'f'
val x88: MyChar = 'f'
val x89: MyChar = 'f'

val x90: MyChar = 'f'
val x91: MyChar = 'f'
val x92: MyChar = 'f'
val x93: MyChar = 'f'
val x94: MyChar = 'f'
val x95: MyChar = 'f'
val x96: MyChar = 'f'
val x97: MyChar = 'f'
val x98: MyChar = 'f'
val x99: MyChar = 'f'

val x100: MyChar = 'f'
val x101: MyChar = 'f'
val x102: MyChar = 'f'
val x103: MyChar = 'f'
val x104: MyChar = 'f'
val x105: MyChar = 'f'
val x106: MyChar = 'f'
val x107: MyChar = 'f'
val x108: MyChar = 'f'
val x109: MyChar = 'f'
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.