{"action":"opened","issue":{"url":"https://api.github.com/repos/rust-lang/cargo/issues/3245","repository_url":"https://api.github.com/repos/rust-lang/cargo","labels_url":"https://api.github.com/repos/rust-lang/cargo/issues/3245/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/cargo/issues/3245/comments","events_url":"https://api.github.com/repos/rust-lang/cargo/issues/3245/events","html_url":"https://github.com/rust-lang/cargo/issues/3245","id":186784625,"number":3245,"title":"Cache build results per feature matrix for dependencies","user":{"login":"dhardy","id":134893,"avatar_url":"https://avatars.githubusercontent.com/u/134893?v=3","gravatar_id":"","url":"https://api.github.com/users/dhardy","html_url":"https://github.com/dhardy","followers_url":"https://api.github.com/users/dhardy/followers","following_url":"https://api.github.com/users/dhardy/following{/other_user}","gists_url":"https://api.github.com/users/dhardy/gists{/gist_id}","starred_url":"https://api.github.com/users/dhardy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhardy/subscriptions","organizations_url":"https://api.github.com/users/dhardy/orgs","repos_url":"https://api.github.com/users/dhardy/repos","events_url":"https://api.github.com/users/dhardy/events{/privacy}","received_events_url":"https://api.github.com/users/dhardy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-11-02T12:13:45Z","updated_at":"2016-11-02T12:13:45Z","closed_at":null,"body":"Concrete example:\r\n\r\n```\r\ngit clone https://github.com/maidsafe/routing.git && cd routing\r\ncargo build\r\ncargo build --features=clippy\r\ncargo build\r\n```\r\nAll three build commands causes many dependencies to be rebuilt from scratch. I would expect the third command not to rebuild dependencies which had already been built with the current feature matrix; currently toml, log4rs, maidsafe_utilities, crust and routing itself get rebuilt by the last build command.\r\n\r\nNote that when switching release and debug builds, Cargo does cache dependency builds and not force a rebuild when switching."}}
{"actor":{"display_login":"dhardy"}}