{"action":"created","issue":{"url":"https://api.github.com/repos/travisbrown/circe/issues/339","repository_url":"https://api.github.com/repos/travisbrown/circe","labels_url":"https://api.github.com/repos/travisbrown/circe/issues/339/labels{/name}","comments_url":"https://api.github.com/repos/travisbrown/circe/issues/339/comments","events_url":"https://api.github.com/repos/travisbrown/circe/issues/339/events","html_url":"https://github.com/travisbrown/circe/issues/339","id":169633936,"number":339,"title":"Exponentially increasing compile times when using codec derivation","user":{"login":"shado23","id":600700,"avatar_url":"https://avatars.githubusercontent.com/u/600700?v=3","gravatar_id":"","url":"https://api.github.com/users/shado23","html_url":"https://github.com/shado23","followers_url":"https://api.github.com/users/shado23/followers","following_url":"https://api.github.com/users/shado23/following{/other_user}","gists_url":"https://api.github.com/users/shado23/gists{/gist_id}","starred_url":"https://api.github.com/users/shado23/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shado23/subscriptions","organizations_url":"https://api.github.com/users/shado23/orgs","repos_url":"https://api.github.com/users/shado23/repos","events_url":"https://api.github.com/users/shado23/events{/privacy}","received_events_url":"https://api.github.com/users/shado23/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-08-05T15:31:12Z","updated_at":"2016-08-08T11:27:03Z","closed_at":null,"body":"Trying to derive a codec on the following case class leads to a compile that I killed after more than 20 minutes without having finished.\r\n\r\nReducing the number of values in the case class to a small number allows it to finish, but there appears to be an exponential increase in compile time when re-adding them one by one.\r\n\r\nAuto, semiauto or macro doesn't appear to make a difference and both version 0.4.1 and 0.5.0-M2 show the same behavior (using Scala 2.11.8).\r\n\r\nThat can't be right, can it?\r\n\r\n    import io.circe.syntax._\r\n    import io.circe.generic.auto._\r\n\r\n    case class AssetMetadata(`IPTC:ObjectName`:                    String = \"xyz\",\r\n                             `IPTC:OriginalTransmissionReference`: String = \"xyz\",\r\n                             `IPTC:UniqueDocumentID`:              String = \"xyz\",\r\n                             `IPTC:FixtureIdentifier`:             String = \"xyz\",\r\n                             `XMP:Title`:                          String = \"xyz\",\r\n    \r\n                             `XMP:ImageCreatorName`:               String = \"xyz\",\r\n                             `IPTC:Source`:                        String = \"xyz\",\r\n    \r\n                             `XMP:Creator`:                        String = \"xyz\",\r\n                             `EXIF:Copyright`:                     String = \"xyz\",\r\n                             `IPTC:By-line`:                       String = \"xyz\",\r\n                             `IPTC:Credit`:                        String = \"xyz\",\r\n                             `IPTC:CopyrightNotice`:               String = \"xyz\",\r\n                             `XMP:CreditLine`:                     String = \"xyz\",\r\n    \r\n                             `XMP:ArtworkDateCreated`:             String = \"xyz\",\r\n                             `IPTC:DateCreated`:                   String = \"xyz\",\r\n                             `XMP:DateCreated`:                    String = \"xyz\",\r\n                             `XMP:DateTimeDigitized`:              String = \"xyz\",\r\n    \r\n                             `XMP:AlternateTitleText`:             String = \"xyz\",\r\n                             `XMP:ArtworkTitle`:                   String = \"xyz\",\r\n                             `XMP:ArtworkCreator`:                 String = \"xyz\",\r\n                             `XMP:ArtworkSource`:                  String = \"xyz\",\r\n    \r\n                             `IPTC:Headline`:                      String = \"xyz\",\r\n                             `XMP:Headline`:                       String = \"xyz\",\r\n    \r\n                             `IPTC:Caption-Abstract`:              String = \"xyz\",\r\n                             `XMP:Description`:                    String = \"xyz\",\r\n    \r\n                             `IPTC:Keywords`:                      Seq[String] = Seq(\"xyz\"),\r\n                             `XMP:Subject`:                        Seq[String] = Seq(\"xyz\"),\r\n    \r\n                             `IPTC:SpecialInstructions`:           String = \"xyz\",\r\n                             `XMP:Instructions`:                   String = \"xyz\",\r\n                             `XMP:UsageTerms`:                     String = \"xyz\",\r\n                             `XMP:Restrictions`:                   String = \"xyz\",\r\n    \r\n                             `XMP:Marked`:                         Boolean = true,\r\n                             `XMP:CopyrightStatus`:                String  = \"xyz\",\r\n    \r\n                             `IPTC:Contact`:                       String = \"xyz\",\r\n                             `XMP:CreatorWorkEmail`:               String = \"xyz\",\r\n                             `XMP:CreatorWorkUrl`:                 String = \"xyz\",\r\n                             `XMP:WebStatement`:                   String = \"xyz\")\r\n    \r\n    object Application {\r\n      def main(args: Array[String]): Unit = {\r\n        val asset_metadata = new AssetMetadata\r\n    \r\n        println(asset_metadata.asJson)\r\n      }\r\n    }"},"comment":{"url":"https://api.github.com/repos/travisbrown/circe/issues/comments/238209397","html_url":"https://github.com/travisbrown/circe/issues/339#issuecomment-238209397","issue_url":"https://api.github.com/repos/travisbrown/circe/issues/339","id":238209397,"user":{"login":"shado23","id":600700,"avatar_url":"https://avatars.githubusercontent.com/u/600700?v=3","gravatar_id":"","url":"https://api.github.com/users/shado23","html_url":"https://github.com/shado23","followers_url":"https://api.github.com/users/shado23/followers","following_url":"https://api.github.com/users/shado23/following{/other_user}","gists_url":"https://api.github.com/users/shado23/gists{/gist_id}","starred_url":"https://api.github.com/users/shado23/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shado23/subscriptions","organizations_url":"https://api.github.com/users/shado23/orgs","repos_url":"https://api.github.com/users/shado23/repos","events_url":"https://api.github.com/users/shado23/events{/privacy}","received_events_url":"https://api.github.com/users/shado23/received_events","type":"User","site_admin":false},"created_at":"2016-08-08T11:27:03Z","updated_at":"2016-08-08T11:27:03Z","body":"This appears to be caused by shapeless usage, at least spray-json-shapeless has the same issue and json4s works fine."}}
{"actor":{"display_login":"shado23"}}