{"action":"created","issue":{"url":"https://api.github.com/repos/Quick/Nimble/issues/193","labels_url":"https://api.github.com/repos/Quick/Nimble/issues/193/labels{/name}","comments_url":"https://api.github.com/repos/Quick/Nimble/issues/193/comments","events_url":"https://api.github.com/repos/Quick/Nimble/issues/193/events","html_url":"https://github.com/Quick/Nimble/pull/193","id":108039298,"number":193,"title":"Added vargs into waitUntil done","user":{"login":"nikita-leonov","id":991541,"avatar_url":"https://avatars.githubusercontent.com/u/991541?v=3","gravatar_id":"","url":"https://api.github.com/users/nikita-leonov","html_url":"https://github.com/nikita-leonov","followers_url":"https://api.github.com/users/nikita-leonov/followers","following_url":"https://api.github.com/users/nikita-leonov/following{/other_user}","gists_url":"https://api.github.com/users/nikita-leonov/gists{/gist_id}","starred_url":"https://api.github.com/users/nikita-leonov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikita-leonov/subscriptions","organizations_url":"https://api.github.com/users/nikita-leonov/orgs","repos_url":"https://api.github.com/users/nikita-leonov/repos","events_url":"https://api.github.com/users/nikita-leonov/events{/privacy}","received_events_url":"https://api.github.com/users/nikita-leonov/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-24T01:31:32Z","updated_at":"2015-09-24T03:37:56Z","closed_at":"2015-09-24T03:37:56Z","pull_request":{"url":"https://api.github.com/repos/Quick/Nimble/pulls/193","html_url":"https://github.com/Quick/Nimble/pull/193","diff_url":"https://github.com/Quick/Nimble/pull/193.diff","patch_url":"https://github.com/Quick/Nimble/pull/193.patch"},"body":"Currently done does not accept any arguments, as result sometimes it require additional boilerplate code. The current pull request solves this problem.\r\n\r\nHere is an example what we can do with current waitUntil implementation:\r\n```\r\nfunc asyncCall(callback:(Void -> Void)) { ... }\r\nfunc argsAsyncCall(callback:(AnyObject->Void)) { ... }\r\n\r\nwaitUntil { done in\r\n  asyncCall(done) //Looks nice\r\n  asyncCall { _ in done() } //Looks ugly\r\n}\r\n```\r\n\r\nProposed change allows to write code consistently since introduces variadic arguments for done function. Swift allows zero to any amount of variadic arguments. As result we always getting consistent code: \r\n```\r\nwaitUntil { done in \r\n  anyAsyncCall(done) // consistency!\r\n}\r\n```"},"comment":{"url":"https://api.github.com/repos/Quick/Nimble/issues/comments/142798935","html_url":"https://github.com/Quick/Nimble/pull/193#issuecomment-142798935","issue_url":"https://api.github.com/repos/Quick/Nimble/issues/193","id":142798935,"user":{"login":"modocache","id":552921,"avatar_url":"https://avatars.githubusercontent.com/u/552921?v=3","gravatar_id":"","url":"https://api.github.com/users/modocache","html_url":"https://github.com/modocache","followers_url":"https://api.github.com/users/modocache/followers","following_url":"https://api.github.com/users/modocache/following{/other_user}","gists_url":"https://api.github.com/users/modocache/gists{/gist_id}","starred_url":"https://api.github.com/users/modocache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/modocache/subscriptions","organizations_url":"https://api.github.com/users/modocache/orgs","repos_url":"https://api.github.com/users/modocache/repos","events_url":"https://api.github.com/users/modocache/events{/privacy}","received_events_url":"https://api.github.com/users/modocache/received_events","type":"User","site_admin":false},"created_at":"2015-09-24T03:37:56Z","updated_at":"2015-09-24T03:37:56Z","body":"@nikita-leonov `master` is indeed the branch you want! `swift-2.0` was merged into `master` a week ago, in #187. I'll reopen your request against master, #192."}}