{"action":"created","issue":{"url":"https://api.github.com/repos/dlang/phobos/issues/4288","repository_url":"https://api.github.com/repos/dlang/phobos","labels_url":"https://api.github.com/repos/dlang/phobos/issues/4288/labels{/name}","comments_url":"https://api.github.com/repos/dlang/phobos/issues/4288/comments","events_url":"https://api.github.com/repos/dlang/phobos/issues/4288/events","html_url":"https://github.com/dlang/phobos/pull/4288","id":153639934,"number":4288,"title":"Remove requirement that GCAllocator must be shared","user":{"login":"schveiguy","id":580778,"avatar_url":"https://avatars.githubusercontent.com/u/580778?v=3","gravatar_id":"","url":"https://api.github.com/users/schveiguy","html_url":"https://github.com/schveiguy","followers_url":"https://api.github.com/users/schveiguy/followers","following_url":"https://api.github.com/users/schveiguy/following{/other_user}","gists_url":"https://api.github.com/users/schveiguy/gists{/gist_id}","starred_url":"https://api.github.com/users/schveiguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schveiguy/subscriptions","organizations_url":"https://api.github.com/users/schveiguy/orgs","repos_url":"https://api.github.com/users/schveiguy/repos","events_url":"https://api.github.com/users/schveiguy/events{/privacy}","received_events_url":"https://api.github.com/users/schveiguy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dlang/phobos/labels/@andralex","name":"@andralex","color":"f7c6c7"},{"url":"https://api.github.com/repos/dlang/phobos/labels/allocator","name":"allocator","color":"c2e0c6"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":33,"created_at":"2016-05-08T06:38:39Z","updated_at":"2016-08-15T04:26:57Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dlang/phobos/pulls/4288","html_url":"https://github.com/dlang/phobos/pull/4288","diff_url":"https://github.com/dlang/phobos/pull/4288.diff","patch_url":"https://github.com/dlang/phobos/pull/4288.patch"},"body":"There is no internal state in `GCAllocator`, it just uses the state of the GC via global variable access.\r\n\r\nRequiring one to use `shared(GCAllocator)` everywhere is annoying. Often times one wants to have an allocator inside an object or otherwise, and it sucks to have to mark it shared.\r\n\r\nThis change allows access via shared OR unshared `GCAllocator`.\r\n\r\nI also saw an inefficiency in `resolveInternalPointer`. I can create a separate pull if this is controversial.\r\n\r\nFlagging @andralex, this is somewhat of a design decision, even though the change is transparent."},"comment":{"url":"https://api.github.com/repos/dlang/phobos/issues/comments/239727418","html_url":"https://github.com/dlang/phobos/pull/4288#issuecomment-239727418","issue_url":"https://api.github.com/repos/dlang/phobos/issues/4288","id":239727418,"user":{"login":"andralex","id":566679,"avatar_url":"https://avatars.githubusercontent.com/u/566679?v=3","gravatar_id":"","url":"https://api.github.com/users/andralex","html_url":"https://github.com/andralex","followers_url":"https://api.github.com/users/andralex/followers","following_url":"https://api.github.com/users/andralex/following{/other_user}","gists_url":"https://api.github.com/users/andralex/gists{/gist_id}","starred_url":"https://api.github.com/users/andralex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andralex/subscriptions","organizations_url":"https://api.github.com/users/andralex/orgs","repos_url":"https://api.github.com/users/andralex/repos","events_url":"https://api.github.com/users/andralex/events{/privacy}","received_events_url":"https://api.github.com/users/andralex/received_events","type":"User","site_admin":false},"created_at":"2016-08-15T04:26:57Z","updated_at":"2016-08-15T04:26:57Z","body":"I don't think generic code should instantiate allocators such as `GCAllocator`. The reality is there is only one garbage collected allocator, it's shared by all threads, so modeling it as such seems like a sensible thing to do. "}}
{"actor":{"display_login":"andralex"}}