{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/1190","labels_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1190/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1190/comments","events_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1190/events","html_url":"https://github.com/rust-lang/rfcs/pull/1190","id":93146125,"number":1190,"title":"Style: function declarations","user":{"login":"nrc","id":762626,"avatar_url":"https://avatars.githubusercontent.com/u/762626?v=3","gravatar_id":"","url":"https://api.github.com/users/nrc","html_url":"https://github.com/nrc","followers_url":"https://api.github.com/users/nrc/followers","following_url":"https://api.github.com/users/nrc/following{/other_user}","gists_url":"https://api.github.com/users/nrc/gists{/gist_id}","starred_url":"https://api.github.com/users/nrc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nrc/subscriptions","organizations_url":"https://api.github.com/users/nrc/orgs","repos_url":"https://api.github.com/users/nrc/repos","events_url":"https://api.github.com/users/nrc/events{/privacy}","received_events_url":"https://api.github.com/users/nrc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rust-lang/rfcs/labels/T-lang","name":"T-lang","color":"bfd4f2"}],"state":"open","locked":false,"assignee":{"login":"nrc","id":762626,"avatar_url":"https://avatars.githubusercontent.com/u/762626?v=3","gravatar_id":"","url":"https://api.github.com/users/nrc","html_url":"https://github.com/nrc","followers_url":"https://api.github.com/users/nrc/followers","following_url":"https://api.github.com/users/nrc/following{/other_user}","gists_url":"https://api.github.com/users/nrc/gists{/gist_id}","starred_url":"https://api.github.com/users/nrc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nrc/subscriptions","organizations_url":"https://api.github.com/users/nrc/orgs","repos_url":"https://api.github.com/users/nrc/repos","events_url":"https://api.github.com/users/nrc/events{/privacy}","received_events_url":"https://api.github.com/users/nrc/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2015-07-05T20:49:21Z","updated_at":"2015-07-06T02:36:56Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rfcs/pulls/1190","html_url":"https://github.com/rust-lang/rfcs/pull/1190","diff_url":"https://github.com/rust-lang/rfcs/pull/1190.diff","patch_url":"https://github.com/rust-lang/rfcs/pull/1190.patch"},"body":"How should we format function declarations?"},"comment":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/comments/118697011","html_url":"https://github.com/rust-lang/rfcs/pull/1190#issuecomment-118697011","issue_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1190","id":118697011,"user":{"login":"BurntSushi","id":456674,"avatar_url":"https://avatars.githubusercontent.com/u/456674?v=3","gravatar_id":"","url":"https://api.github.com/users/BurntSushi","html_url":"https://github.com/BurntSushi","followers_url":"https://api.github.com/users/BurntSushi/followers","following_url":"https://api.github.com/users/BurntSushi/following{/other_user}","gists_url":"https://api.github.com/users/BurntSushi/gists{/gist_id}","starred_url":"https://api.github.com/users/BurntSushi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BurntSushi/subscriptions","organizations_url":"https://api.github.com/users/BurntSushi/orgs","repos_url":"https://api.github.com/users/BurntSushi/repos","events_url":"https://api.github.com/users/BurntSushi/events{/privacy}","received_events_url":"https://api.github.com/users/BurntSushi/received_events","type":"User","site_admin":false},"created_at":"2015-07-06T02:36:56Z","updated_at":"2015-07-06T02:36:56Z","body":"I am quite partial to this style (which I don't see in the RFC---but perhaps I missed it---although I think I saw @Gankro post it):\r\n\r\n```rust\r\nfn foo<A, B, C>(\r\n    a: A,\r\n    b: B,\r\n    c: C,\r\n) -> Foo {\r\n    // ...\r\n}\r\n```\r\n\r\nHow `where` fits into this isn't always clear, but just fishing through my code, I see this:\r\n\r\n```rust\r\n    pub fn send<'c: 'a, 'b: 'a, C, T, F>(\r\n        mut self,\r\n        chan: C,\r\n        val: T,\r\n        mut run: F,\r\n    ) -> Select<'a> where C: Sender<Item=T> + Clone + 'c,\r\n                          T: 'b,\r\n                          F: FnMut() + 'a {\r\n    // ...\r\n}\r\n```\r\n\r\nI like my first example. I am less happy with the second."}}