{"action":"created","comment":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/comments/28985317","id":28985317,"diff_hunk":"@@ -735,15 +735,26 @@ Rust syntax is restricted in two ways:\n \n # Crates and source files\n \n-Rust is a *compiled* language. Its semantics obey a *phase distinction* between\n-compile-time and run-time. Those semantic rules that have a *static\n+Although Rust, like any other language, can be implemented by an interpreter as\n+well as a compiler, the only existing implementation is a compiler &mdash;\n+from now on referred to as *the* Rust compiler &mdash; and the language has\n+always been designed to be compiled. For these reasons, this section assumes a\n+compiler.\n+\n+Rust's semantics obey a *phase distinction* between compile-time and\n+run-time.[^phase-distinction] Those semantic rules that have a *static\n interpretation* govern the success or failure of compilation. Those semantics\n that have a *dynamic interpretation* govern the behavior of the program at\n run-time.\n \n+[^phase-distinction]: This distinction would also exist in an interpreter.\n+    Static checks like syntactic analysis, type checking, and lints should\n+    happen before the program is executed regardless of when it is executed.\n+\n The compilation model centers on artifacts called _crates_. Each compilation\n processes a single crate in source form, and if successful, produces a single\n-crate in binary form: either an executable or a library.[^cratesourcefile]\n+crate in binary form: either an executable or some sort of\n+library.[^cratesourcefile]\n \n [^cratesourcefile]: A crate is somewhat analogous to an *assembly* in the","path":"src/doc/reference.md","position":28,"original_position":28,"commit_id":"e9f298082e84a4c7a355d777fce2b4e3347b16e3","original_commit_id":"e9f298082e84a4c7a355d777fce2b4e3347b16e3","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},"body":"i guess so, whoah\r\n","created_at":"2015-04-23T17:42:27Z","updated_at":"2015-04-23T17:42:27Z","html_url":"https://github.com/rust-lang/rust/pull/24727#discussion_r28985317","pull_request_url":"https://api.github.com/repos/rust-lang/rust/pulls/24727","_links":{"self":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/comments/28985317"},"html":{"href":"https://github.com/rust-lang/rust/pull/24727#discussion_r28985317"},"pull_request":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/24727"}}},"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/24727","id":33976649,"html_url":"https://github.com/rust-lang/rust/pull/24727","diff_url":"https://github.com/rust-lang/rust/pull/24727.diff","patch_url":"https://github.com/rust-lang/rust/pull/24727.patch","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/24727","number":24727,"state":"open","locked":false,"title":"Audit reference manual: 5. Crates and source files","user":{"login":"rkruppe","id":2311707,"avatar_url":"https://avatars.githubusercontent.com/u/2311707?v=3","gravatar_id":"","url":"https://api.github.com/users/rkruppe","html_url":"https://github.com/rkruppe","followers_url":"https://api.github.com/users/rkruppe/followers","following_url":"https://api.github.com/users/rkruppe/following{/other_user}","gists_url":"https://api.github.com/users/rkruppe/gists{/gist_id}","starred_url":"https://api.github.com/users/rkruppe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkruppe/subscriptions","organizations_url":"https://api.github.com/users/rkruppe/orgs","repos_url":"https://api.github.com/users/rkruppe/repos","events_url":"https://api.github.com/users/rkruppe/events{/privacy}","received_events_url":"https://api.github.com/users/rkruppe/received_events","type":"User","site_admin":false},"body":"It was in pretty good shape, but since that is my pet peeve, I clarified the compiler/interpreter distinction and why it is irrelevant for this section. Otherwise only a couple of minor clarifications, and weasel words where reality is more complicated than the text accounted for (e.g., there is more than one kind of library).\r\n\r\nr? @steveklabnik","created_at":"2015-04-23T17:13:12Z","updated_at":"2015-04-23T17:42:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bfa739c87fe17877331fdc49923df1305d70a41c","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,"commits_url":"https://api.github.com/repos/rust-lang/rust/pulls/24727/commits","review_comments_url":"https://api.github.com/repos/rust-lang/rust/pulls/24727/comments","review_comment_url":"https://api.github.com/repos/rust-lang/rust/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/24727/comments","statuses_url":"https://api.github.com/repos/rust-lang/rust/statuses/e9f298082e84a4c7a355d777fce2b4e3347b16e3","head":{"label":"rkruppe:reference-audit","ref":"reference-audit","sha":"e9f298082e84a4c7a355d777fce2b4e3347b16e3","user":{"login":"rkruppe","id":2311707,"avatar_url":"https://avatars.githubusercontent.com/u/2311707?v=3","gravatar_id":"","url":"https://api.github.com/users/rkruppe","html_url":"https://github.com/rkruppe","followers_url":"https://api.github.com/users/rkruppe/followers","following_url":"https://api.github.com/users/rkruppe/following{/other_user}","gists_url":"https://api.github.com/users/rkruppe/gists{/gist_id}","starred_url":"https://api.github.com/users/rkruppe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkruppe/subscriptions","organizations_url":"https://api.github.com/users/rkruppe/orgs","repos_url":"https://api.github.com/users/rkruppe/repos","events_url":"https://api.github.com/users/rkruppe/events{/privacy}","received_events_url":"https://api.github.com/users/rkruppe/received_events","type":"User","site_admin":false},"repo":{"id":33378811,"name":"rust","full_name":"rkruppe/rust","owner":{"login":"rkruppe","id":2311707,"avatar_url":"https://avatars.githubusercontent.com/u/2311707?v=3","gravatar_id":"","url":"https://api.github.com/users/rkruppe","html_url":"https://github.com/rkruppe","followers_url":"https://api.github.com/users/rkruppe/followers","following_url":"https://api.github.com/users/rkruppe/following{/other_user}","gists_url":"https://api.github.com/users/rkruppe/gists{/gist_id}","starred_url":"https://api.github.com/users/rkruppe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkruppe/subscriptions","organizations_url":"https://api.github.com/users/rkruppe/orgs","repos_url":"https://api.github.com/users/rkruppe/repos","events_url":"https://api.github.com/users/rkruppe/events{/privacy}","received_events_url":"https://api.github.com/users/rkruppe/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rkruppe/rust","description":"a safe, concurrent, practical language","fork":true,"url":"https://api.github.com/repos/rkruppe/rust","forks_url":"https://api.github.com/repos/rkruppe/rust/forks","keys_url":"https://api.github.com/repos/rkruppe/rust/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rkruppe/rust/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rkruppe/rust/teams","hooks_url":"https://api.github.com/repos/rkruppe/rust/hooks","issue_events_url":"https://api.github.com/repos/rkruppe/rust/issues/events{/number}","events_url":"https://api.github.com/repos/rkruppe/rust/events","assignees_url":"https://api.github.com/repos/rkruppe/rust/assignees{/user}","branches_url":"https://api.github.com/repos/rkruppe/rust/branches{/branch}","tags_url":"https://api.github.com/repos/rkruppe/rust/tags","blobs_url":"https://api.github.com/repos/rkruppe/rust/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rkruppe/rust/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rkruppe/rust/git/refs{/sha}","trees_url":"https://api.github.com/repos/rkruppe/rust/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rkruppe/rust/statuses/{sha}","languages_url":"https://api.github.com/repos/rkruppe/rust/languages","stargazers_url":"https://api.github.com/repos/rkruppe/rust/stargazers","contributors_url":"https://api.github.com/repos/rkruppe/rust/contributors","subscribers_url":"https://api.github.com/repos/rkruppe/rust/subscribers","subscription_url":"https://api.github.com/repos/rkruppe/rust/subscription","commits_url":"https://api.github.com/repos/rkruppe/rust/commits{/sha}","git_commits_url":"https://api.github.com/repos/rkruppe/rust/git/commits{/sha}","comments_url":"https://api.github.com/repos/rkruppe/rust/comments{/number}","issue_comment_url":"https://api.github.com/repos/rkruppe/rust/issues/comments{/number}","contents_url":"https://api.github.com/repos/rkruppe/rust/contents/{+path}","compare_url":"https://api.github.com/repos/rkruppe/rust/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rkruppe/rust/merges","archive_url":"https://api.github.com/repos/rkruppe/rust/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rkruppe/rust/downloads","issues_url":"https://api.github.com/repos/rkruppe/rust/issues{/number}","pulls_url":"https://api.github.com/repos/rkruppe/rust/pulls{/number}","milestones_url":"https://api.github.com/repos/rkruppe/rust/milestones{/number}","notifications_url":"https://api.github.com/repos/rkruppe/rust/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rkruppe/rust/labels{/name}","releases_url":"https://api.github.com/repos/rkruppe/rust/releases{/id}","created_at":"2015-04-03T19:20:10Z","updated_at":"2015-04-22T19:44:41Z","pushed_at":"2015-04-23T17:06:28Z","git_url":"git://github.com/rkruppe/rust.git","ssh_url":"git@github.com:rkruppe/rust.git","clone_url":"https://github.com/rkruppe/rust.git","svn_url":"https://github.com/rkruppe/rust","homepage":"http://www.rust-lang.org","size":276802,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rust-lang:master","ref":"master","sha":"65f889919d23f5050b09ad4b80b0235f3c882cc7","user":{"login":"rust-lang","id":5430905,"avatar_url":"https://avatars.githubusercontent.com/u/5430905?v=3","gravatar_id":"","url":"https://api.github.com/users/rust-lang","html_url":"https://github.com/rust-lang","followers_url":"https://api.github.com/users/rust-lang/followers","following_url":"https://api.github.com/users/rust-lang/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang/subscriptions","organizations_url":"https://api.github.com/users/rust-lang/orgs","repos_url":"https://api.github.com/users/rust-lang/repos","events_url":"https://api.github.com/users/rust-lang/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":724712,"name":"rust","full_name":"rust-lang/rust","owner":{"login":"rust-lang","id":5430905,"avatar_url":"https://avatars.githubusercontent.com/u/5430905?v=3","gravatar_id":"","url":"https://api.github.com/users/rust-lang","html_url":"https://github.com/rust-lang","followers_url":"https://api.github.com/users/rust-lang/followers","following_url":"https://api.github.com/users/rust-lang/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang/subscriptions","organizations_url":"https://api.github.com/users/rust-lang/orgs","repos_url":"https://api.github.com/users/rust-lang/repos","events_url":"https://api.github.com/users/rust-lang/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rust-lang/rust","description":"a safe, concurrent, practical language","fork":false,"url":"https://api.github.com/repos/rust-lang/rust","forks_url":"https://api.github.com/repos/rust-lang/rust/forks","keys_url":"https://api.github.com/repos/rust-lang/rust/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rust-lang/rust/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rust-lang/rust/teams","hooks_url":"https://api.github.com/repos/rust-lang/rust/hooks","issue_events_url":"https://api.github.com/repos/rust-lang/rust/issues/events{/number}","events_url":"https://api.github.com/repos/rust-lang/rust/events","assignees_url":"https://api.github.com/repos/rust-lang/rust/assignees{/user}","branches_url":"https://api.github.com/repos/rust-lang/rust/branches{/branch}","tags_url":"https://api.github.com/repos/rust-lang/rust/tags","blobs_url":"https://api.github.com/repos/rust-lang/rust/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rust-lang/rust/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rust-lang/rust/git/refs{/sha}","trees_url":"https://api.github.com/repos/rust-lang/rust/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rust-lang/rust/statuses/{sha}","languages_url":"https://api.github.com/repos/rust-lang/rust/languages","stargazers_url":"https://api.github.com/repos/rust-lang/rust/stargazers","contributors_url":"https://api.github.com/repos/rust-lang/rust/contributors","subscribers_url":"https://api.github.com/repos/rust-lang/rust/subscribers","subscription_url":"https://api.github.com/repos/rust-lang/rust/subscription","commits_url":"https://api.github.com/repos/rust-lang/rust/commits{/sha}","git_commits_url":"https://api.github.com/repos/rust-lang/rust/git/commits{/sha}","comments_url":"https://api.github.com/repos/rust-lang/rust/comments{/number}","issue_comment_url":"https://api.github.com/repos/rust-lang/rust/issues/comments{/number}","contents_url":"https://api.github.com/repos/rust-lang/rust/contents/{+path}","compare_url":"https://api.github.com/repos/rust-lang/rust/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rust-lang/rust/merges","archive_url":"https://api.github.com/repos/rust-lang/rust/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rust-lang/rust/downloads","issues_url":"https://api.github.com/repos/rust-lang/rust/issues{/number}","pulls_url":"https://api.github.com/repos/rust-lang/rust/pulls{/number}","milestones_url":"https://api.github.com/repos/rust-lang/rust/milestones{/number}","notifications_url":"https://api.github.com/repos/rust-lang/rust/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rust-lang/rust/labels{/name}","releases_url":"https://api.github.com/repos/rust-lang/rust/releases{/id}","created_at":"2010-06-16T20:39:03Z","updated_at":"2015-04-23T16:15:01Z","pushed_at":"2015-04-23T17:35:29Z","git_url":"git://github.com/rust-lang/rust.git","ssh_url":"git@github.com:rust-lang/rust.git","clone_url":"https://github.com/rust-lang/rust.git","svn_url":"https://github.com/rust-lang/rust","homepage":"http://www.rust-lang.org","size":567880,"stargazers_count":10421,"watchers_count":10421,"language":"Rust","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2017,"mirror_url":null,"open_issues_count":1953,"forks":2017,"open_issues":1953,"watchers":10421,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/24727"},"html":{"href":"https://github.com/rust-lang/rust/pull/24727"},"issue":{"href":"https://api.github.com/repos/rust-lang/rust/issues/24727"},"comments":{"href":"https://api.github.com/repos/rust-lang/rust/issues/24727/comments"},"review_comments":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/24727/comments"},"review_comment":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/24727/commits"},"statuses":{"href":"https://api.github.com/repos/rust-lang/rust/statuses/e9f298082e84a4c7a355d777fce2b4e3347b16e3"}}}}