{"action":"created","comment":{"url":"https://api.github.com/repos/rust-lang/rfcs/pulls/comments/36548795","id":36548795,"diff_hunk":"@@ -0,0 +1,231 @@\n+- Feature Name: N/A\n+- Start Date: 2015-07-29\n+- RFC PR: (leave this empty)\n+- Rust Issue: (leave this empty)\n+\n+# Summary\n+\n+This RFC proposes a policy around the crates under the rust-lang github\n+organization that are not part of the Rust distribution (compiler or standard\n+library). At a high level, it proposes that these crates be:\n+\n+- Governed similarly to the standard library;\n+- Maintained at a similar level to the standard library, including platform support;\n+- Carefully curated for quality.\n+\n+# Motivation\n+\n+There are three main motivations behind this RFC.\n+\n+**Keeping `std` small**. There is a widespread desire to keep the standard\n+  library reasonably small, and for good reason: the stability promises made in\n+  `std` are tied to the versioning of Rust itself, as are updates to it, meaning\n+  that the standard library has much less flexibility than other crates\n+  enjoy. While we *do* plan to continue to grow `std`, and there are legitimate\n+  reasons for APIs to live there, we still plan to take a minimalistic\n+  approach. See\n+  [this discussion](https://internals.rust-lang.org/t/what-should-go-into-the-standard-library/2158)\n+  for more details.\n+\n+The desire to keep `std` small is in tension with the desire to provide\n+high-quality libraries *that belong to the whole Rust community* and cover a\n+wider range of functionality. The poster child here is the\n+[regex crate](https://github.com/rust-lang/regex), which provides vital\n+functionality but is not part of the standard library or basic Rust distribution\n+-- and which is, in principle, under the control of the whole Rust community.\n+\n+This RFC resolves the tension between a \"batteries included\" Rust and a small\n+`std` by treating `rust-lang` crates as, in some sense, \"the rest of the\n+standard library\". While this doesn't solve the entire problem of curating the\n+library ecosystem, it offers a big step for some of the most significant/core\n+functionality we want to commit to.\n+\n+**Staging `std`**. For cases where we do want to grow the standard library, we\n+  of course want to heavily vet APIs before their stabilization. Historically\n+  we've done so by landing the APIs directly in `std`, but marked unstable,\n+  relegating their use to nightly Rust. But in many cases, new `std` APIs can\n+  just as well begin their life as external crates, usable on stable Rust, and\n+  ultimately stabilized wholesale. The recent\n+  [`std::net` RFC](https://github.com/rust-lang/rfcs/pull/1158) is a good\n+  example of this phenomenon.\n+\n+The main challenge to making this kind of \"`std` staging\" work is getting\n+sufficient visibility, central management, and community buy-in for the library\n+prior to stabilization. When there is widespread desire to extend `std` in a\n+certain way, this RFC proposes that the extension can start its life as an\n+external rust-lang crate (ideally usable by stable Rust). It also proposes an\n+eventual migration path into `std`.\n+\n+**Cleanup**. During the stabilization of `std`, a fair amount of functionality\n+   was moved out into external crates hosted under the rust-lang github\n+   organization. The quality and future prospects of these crates varies widely,\n+   and we would like to begin to organize and clean them up.\n+\n+# Detailed design\n+\n+## The lifecycle of a rust-lang crate\n+\n+First, two additional github organizations are proposed:\n+\n+- rust-lang-nursery\n+- rust-lang-deprecated\n+\n+New cratess start their life in a `0.X` series that lives in the\n+rust-lang-nursery. Crates in this state do not represent a major commitment from\n+the Rust maintainers; rather, they signal a trial period. A crate enters the\n+nursery when (1) there is already a working body of code and (2) the library\n+subteam approves a petition for inclusion. The petition is informal (not an\n+RFC), and can take the form of a discuss post laying out the motivation and\n+perhaps some high-level design principles, and linking to the working code.\n+\n+If the library team accepts a crate into the nursery, they are indicating an\n+*interest* in ultimately advertising the crate as \"a core part of Rust\", and in\n+maintaining the crate permanently. During the 0.X series in the nursery, the\n+original crate author maintains control of the crate, approving PRs and so on,\n+but the library subteam and broader community is expected to participate.  As\n+we'll see below, nursery crates will be advertised (though not in the same way\n+as full rust-lang crates), increasing the chances that the crate is scrutinized\n+before being promoted to the next stage.\n+\n+Eventually, a nursery crate will either fail (and move to rust-lang-deprecated)\n+or reach a point where a 1.0 release would be appropriate. The failure case can\n+be decided at any point by the library subteam.\n+\n+If, on the other hand, a library reaches the 1.0 point, it is ready to be\n+promoted into rust-lang proper. To do so, an RFC must be written outlining the\n+motivation for the crate, the reasons that community ownership are important,\n+and delving into the API design and its rationale design. These RFCs are\n+intended to follow similar lines to the pre-1.0 stabilization RFCs for the\n+standard library (such as\n+[collections](https://github.com/rust-lang/rfcs/pull/235) or\n+[Duration](https://github.com/rust-lang/rfcs/pull/1040)) -- which have been very\n+successful in improving API design prior to stabilization. Once a \"1.0 RFC\" is\n+approved by the libs team, the crate moves into the rust-lang organization, and\n+is henceforth governed by the whole Rust community. That means in particular\n+that significant changes (certainly those that would require a major version\n+bump, but other substantial PRs as well) are reviewed by the library subteam and\n+may require an RFC. On the other hand, the community has broadly agreed to\n+maintain the library in perpetuity (unless it is later deprecated). And again,\n+as we'll see below, the promoted crate is very visibly advertised as part of the\n+\"core Rust\" package.\n+\n+Promotion to 1.0 requires first-class support on all first-tier platforms,\n+except for platform-specific libraries.\n+\n+Crates in rust-lang may issue new major versions, just like any other crates,\n+though such changes should go through the RFC process. While the library subteam\n+is responsible for major decisions about the library after 1.0, its original\n+author(s) will of course wield a great deal of influence, and their objections\n+will be given due weight in the consensus process.\n+\n+### Relation to `std`\n+\n+In many cases, the above description of the crate lifecycle is complete. But\n+some rust-lang crates are destined for std. Usually this will be clear up front.\n+\n+When a std-destined crate has reached sufficient maturity, the libs subteam can\n+call a \"final comment period\" for moving it into `std` proper. Assuming there\n+are no blocking objections, the code is moved into `std`, and the original repo\n+is left intact, with the following changes:\n+\n+- a minor version bump,\n+- *conditionally* replacing all definitions with `pub use` from `std` (which\n+  will require the ability to `cfg` switch on feature/API availability -- a\n+  highly-desired feature on its own).\n+\n+By re-routing the library to `std` when available we provide seamless\n+compatibility between users of the library externally and in `std`. In\n+particular, traits and types defined in the crate are compatible across either\n+way of importing them.\n+\n+### Deprecation\n+\n+At some point a library may become stale -- either because it failed to make it\n+out of the nursery, or else because it was supplanted by a superior library. The\n+libs subteam can deprecate nursery crates at any time, and can deprecate\n+rust-lang crates through an RFC. This is expected to be a rare occurrence.\n+\n+Deprecated crates move to rust-lang-deprecated and are subsequently minimally\n+maintained. Alternatively, if someone volunteers to maintain the crate,\n+ownership can be transferred externally.\n+\n+## Advertising\n+\n+Part of the reason for having rust-lang crates is to have a clear, short list of\n+libraries that are broadly useful, vetted and maintained. But where should this\n+list appear?\n+\n+This RFC doesn't specify the complete details, but proposes a basic direction:\n+\n+- The crates in rust-lang should appear in the sidebar in the core rustdocs\n+  distributed with Rust, along side the standard library. (For nightly releases,\n+  we should include the nursery crates as well.)\n+\n+- The crates should also be published on crates.io, and should somehow be\n+*badged*. But the design of a badging/curation system for crates.io is out of\n+scope for this RFC.\n+\n+## Plan for existing crates\n+\n+There are already a number of non-`std` crates in rust-lang. Below, we give the\n+full list along with recommended actions:\n+\n+### Transfer ownership\n+\n+Please volunteer if you're interested in taking one of these on!\n+\n+- rlibc\n+- semver\n+- threadpool\n+\n+### Move to rust-lang-nursery\n+\n+- bitflags\n+- getopts\n+- glob\n+- libc\n+- log\n+- rand (note, @huonw has a major revamp in the works)\n+- regex\n+- rustc-serialize (but will likely be replaced by serde or other approach eventually)\n+- tempdir (destined for `std` after reworking)\n+- uuid\n+\n+### Move to rust-lang-deprecated\n+\n+- fourcc: highly niche\n+- hexfloat: niche\n+- num: this is essentially a dumping ground from 1.0 stabilization; needs a complete re-think.\n+- term: API needs total overhaul\n+- time: needs total overhaul destined for std\n+- url: replaced by https://github.com/servo/rust-url\n+\n+# Drawbacks\n+\n+The drawbacks of this RFC are largely social:\n+\n+* Emphasizing rust-lang crates may alienate some in the Rust community, since it\n+  means that certain libraries obtain a special \"blessing\". This is mitigated by\n+  the fact that these libraries also become owned by the community at large.\n+\n+* On the other hand, requiring that ownership/governance be transferred to the\n+  library subteam may be a disincentive for library authors, since they lose\n+  unilateral control of their libraries. But this is an inherent aspect of the\n+  policy design, and the vastly increased visibility of libraries is likely a\n+  strong enough incentive to overcome this downside.\n+\n+# Alternatives\n+\n+The main alternative would be to not maintain other crates under the rust-lang\n+umbrella, and to offer some other means of curation (the latter of which is\n+needed in any case).\n+\n+That would be a missed opportunity, however; Rust's governance and maintenance\n+model has been very successful so far, and given our minimalistic plans for the\n+standard library, it is very appealing to have *some* other way to apply the\n+full Rust community in taking care of additional crates.\n+\n+# Unresolved questions\n+\n+Part of the maintenance standard for Rust is the CI infrastructure, including\n+bors/homu. What level of CI should we provide for these crates, and how do we do it?","path":"text/0000-rust-lang-crates.md","position":231,"original_position":231,"commit_id":"a690d2faff5c63f9af5ef2095dc1dbcbe4e6bffa","original_commit_id":"a690d2faff5c63f9af5ef2095dc1dbcbe4e6bffa","user":{"login":"Gankro","id":1136864,"avatar_url":"https://avatars.githubusercontent.com/u/1136864?v=3","gravatar_id":"","url":"https://api.github.com/users/Gankro","html_url":"https://github.com/Gankro","followers_url":"https://api.github.com/users/Gankro/followers","following_url":"https://api.github.com/users/Gankro/following{/other_user}","gists_url":"https://api.github.com/users/Gankro/gists{/gist_id}","starred_url":"https://api.github.com/users/Gankro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gankro/subscriptions","organizations_url":"https://api.github.com/users/Gankro/orgs","repos_url":"https://api.github.com/users/Gankro/repos","events_url":"https://api.github.com/users/Gankro/events{/privacy}","received_events_url":"https://api.github.com/users/Gankro/received_events","type":"User","site_admin":false},"body":"Homu also supports aggregating several repos. e.g. this is every single contain-rs repo: http://build.servo.org/homu/queue/all\r\n\r\nI think all the rust-lang crates should show up in the main Rust homu instance so that those of us that have triage OCD are haunted by them.","created_at":"2015-08-07T18:45:17Z","updated_at":"2015-08-07T18:45:17Z","html_url":"https://github.com/rust-lang/rfcs/pull/1242#discussion_r36548795","pull_request_url":"https://api.github.com/repos/rust-lang/rfcs/pulls/1242","_links":{"self":{"href":"https://api.github.com/repos/rust-lang/rfcs/pulls/comments/36548795"},"html":{"href":"https://github.com/rust-lang/rfcs/pull/1242#discussion_r36548795"},"pull_request":{"href":"https://api.github.com/repos/rust-lang/rfcs/pulls/1242"}}},"pull_request":{"url":"https://api.github.com/repos/rust-lang/rfcs/pulls/1242","id":41914101,"html_url":"https://github.com/rust-lang/rfcs/pull/1242","diff_url":"https://github.com/rust-lang/rfcs/pull/1242.diff","patch_url":"https://github.com/rust-lang/rfcs/pull/1242.patch","issue_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1242","number":1242,"state":"open","locked":false,"title":"RFC: policy for rust-lang crates","user":{"login":"aturon","id":709807,"avatar_url":"https://avatars.githubusercontent.com/u/709807?v=3","gravatar_id":"","url":"https://api.github.com/users/aturon","html_url":"https://github.com/aturon","followers_url":"https://api.github.com/users/aturon/followers","following_url":"https://api.github.com/users/aturon/following{/other_user}","gists_url":"https://api.github.com/users/aturon/gists{/gist_id}","starred_url":"https://api.github.com/users/aturon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aturon/subscriptions","organizations_url":"https://api.github.com/users/aturon/orgs","repos_url":"https://api.github.com/users/aturon/repos","events_url":"https://api.github.com/users/aturon/events{/privacy}","received_events_url":"https://api.github.com/users/aturon/received_events","type":"User","site_admin":false},"body":"This RFC proposes a policy around the crates under the rust-lang github organization that are not part of the Rust distribution (compiler or standard library). At a high level, it proposes that these crates be:\r\n\r\n- Governed similarly to the standard library;\r\n- Maintained at a similar level to the standard library, including platform support;\r\n- Carefully curated for quality.\r\n\r\n[Rendered](https://github.com/aturon/rfcs/blob/rust-lang-crates/text/0000-rust-lang-crates.md)","created_at":"2015-08-07T17:23:27Z","updated_at":"2015-08-07T18:45:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f90cb414c3bd986ac748e94a4cb3a1b74483db72","assignee":{"login":"aturon","id":709807,"avatar_url":"https://avatars.githubusercontent.com/u/709807?v=3","gravatar_id":"","url":"https://api.github.com/users/aturon","html_url":"https://github.com/aturon","followers_url":"https://api.github.com/users/aturon/followers","following_url":"https://api.github.com/users/aturon/following{/other_user}","gists_url":"https://api.github.com/users/aturon/gists{/gist_id}","starred_url":"https://api.github.com/users/aturon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aturon/subscriptions","organizations_url":"https://api.github.com/users/aturon/orgs","repos_url":"https://api.github.com/users/aturon/repos","events_url":"https://api.github.com/users/aturon/events{/privacy}","received_events_url":"https://api.github.com/users/aturon/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/rust-lang/rfcs/pulls/1242/commits","review_comments_url":"https://api.github.com/repos/rust-lang/rfcs/pulls/1242/comments","review_comment_url":"https://api.github.com/repos/rust-lang/rfcs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1242/comments","statuses_url":"https://api.github.com/repos/rust-lang/rfcs/statuses/a690d2faff5c63f9af5ef2095dc1dbcbe4e6bffa","head":{"label":"aturon:rust-lang-crates","ref":"rust-lang-crates","sha":"a690d2faff5c63f9af5ef2095dc1dbcbe4e6bffa","user":{"login":"aturon","id":709807,"avatar_url":"https://avatars.githubusercontent.com/u/709807?v=3","gravatar_id":"","url":"https://api.github.com/users/aturon","html_url":"https://github.com/aturon","followers_url":"https://api.github.com/users/aturon/followers","following_url":"https://api.github.com/users/aturon/following{/other_user}","gists_url":"https://api.github.com/users/aturon/gists{/gist_id}","starred_url":"https://api.github.com/users/aturon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aturon/subscriptions","organizations_url":"https://api.github.com/users/aturon/orgs","repos_url":"https://api.github.com/users/aturon/repos","events_url":"https://api.github.com/users/aturon/events{/privacy}","received_events_url":"https://api.github.com/users/aturon/received_events","type":"User","site_admin":false},"repo":{"id":20423396,"name":"rfcs","full_name":"aturon/rfcs","owner":{"login":"aturon","id":709807,"avatar_url":"https://avatars.githubusercontent.com/u/709807?v=3","gravatar_id":"","url":"https://api.github.com/users/aturon","html_url":"https://github.com/aturon","followers_url":"https://api.github.com/users/aturon/followers","following_url":"https://api.github.com/users/aturon/following{/other_user}","gists_url":"https://api.github.com/users/aturon/gists{/gist_id}","starred_url":"https://api.github.com/users/aturon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aturon/subscriptions","organizations_url":"https://api.github.com/users/aturon/orgs","repos_url":"https://api.github.com/users/aturon/repos","events_url":"https://api.github.com/users/aturon/events{/privacy}","received_events_url":"https://api.github.com/users/aturon/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/aturon/rfcs","description":"RFCs for changes to Rust","fork":true,"url":"https://api.github.com/repos/aturon/rfcs","forks_url":"https://api.github.com/repos/aturon/rfcs/forks","keys_url":"https://api.github.com/repos/aturon/rfcs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aturon/rfcs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aturon/rfcs/teams","hooks_url":"https://api.github.com/repos/aturon/rfcs/hooks","issue_events_url":"https://api.github.com/repos/aturon/rfcs/issues/events{/number}","events_url":"https://api.github.com/repos/aturon/rfcs/events","assignees_url":"https://api.github.com/repos/aturon/rfcs/assignees{/user}","branches_url":"https://api.github.com/repos/aturon/rfcs/branches{/branch}","tags_url":"https://api.github.com/repos/aturon/rfcs/tags","blobs_url":"https://api.github.com/repos/aturon/rfcs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aturon/rfcs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aturon/rfcs/git/refs{/sha}","trees_url":"https://api.github.com/repos/aturon/rfcs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aturon/rfcs/statuses/{sha}","languages_url":"https://api.github.com/repos/aturon/rfcs/languages","stargazers_url":"https://api.github.com/repos/aturon/rfcs/stargazers","contributors_url":"https://api.github.com/repos/aturon/rfcs/contributors","subscribers_url":"https://api.github.com/repos/aturon/rfcs/subscribers","subscription_url":"https://api.github.com/repos/aturon/rfcs/subscription","commits_url":"https://api.github.com/repos/aturon/rfcs/commits{/sha}","git_commits_url":"https://api.github.com/repos/aturon/rfcs/git/commits{/sha}","comments_url":"https://api.github.com/repos/aturon/rfcs/comments{/number}","issue_comment_url":"https://api.github.com/repos/aturon/rfcs/issues/comments{/number}","contents_url":"https://api.github.com/repos/aturon/rfcs/contents/{+path}","compare_url":"https://api.github.com/repos/aturon/rfcs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aturon/rfcs/merges","archive_url":"https://api.github.com/repos/aturon/rfcs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aturon/rfcs/downloads","issues_url":"https://api.github.com/repos/aturon/rfcs/issues{/number}","pulls_url":"https://api.github.com/repos/aturon/rfcs/pulls{/number}","milestones_url":"https://api.github.com/repos/aturon/rfcs/milestones{/number}","notifications_url":"https://api.github.com/repos/aturon/rfcs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aturon/rfcs/labels{/name}","releases_url":"https://api.github.com/repos/aturon/rfcs/releases{/id}","created_at":"2014-06-02T23:35:56Z","updated_at":"2015-01-17T17:42:40Z","pushed_at":"2015-08-07T17:26:05Z","git_url":"git://github.com/aturon/rfcs.git","ssh_url":"git@github.com:aturon/rfcs.git","clone_url":"https://github.com/aturon/rfcs.git","svn_url":"https://github.com/aturon/rfcs","homepage":"","size":3165,"stargazers_count":4,"watchers_count":4,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":4,"default_branch":"master"}},"base":{"label":"rust-lang:master","ref":"master","sha":"e324a9682c6bd045206e4f2d3020a6e27182c8b4","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":17527989,"name":"rfcs","full_name":"rust-lang/rfcs","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/rfcs","description":"RFCs for changes to Rust","fork":false,"url":"https://api.github.com/repos/rust-lang/rfcs","forks_url":"https://api.github.com/repos/rust-lang/rfcs/forks","keys_url":"https://api.github.com/repos/rust-lang/rfcs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rust-lang/rfcs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rust-lang/rfcs/teams","hooks_url":"https://api.github.com/repos/rust-lang/rfcs/hooks","issue_events_url":"https://api.github.com/repos/rust-lang/rfcs/issues/events{/number}","events_url":"https://api.github.com/repos/rust-lang/rfcs/events","assignees_url":"https://api.github.com/repos/rust-lang/rfcs/assignees{/user}","branches_url":"https://api.github.com/repos/rust-lang/rfcs/branches{/branch}","tags_url":"https://api.github.com/repos/rust-lang/rfcs/tags","blobs_url":"https://api.github.com/repos/rust-lang/rfcs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rust-lang/rfcs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rust-lang/rfcs/git/refs{/sha}","trees_url":"https://api.github.com/repos/rust-lang/rfcs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rust-lang/rfcs/statuses/{sha}","languages_url":"https://api.github.com/repos/rust-lang/rfcs/languages","stargazers_url":"https://api.github.com/repos/rust-lang/rfcs/stargazers","contributors_url":"https://api.github.com/repos/rust-lang/rfcs/contributors","subscribers_url":"https://api.github.com/repos/rust-lang/rfcs/subscribers","subscription_url":"https://api.github.com/repos/rust-lang/rfcs/subscription","commits_url":"https://api.github.com/repos/rust-lang/rfcs/commits{/sha}","git_commits_url":"https://api.github.com/repos/rust-lang/rfcs/git/commits{/sha}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/comments{/number}","issue_comment_url":"https://api.github.com/repos/rust-lang/rfcs/issues/comments{/number}","contents_url":"https://api.github.com/repos/rust-lang/rfcs/contents/{+path}","compare_url":"https://api.github.com/repos/rust-lang/rfcs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rust-lang/rfcs/merges","archive_url":"https://api.github.com/repos/rust-lang/rfcs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rust-lang/rfcs/downloads","issues_url":"https://api.github.com/repos/rust-lang/rfcs/issues{/number}","pulls_url":"https://api.github.com/repos/rust-lang/rfcs/pulls{/number}","milestones_url":"https://api.github.com/repos/rust-lang/rfcs/milestones{/number}","notifications_url":"https://api.github.com/repos/rust-lang/rfcs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rust-lang/rfcs/labels{/name}","releases_url":"https://api.github.com/repos/rust-lang/rfcs/releases{/id}","created_at":"2014-03-07T21:29:00Z","updated_at":"2015-08-06T07:12:13Z","pushed_at":"2015-08-07T18:30:08Z","git_url":"git://github.com/rust-lang/rfcs.git","ssh_url":"git@github.com:rust-lang/rfcs.git","clone_url":"https://github.com/rust-lang/rfcs.git","svn_url":"https://github.com/rust-lang/rfcs","homepage":"","size":10280,"stargazers_count":425,"watchers_count":425,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":223,"mirror_url":null,"open_issues_count":548,"forks":223,"open_issues":548,"watchers":425,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rust-lang/rfcs/pulls/1242"},"html":{"href":"https://github.com/rust-lang/rfcs/pull/1242"},"issue":{"href":"https://api.github.com/repos/rust-lang/rfcs/issues/1242"},"comments":{"href":"https://api.github.com/repos/rust-lang/rfcs/issues/1242/comments"},"review_comments":{"href":"https://api.github.com/repos/rust-lang/rfcs/pulls/1242/comments"},"review_comment":{"href":"https://api.github.com/repos/rust-lang/rfcs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rust-lang/rfcs/pulls/1242/commits"},"statuses":{"href":"https://api.github.com/repos/rust-lang/rfcs/statuses/a690d2faff5c63f9af5ef2095dc1dbcbe4e6bffa"}}}}