{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust-by-example/issues/421","labels_url":"https://api.github.com/repos/rust-lang/rust-by-example/issues/421/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust-by-example/issues/421/comments","events_url":"https://api.github.com/repos/rust-lang/rust-by-example/issues/421/events","html_url":"https://github.com/rust-lang/rust-by-example/pull/421","id":54689546,"number":421,"title":"Move all flow control items into `flow control` group. Add `if let` explanations.","user":{"login":"mdinger","id":4156987,"avatar_url":"https://avatars.githubusercontent.com/u/4156987?v=3","gravatar_id":"","url":"https://api.github.com/users/mdinger","html_url":"https://github.com/mdinger","followers_url":"https://api.github.com/users/mdinger/followers","following_url":"https://api.github.com/users/mdinger/following{/other_user}","gists_url":"https://api.github.com/users/mdinger/gists{/gist_id}","starred_url":"https://api.github.com/users/mdinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdinger/subscriptions","organizations_url":"https://api.github.com/users/mdinger/orgs","repos_url":"https://api.github.com/users/mdinger/repos","events_url":"https://api.github.com/users/mdinger/events{/privacy}","received_events_url":"https://api.github.com/users/mdinger/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"steveklabnik","id":27786,"avatar_url":"https://avatars.githubusercontent.com/u/27786?v=3","gravatar_id":"","url":"https://api.github.com/users/steveklabnik","html_url":"https://github.com/steveklabnik","followers_url":"https://api.github.com/users/steveklabnik/followers","following_url":"https://api.github.com/users/steveklabnik/following{/other_user}","gists_url":"https://api.github.com/users/steveklabnik/gists{/gist_id}","starred_url":"https://api.github.com/users/steveklabnik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveklabnik/subscriptions","organizations_url":"https://api.github.com/users/steveklabnik/orgs","repos_url":"https://api.github.com/users/steveklabnik/repos","events_url":"https://api.github.com/users/steveklabnik/events{/privacy}","received_events_url":"https://api.github.com/users/steveklabnik/received_events","type":"User","site_admin":false},"milestone":null,"comments":20,"created_at":"2015-01-18T07:50:58Z","updated_at":"2015-02-15T19:21:54Z","closed_at":"2015-02-15T17:02:46Z","pull_request":{"url":"https://api.github.com/repos/rust-lang/rust-by-example/pulls/421","html_url":"https://github.com/rust-lang/rust-by-example/pull/421","diff_url":"https://github.com/rust-lang/rust-by-example/pull/421.diff","patch_url":"https://github.com/rust-lang/rust-by-example/pull/421.patch"},"body":"This isn't done but I'm working on moving all flow control structures together into the same folder and adding `if let` and `while let` which I don't think are explained anywhere except for their RFC.\r\n\r\nPreviously the flow controllers have been together mostly except for `match` which seems to be alone so some data structures can be introduced. Currently, I think it would be best to move the flow control together, explain them, and link to necessary external sources as necessary. This is not ideal but not bad either. I don't think theres a good reason the controllers should be separated.\r\n\r\nIn the future, it may be a good idea for the datatypes to all be moved to the beginning before the flow control. They shouldn't be as problematic to explain (except for `String`/`&str`).\r\n\r\nI'm not sure moving the controllers around will be well received so I'm trying to explain a little beforehand. I'll try to get `while let` explanations up maybe tomorrow...we'll see.\r\n\r\nI didn't spend a ton of time on the `if let` example. Mainly tried to get it to work. It may need tweaking.\r\n\r\ncc @GBGamer You may be interested in this. Comments welcome, particularly with `if let`."},"comment":{"url":"https://api.github.com/repos/rust-lang/rust-by-example/issues/comments/74432084","html_url":"https://github.com/rust-lang/rust-by-example/pull/421#issuecomment-74432084","issue_url":"https://api.github.com/repos/rust-lang/rust-by-example/issues/421","id":74432084,"user":{"login":"steveklabnik","id":27786,"avatar_url":"https://avatars.githubusercontent.com/u/27786?v=3","gravatar_id":"","url":"https://api.github.com/users/steveklabnik","html_url":"https://github.com/steveklabnik","followers_url":"https://api.github.com/users/steveklabnik/followers","following_url":"https://api.github.com/users/steveklabnik/following{/other_user}","gists_url":"https://api.github.com/users/steveklabnik/gists{/gist_id}","starred_url":"https://api.github.com/users/steveklabnik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveklabnik/subscriptions","organizations_url":"https://api.github.com/users/steveklabnik/orgs","repos_url":"https://api.github.com/users/steveklabnik/repos","events_url":"https://api.github.com/users/steveklabnik/events{/privacy}","received_events_url":"https://api.github.com/users/steveklabnik/received_events","type":"User","site_admin":false},"created_at":"2015-02-15T19:21:54Z","updated_at":"2015-02-15T19:21:54Z","body":"Such is open source. Sometimes you have to nag. It happens."}}