{"action":"opened","issue":{"url":"https://api.github.com/repos/milessabin/shapeless/issues/376","labels_url":"https://api.github.com/repos/milessabin/shapeless/issues/376/labels{/name}","comments_url":"https://api.github.com/repos/milessabin/shapeless/issues/376/comments","events_url":"https://api.github.com/repos/milessabin/shapeless/issues/376/events","html_url":"https://github.com/milessabin/shapeless/issues/376","id":71533254,"number":376,"title":"Witness suport for all singleton types in Scala","user":{"login":"Tzbob","id":906509,"avatar_url":"https://avatars.githubusercontent.com/u/906509?v=3","gravatar_id":"","url":"https://api.github.com/users/Tzbob","html_url":"https://github.com/Tzbob","followers_url":"https://api.github.com/users/Tzbob/followers","following_url":"https://api.github.com/users/Tzbob/following{/other_user}","gists_url":"https://api.github.com/users/Tzbob/gists{/gist_id}","starred_url":"https://api.github.com/users/Tzbob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tzbob/subscriptions","organizations_url":"https://api.github.com/users/Tzbob/orgs","repos_url":"https://api.github.com/users/Tzbob/repos","events_url":"https://api.github.com/users/Tzbob/events{/privacy}","received_events_url":"https://api.github.com/users/Tzbob/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-04-28T09:22:26Z","updated_at":"2015-04-28T09:22:26Z","closed_at":null,"body":"At the moment the following scenarios should work:\r\n\r\n```scala\r\n  val wTrue = Witness(true)\r\n  val w0 = Witness(0)\r\n  val wFoo = Witness('foo)\r\n  val wBaz = Witness(\"baz\")\r\n\r\n  object Quux\r\n  val wQuux = Witness(Quux)\r\n```\r\n\r\nWhile stable identifiers that are a subclass of AnyRef do not when they could:\r\n\r\n```scala\r\n  val baaz = new Object {}\r\n  val wBaaz = Witness(baaz) // Witness of baaz.type\r\n```"}}