{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/12270","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/12270/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/12270/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/12270/events","html_url":"https://github.com/JuliaLang/julia/pull/12270","id":96671400,"number":12270,"title":"Deprecate IntSet complement and stored zeros","user":{"login":"mbauman","id":154641,"avatar_url":"https://avatars.githubusercontent.com/u/154641?v=3","gravatar_id":"","url":"https://api.github.com/users/mbauman","html_url":"https://github.com/mbauman","followers_url":"https://api.github.com/users/mbauman/followers","following_url":"https://api.github.com/users/mbauman/following{/other_user}","gists_url":"https://api.github.com/users/mbauman/gists{/gist_id}","starred_url":"https://api.github.com/users/mbauman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbauman/subscriptions","organizations_url":"https://api.github.com/users/mbauman/orgs","repos_url":"https://api.github.com/users/mbauman/repos","events_url":"https://api.github.com/users/mbauman/events{/privacy}","received_events_url":"https://api.github.com/users/mbauman/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2015-07-22T21:38:34Z","updated_at":"2015-08-09T03:19:25Z","closed_at":"2015-07-28T20:48:49Z","pull_request":{"url":"https://api.github.com/repos/JuliaLang/julia/pulls/12270","html_url":"https://github.com/JuliaLang/julia/pull/12270","diff_url":"https://github.com/JuliaLang/julia/pull/12270.diff","patch_url":"https://github.com/JuliaLang/julia/pull/12270.patch"},"body":"As discussed in https://github.com/JuliaLang/julia/pull/10065#issuecomment-123369017, this deprecates `complement`, `complement!`, and the ability to explicitly store and test for zero in `IntSet`, paving the way for a much simpler and more straightforward `IndexSet` in 0.5.  This *doesn't* do the rename.  I figure that can happen when we start changing the internals.\r\n\r\nAlso fixes a bug in `pop!`.\r\n\r\n~~(Temporarily without the stored zeros deprecation to try and determine if that was the trigger for the intermittent CI failures)~~"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/129100063","html_url":"https://github.com/JuliaLang/julia/pull/12270#issuecomment-129100063","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/12270","id":129100063,"user":{"login":"StephenVavasis","id":7881863,"avatar_url":"https://avatars.githubusercontent.com/u/7881863?v=3","gravatar_id":"","url":"https://api.github.com/users/StephenVavasis","html_url":"https://github.com/StephenVavasis","followers_url":"https://api.github.com/users/StephenVavasis/followers","following_url":"https://api.github.com/users/StephenVavasis/following{/other_user}","gists_url":"https://api.github.com/users/StephenVavasis/gists{/gist_id}","starred_url":"https://api.github.com/users/StephenVavasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StephenVavasis/subscriptions","organizations_url":"https://api.github.com/users/StephenVavasis/orgs","repos_url":"https://api.github.com/users/StephenVavasis/repos","events_url":"https://api.github.com/users/StephenVavasis/events{/privacy}","received_events_url":"https://api.github.com/users/StephenVavasis/received_events","type":"User","site_admin":false},"created_at":"2015-08-09T03:19:25Z","updated_at":"2015-08-09T03:19:25Z","body":"How about the following plan: leave IntSet in Base and don't deprecate in(0,IntSet()).  Create the new class IndexSet also in Base and use this for the internals.  Then, if there is time before the 0.4 release, move IntSet to DataStructures, but if there is not, postpone this change until 0.5.    To ease the transition, IntSet can temporarily lie in both Base and DataStructures so that users can prepare for the transition early by including the declaration \"using DataStructures.IntSet\"\r\n\r\nBy the way, as was pointed out earlier, based on its name, IntSet should really be able to hold any integer.  It doesn't seem like much existing code would be broken if IntSet were extended (perhaps in 0.5) to include negative integers as well.\r\n\r\nFinally, as I and several others have mentioned in the class, there really should be an abstract class called AbstractSet that sits above IntSet, Set, DataStructures.SortedSet, and the proposed new class IndexSet.\r\n"}}