Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deny (by default) transmuting from fn item types to pointer-sized types. #34923

Merged
merged 1 commit into from Aug 25, 2016

Conversation

Projects
None yet
8 participants
@eddyb
Copy link
Member

eddyb commented Jul 19, 2016

This sets the #19925 lint (transmute from zero-sized fn item type) to deny by default.
Technically a [breaking-change], but will not affect dependent crates because of --cap-lints.

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Jul 19, 2016

r? @Aatch

(rust_highfive has picked a reviewer for you, use r? to override)

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Jul 19, 2016

@nikomatsakis This supersedes #34198, for now. I've started a three-way crater build on both PRs, to measure the impact for both changes.

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Jul 20, 2016

Argh, the report came out half-baked. All of the cases I checked out are just timeouts, while updating the registry. cc @brson

@eddyb eddyb force-pushed the eddyb:deny-fn-item-transmute branch from d04f81b to 7de83f0 Jul 26, 2016

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Jul 27, 2016

The good crater report shows 3 regressions, td_rlua, hlua_master (both of which seem abandoned), and zmq-rs, which needs a new release (cc @Ginurx).

I've also done a crater run for #34198, for which the report shows 3 more regressions (because --cap-lints is not in effect there): glutin_cocoa, carto and syslog-ng-common, all of which are using outdated versions of fixed crates.

@nikomatsakis

This comment has been minimized.

Copy link
Contributor

nikomatsakis commented Jul 27, 2016

cc @rust-lang/compiler @rust-lang/core -- another question of making warnings into a hard error, though in this case we opted for a more gradual approach by making the lint become Deny By Default, since the impact of this change was initially large.

@eddyb's measurements show 3 regressions:

The good crater report shows 3 regressions, td_rlua, hlua_master (both of which seem abandoned), and zmq-rs, which needs a new release (cc @Ginurx).

My vote is let's go for it.

@alexcrichton

This comment has been minimized.

Copy link
Member

alexcrichton commented Jul 27, 2016

🍈

(I'm in favor)

@steveklabnik

This comment has been minimized.

Copy link
Member

steveklabnik commented Jul 27, 2016

👍

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Jul 31, 2016

@nikomatsakis Are we go?

@nikomatsakis

This comment has been minimized.

Copy link
Contributor

nikomatsakis commented Jul 31, 2016

@eddyb interestingly, @wycats was just telling me that he thinks the lint may be missing some scenarios in this code. He's going to investigate a bit.

Seems worth knowing about before we pull the trigger.

@nikomatsakis

This comment has been minimized.

Copy link
Contributor

nikomatsakis commented Aug 4, 2016

@wycats any updates here? Do you have examples where you think the lint is failing to fire or be reported?

@nikomatsakis

This comment has been minimized.

Copy link
Contributor

nikomatsakis commented Aug 25, 2016

OK, I think we should land this. It's not irreversible.

@nikomatsakis

This comment has been minimized.

Copy link
Contributor

nikomatsakis commented Aug 25, 2016

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Aug 25, 2016

📌 Commit 7de83f0 has been approved by nikomatsakis

bors added a commit that referenced this pull request Aug 25, 2016

Auto merge of #34923 - eddyb:deny-fn-item-transmute, r=nikomatsakis
Deny (by default) transmuting from fn item types to pointer-sized types.

This sets the #19925 lint (transmute from zero-sized fn item type) to `deny` by default.
Technically a `[breaking-change]`, but will not affect dependent crates because of `--cap-lints`.
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Aug 25, 2016

⌛️ Testing commit 7de83f0 with merge 71bdeea...

@bors bors merged commit 7de83f0 into rust-lang:master Aug 25, 2016

1 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build failed
Details
homu Test successful
Details

@eddyb eddyb deleted the eddyb:deny-fn-item-transmute branch Aug 25, 2016

@bluss bluss added the relnotes label Sep 8, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.