{"action":"opened","issue":{"url":"https://api.github.com/repos/functionaljava/functionaljava/issues/81","labels_url":"https://api.github.com/repos/functionaljava/functionaljava/issues/81/labels{/name}","comments_url":"https://api.github.com/repos/functionaljava/functionaljava/issues/81/comments","events_url":"https://api.github.com/repos/functionaljava/functionaljava/issues/81/events","html_url":"https://github.com/functionaljava/functionaljava/issues/81","id":54414443,"number":81,"title":"toString causes stackoverflow on Some","user":{"login":"Synesso","id":21859,"avatar_url":"https://avatars.githubusercontent.com/u/21859?v=3","gravatar_id":"","url":"https://api.github.com/users/Synesso","html_url":"https://github.com/Synesso","followers_url":"https://api.github.com/users/Synesso/followers","following_url":"https://api.github.com/users/Synesso/following{/other_user}","gists_url":"https://api.github.com/users/Synesso/gists{/gist_id}","starred_url":"https://api.github.com/users/Synesso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Synesso/subscriptions","organizations_url":"https://api.github.com/users/Synesso/orgs","repos_url":"https://api.github.com/users/Synesso/repos","events_url":"https://api.github.com/users/Synesso/events{/privacy}","received_events_url":"https://api.github.com/users/Synesso/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-01-15T05:38:10Z","updated_at":"2015-01-15T05:38:10Z","closed_at":null,"body":"`Option.some(\"\").toString()` results in StackOverflowException.\r\n\r\nThis means assertEquals can't be used in JUnit tests with Options because attempts by that framework to generate an assert failure message result in stack overflow.\r\n\r\n    java.lang.StackOverflowError\r\n    at fj.data.LazyString.toString(LazyString.java:111)\r\n    at java.lang.StringBuilder.<init>(StringBuilder.java:81)\r\n    ....\r\n    at fj.data.LazyString.toString(LazyString.java:111)\r\n    at java.lang.StringBuilder.<init>(StringBuilder.java:81)\r\n    at fj.data.Stream.asString(Stream.java:1049)\r\n    at fj.Show.showS(Show.java:83)\r\n    at fj.data.Option.toString(Option.java:51)"}}