Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoSuchMethodError #9

Open
NeQuissimus opened this issue Oct 11, 2018 · 0 comments
Open

NoSuchMethodError #9

NeQuissimus opened this issue Oct 11, 2018 · 0 comments

Comments

@NeQuissimus
Copy link
Member

NeQuissimus commented Oct 11, 2018

I just ran into something I could not figure out.
Using 0.14.0 of deriving published under com.fommil, the following code works fine.
With 1.0 under org.scalaz it throws an error.

Note that the error happens on any derived typeclass, this one uses scalaz.Equal as an example:

Error:

[info]   java.lang.NoSuchMethodError: scalaz.$div$tilde$bslash$.unapply(Lscalaz/$div$tilde$bslash;)Lscala/O
[info]   ption;
[info]     scalaz.Derivez$$anon$1.$anonfun$productz$2(Derivez.scala:88)
[info]     scalaz.Derivez$$anon$1.$anonfun$productz$2$adapted(Derivez.scala:87)
[info]     scala.collection.LinearSeqOptimized.forall(LinearSeqOptimized.scala:81)
[info]     scala.collection.LinearSeqOptimized.forall$(LinearSeqOptimized.scala:78)
[info]     scala.collection.immutable.List.forall(List.scala:86)
[info]     scalaz.std.ListInstances$$anon$1.all(List.scala:114)
[info]     scalaz.std.ListInstances$$anon$1.all(List.scala:14)
[info]     scalaz.Derivez$$anon$1.scalaz$Derivez$$nestedInanon$$$anonfun$productz$1(Derivez.scala:87)
[info]     scalaz.Derivez$$anon$1$$anonfun$productz$9.equal(Derivez.scala:85)
[info]     blabla.foo.SchemaSpec$.eventEquals(SchemaSpec.scala:102)
[info] blabla.foo.SchemaSpec$.$anonfun$tests$2(SchemaSpec.scala:94)
Flip open code

package blabla

import eu.timepit.refined._
import eu.timepit.refined.api.{ Refined, RefinedTypeOps }
import eu.timepit.refined.boolean._
import eu.timepit.refined.char._
import eu.timepit.refined.collection._
import eu.timepit.refined.string._
import eu.timepit.refined.types.string.{ HexString, NonEmptyString }

import io.circe._
import io.circe.refined._

import scalaz.{ Equal, Scalaz, Show }
import Scalaz._

import blabla.common.refined.scalaz._

package object foo {
type ShortString = String Refined (NonEmpty And MaxSize[W.255.T])
object ShortString extends RefinedTypeOps[ShortString, String]

type ShortUpperCaseString = String Refined (NonEmpty And MaxSize[W.255.T] And Forall[UpperCase])
object ShortUpperCaseString extends RefinedTypeOps[ShortUpperCaseString, String]

type IPAddress = String Refined (IPv4 Or IPv6)
object IPAddress extends RefinedTypeOps[IPAddress, String]

type ISO8601 = String Refined MatchesRegex[
W."^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\\\.[0-9]+)?(Z)?$".T
]
object ISO8601 extends RefinedTypeOps[ISO8601, String]

type Source = ShortString
type Client = ShortUpperCaseString
type Hostname = NonEmptyString
type Username = NonEmptyString
type ProcessName = NonEmptyString
type Date = ISO8601
type Command = NonEmptyString
type Path = NonEmptyString
type ServerName = NonEmptyString
type Group = ShortString
type ProcessId = String Refined Uuid
type SegmentId = HexString

type ModelConfigUrl = String Refined Url

type BsDecoded = NonEmptyString
type BsScore = Double Refined (NonNegative And LessEqual[W.1.0.T])
type BsVersion = ShortString

object BsDecoded extends RefinedTypeOps[BsDecoded, String]
object BsScore extends RefinedTypeOps[BsScore, Double]

}

@scalaz.deriving(Decoder, Equal, ObjectEncoder, Show)
final case class SomethingSomething(
source: Source,
client: Client,
hostname: Hostname,
username: Username,
process_name: ProcessName,
parent_name: ProcessName,
interface_ip: IPAddress,
start: Date,
terminated: Boolean,
last_update: Date,
last_server_update: Date,
cmdline: Command,
path: Path,
cb_server: ServerName,
group: Group,
process_id: ProcessId,
segment_id: SegmentId,
bsDecoded: BsDecoded,
bsScore: BsScore,
bsVersion: BsVersion
)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant