{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/56987","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/56987/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/56987/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/56987/events","html_url":"https://github.com/rust-lang/rust/pull/56987","id":392698983,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM5OTEyNDcz","number":56987,"title":"rustc: Remove `dylib` crate type from most rustc crates","user":{"login":"alexcrichton","id":64996,"node_id":"MDQ6VXNlcjY0OTk2","avatar_url":"https://avatars1.githubusercontent.com/u/64996?v=4","gravatar_id":"","url":"https://api.github.com/users/alexcrichton","html_url":"https://github.com/alexcrichton","followers_url":"https://api.github.com/users/alexcrichton/followers","following_url":"https://api.github.com/users/alexcrichton/following{/other_user}","gists_url":"https://api.github.com/users/alexcrichton/gists{/gist_id}","starred_url":"https://api.github.com/users/alexcrichton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexcrichton/subscriptions","organizations_url":"https://api.github.com/users/alexcrichton/orgs","repos_url":"https://api.github.com/users/alexcrichton/repos","events_url":"https://api.github.com/users/alexcrichton/events{/privacy}","received_events_url":"https://api.github.com/users/alexcrichton/received_events","type":"User","site_admin":false},"labels":[{"id":583426710,"node_id":"MDU6TGFiZWw1ODM0MjY3MTA=","url":"https://api.github.com/repos/rust-lang/rust/labels/S-waiting-on-review","name":"S-waiting-on-review","color":"d3dddd","default":false}],"state":"open","locked":false,"assignee":{"login":"alexcrichton","id":64996,"node_id":"MDQ6VXNlcjY0OTk2","avatar_url":"https://avatars1.githubusercontent.com/u/64996?v=4","gravatar_id":"","url":"https://api.github.com/users/alexcrichton","html_url":"https://github.com/alexcrichton","followers_url":"https://api.github.com/users/alexcrichton/followers","following_url":"https://api.github.com/users/alexcrichton/following{/other_user}","gists_url":"https://api.github.com/users/alexcrichton/gists{/gist_id}","starred_url":"https://api.github.com/users/alexcrichton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexcrichton/subscriptions","organizations_url":"https://api.github.com/users/alexcrichton/orgs","repos_url":"https://api.github.com/users/alexcrichton/repos","events_url":"https://api.github.com/users/alexcrichton/events{/privacy}","received_events_url":"https://api.github.com/users/alexcrichton/received_events","type":"User","site_admin":false},"assignees":[{"login":"alexcrichton","id":64996,"node_id":"MDQ6VXNlcjY0OTk2","avatar_url":"https://avatars1.githubusercontent.com/u/64996?v=4","gravatar_id":"","url":"https://api.github.com/users/alexcrichton","html_url":"https://github.com/alexcrichton","followers_url":"https://api.github.com/users/alexcrichton/followers","following_url":"https://api.github.com/users/alexcrichton/following{/other_user}","gists_url":"https://api.github.com/users/alexcrichton/gists{/gist_id}","starred_url":"https://api.github.com/users/alexcrichton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexcrichton/subscriptions","organizations_url":"https://api.github.com/users/alexcrichton/orgs","repos_url":"https://api.github.com/users/alexcrichton/repos","events_url":"https://api.github.com/users/alexcrichton/events{/privacy}","received_events_url":"https://api.github.com/users/alexcrichton/received_events","type":"User","site_admin":false}],"milestone":null,"comments":9,"created_at":"2018-12-19T17:13:20Z","updated_at":"2018-12-19T20:23:17Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/56987","html_url":"https://github.com/rust-lang/rust/pull/56987","diff_url":"https://github.com/rust-lang/rust/pull/56987.diff","patch_url":"https://github.com/rust-lang/rust/pull/56987.patch"},"body":"Now that procedural macros no longer link transitively to libsyntax,\r\nthis shouldn't be needed any more! This commit is an experiment in\r\nremoving all dynamic libraries from rustc except for librustc_driver\r\nitself. Let's see how far we can get with that!"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/448731651","html_url":"https://github.com/rust-lang/rust/pull/56987#issuecomment-448731651","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/56987","id":448731651,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0ODczMTY1MQ==","user":{"login":"alexcrichton","id":64996,"node_id":"MDQ6VXNlcjY0OTk2","avatar_url":"https://avatars1.githubusercontent.com/u/64996?v=4","gravatar_id":"","url":"https://api.github.com/users/alexcrichton","html_url":"https://github.com/alexcrichton","followers_url":"https://api.github.com/users/alexcrichton/followers","following_url":"https://api.github.com/users/alexcrichton/following{/other_user}","gists_url":"https://api.github.com/users/alexcrichton/gists{/gist_id}","starred_url":"https://api.github.com/users/alexcrichton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexcrichton/subscriptions","organizations_url":"https://api.github.com/users/alexcrichton/orgs","repos_url":"https://api.github.com/users/alexcrichton/repos","events_url":"https://api.github.com/users/alexcrichton/events{/privacy}","received_events_url":"https://api.github.com/users/alexcrichton/received_events","type":"User","site_admin":false},"created_at":"2018-12-19T20:23:17Z","updated_at":"2018-12-19T20:23:17Z","author_association":"MEMBER","body":"That's a good point! I hadn't written up a full summary for this yet because if it doesn't affect perf at all it's probably not worth it. That being said it's definitely expected that this will increase sizes. Rust dylibs are naturally much smaller than rlibs for two reasons:\r\n\r\n* First, metadata is compressed in a dylib \r\n* Second, the object code for all rust crates is now present twice in the sysroot, once in the librustc_driver.so dylib and once in the crate's own rlib (like librustc.rlib).\r\n\r\nThat's just to say there's no hacks here AFAIK, it's just fundamental that the rlib sizes will be much larger.\r\n\r\nI don't think installation size is really all that important, though. So long as we're not an order of magnitude off at least! The more imporant metric (I think at least) is the download size. Downloading the rust-std+rustc components before this commit was 142MB, and this commit (from try) is 232 megabytes. Funnily enough that's also a 1.6x increase!\r\n\r\nI sort of highly doubt that anyone will notice this in practice. We add dependencies to the compiler willy-nilly and have already increased our download size 20% over the last year with binaries alone (that's not even taking into account the 86% increase over the last year in rust-docs download size). "}}
{"actor":{"display_login":"alexcrichton"}}