{"action":"created","issue":{"url":"https://api.github.com/repos/cis198-2016s/slides/issues/4","repository_url":"https://api.github.com/repos/cis198-2016s/slides","labels_url":"https://api.github.com/repos/cis198-2016s/slides/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/cis198-2016s/slides/issues/4/comments","events_url":"https://api.github.com/repos/cis198-2016s/slides/issues/4/events","html_url":"https://github.com/cis198-2016s/slides/issues/4","id":131812154,"number":4,"title":"Improvement suggestions for 02","user":{"login":"bluss","id":3209739,"avatar_url":"https://avatars.githubusercontent.com/u/3209739?v=3","gravatar_id":"","url":"https://api.github.com/users/bluss","html_url":"https://github.com/bluss","followers_url":"https://api.github.com/users/bluss/followers","following_url":"https://api.github.com/users/bluss/following{/other_user}","gists_url":"https://api.github.com/users/bluss/gists{/gist_id}","starred_url":"https://api.github.com/users/bluss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bluss/subscriptions","organizations_url":"https://api.github.com/users/bluss/orgs","repos_url":"https://api.github.com/users/bluss/repos","events_url":"https://api.github.com/users/bluss/events{/privacy}","received_events_url":"https://api.github.com/users/bluss/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-06T03:14:07Z","updated_at":"2016-02-06T23:45:55Z","closed_at":null,"body":"### slide 11\r\n\r\n- Tuple structs have numbered field accessors just like tuples:  for example `c.0, c.1, c.2`\r\n\r\n### 18\r\n\r\n- > Structs & enums exist on the stack by default, so they may not be recursive.\r\n\r\n- You should say that fields of structs and enum variants are stored *inline* (not via indirection). Where the struct or enum value is stored itself is not under its own control (it may be an element in a vector, for example).\r\n\r\n### 29\r\n\r\n- while let iterates until the pattern doesn't match.\r\n\r\n### 33\r\n\r\n- `<'a>` introduces a generic parameter, to be specific, a lifetime parameter called `'a`.\r\n- The explanation of `x: &'a i32` seems strange. It simply means that `x` has type `&'a i32` (a reference to a i32 that outlives `'a`).\r\n- Using the expression *lifetime parameter* is in general more correct than most uses of *lifetime*. For example, in the title of slice 35.\r\n\r\n### 36\r\n\r\n- A note that the lifetime parameters outline which output borrows from which input could be useful here. For example, in `p_or_q`, the return value borrows from the input parameter `p`. In `x_or_y`, both input parameters are considered borrowed as long as the return value is alive.\r\n\r\n### 37\r\n\r\n\"Structs can have lifetime parameters\" would be good.\r\n\r\n### 38\r\n\r\nWhen used in other contexts (for example `T: 'static`) note that `'static` does not mean “is alive for the whole program” but rather that ”`T` *may* be kept alive (if you store it somewhere) for the whole program”. Just a note, since I know that many learners have trouble with this."},"comment":{"url":"https://api.github.com/repos/cis198-2016s/slides/issues/comments/180887341","html_url":"https://github.com/cis198-2016s/slides/issues/4#issuecomment-180887341","issue_url":"https://api.github.com/repos/cis198-2016s/slides/issues/4","id":180887341,"user":{"login":"terrynsun","id":2858750,"avatar_url":"https://avatars.githubusercontent.com/u/2858750?v=3","gravatar_id":"","url":"https://api.github.com/users/terrynsun","html_url":"https://github.com/terrynsun","followers_url":"https://api.github.com/users/terrynsun/followers","following_url":"https://api.github.com/users/terrynsun/following{/other_user}","gists_url":"https://api.github.com/users/terrynsun/gists{/gist_id}","starred_url":"https://api.github.com/users/terrynsun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/terrynsun/subscriptions","organizations_url":"https://api.github.com/users/terrynsun/orgs","repos_url":"https://api.github.com/users/terrynsun/repos","events_url":"https://api.github.com/users/terrynsun/events{/privacy}","received_events_url":"https://api.github.com/users/terrynsun/received_events","type":"User","site_admin":false},"created_at":"2016-02-06T23:45:55Z","updated_at":"2016-02-06T23:45:55Z","body":"Thanks for the very detailed feedback! We struggled a lot with how to explain lifetimes so hopefully it's more clear after adding in your suggestions. I definitely didn't think about that detail with `'static`, but it's good to note."}}