{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/34474","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/34474/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/34474/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/34474/events","html_url":"https://github.com/rust-lang/rust/pull/34474","id":162298491,"number":34474,"title":"Automatic `Item` linkification part 0","user":{"login":"JohnHeitmann","id":4282480,"avatar_url":"https://avatars.githubusercontent.com/u/4282480?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnHeitmann","html_url":"https://github.com/JohnHeitmann","followers_url":"https://api.github.com/users/JohnHeitmann/followers","following_url":"https://api.github.com/users/JohnHeitmann/following{/other_user}","gists_url":"https://api.github.com/users/JohnHeitmann/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnHeitmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnHeitmann/subscriptions","organizations_url":"https://api.github.com/users/JohnHeitmann/orgs","repos_url":"https://api.github.com/users/JohnHeitmann/repos","events_url":"https://api.github.com/users/JohnHeitmann/events{/privacy}","received_events_url":"https://api.github.com/users/JohnHeitmann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","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},"assignees":[{"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":6,"created_at":"2016-06-25T20:34:24Z","updated_at":"2016-06-26T02:27:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/34474","html_url":"https://github.com/rust-lang/rust/pull/34474","diff_url":"https://github.com/rust-lang/rust/pull/34474.diff","patch_url":"https://github.com/rust-lang/rust/pull/34474.patch"},"body":"I wrote a script to automatically create reference links for item names. It covers macros, structs, traits, modules, enums, constants, and module-level functions. It does not handle methods or enum variants. In ambiguous situations like `Iter` it does nothing. However, it has special-case disambiguations for the core -> std duplication, and will always disambiguate to std.\r\n\r\n `Foo<Bar<T>>` links entirely to `Foo`, not partially to `Foo` and partially to `Bar` (this is fixable if it's a problem).\r\n\r\nI've used a broken link checker to automatically verify all links. Also, the script does not synthesize reference destinations from scratch, instead it scrapes them from an already-built doc/ tree, so there's an additional layer of safety.\r\n\r\nThe full, huge, change is here: https://github.com/JohnHeitmann/rust/commit/249dabe45c65bc47ecc81e191c52d2cb5c197da7\r\n\r\nIn this first merge I've tried to highlight interesting quirks.\r\n\r\nI had to use root-relative links for libcollections since those items are documented at multiple module levels. libstd and libcore both use true relative links.\r\n\r\nThe things I'm least happy with currently are places like BTreeMap below where a type gets linked to itself. This is undesirable noise. I can't perfectly fix it since I'm just running dumb regular expressions to parse, but I should be able to add some heuristics to get rid of most instances. Also, I haven't looked into why `panic!` isn't linked. My std/core disambiguation might be partially broken there.\r\n\r\nSo, I still have some polishing to do, but I wanted to get this out for feedback in case this was broadly unacceptable for some reason.\r\n\r\nr? @steveklabnik"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/228580733","html_url":"https://github.com/rust-lang/rust/pull/34474#issuecomment-228580733","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/34474","id":228580733,"user":{"login":"JohnHeitmann","id":4282480,"avatar_url":"https://avatars.githubusercontent.com/u/4282480?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnHeitmann","html_url":"https://github.com/JohnHeitmann","followers_url":"https://api.github.com/users/JohnHeitmann/followers","following_url":"https://api.github.com/users/JohnHeitmann/following{/other_user}","gists_url":"https://api.github.com/users/JohnHeitmann/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnHeitmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnHeitmann/subscriptions","organizations_url":"https://api.github.com/users/JohnHeitmann/orgs","repos_url":"https://api.github.com/users/JohnHeitmann/repos","events_url":"https://api.github.com/users/JohnHeitmann/events{/privacy}","received_events_url":"https://api.github.com/users/JohnHeitmann/received_events","type":"User","site_admin":false},"created_at":"2016-06-26T02:27:49Z","updated_at":"2016-06-26T02:27:49Z","body":"See here for context on the root-relative links: https://github.com/rust-lang/rust/pull/34463"}}
{"actor":{"display_login":"JohnHeitmann"}}