{"action":"opened","issue":{"url":"https://api.github.com/repos/Araq/Nim/issues/2474","labels_url":"https://api.github.com/repos/Araq/Nim/issues/2474/labels{/name}","comments_url":"https://api.github.com/repos/Araq/Nim/issues/2474/comments","events_url":"https://api.github.com/repos/Araq/Nim/issues/2474/events","html_url":"https://github.com/Araq/Nim/issues/2474","id":66557681,"number":2474,"title":"Add return value to incl/excl procedures","user":{"login":"endragor","id":2417849,"avatar_url":"https://avatars.githubusercontent.com/u/2417849?v=3","gravatar_id":"","url":"https://api.github.com/users/endragor","html_url":"https://github.com/endragor","followers_url":"https://api.github.com/users/endragor/followers","following_url":"https://api.github.com/users/endragor/following{/other_user}","gists_url":"https://api.github.com/users/endragor/gists{/gist_id}","starred_url":"https://api.github.com/users/endragor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endragor/subscriptions","organizations_url":"https://api.github.com/users/endragor/orgs","repos_url":"https://api.github.com/users/endragor/repos","events_url":"https://api.github.com/users/endragor/events{/privacy}","received_events_url":"https://api.github.com/users/endragor/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-04-06T08:27:12Z","updated_at":"2015-04-06T08:27:12Z","closed_at":null,"body":"It's sometimes useful to know whether your call to `incl`/`excl` actually changed the set. In other words, to know whether the element existed in the set at the point you were making the call.\r\n\r\nBut right now `incl`/`excl` procedures return nothing. Performance-wise it should be cheap, if not free, to make them have `true`/`false` return values.\r\nThe procedures will have to be marked as `{.discardable.}` to preserve backward compatibility and due to the fact that often you actually do not need the return value."}}