Skip to content

Use try_normalize_erasing_regions in needs_drop #91462

New issue

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

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

Already on GitHub? # to your account

Closed

Conversation

b-naber
Copy link
Contributor

@b-naber b-naber commented Dec 2, 2021

Fixes #81199

r? @jackh726

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 2, 2021
Copy link
Member

@jackh726 jackh726 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you use unwrap_or? Otherwise LGTM

@jackh726
Copy link
Member

jackh726 commented Dec 2, 2021

r=me after changing to unwrap_or

@bors delegate+

@bors
Copy link
Collaborator

bors commented Dec 2, 2021

✌️ @b-naber can now approve this pull request

let erased = tcx.normalize_erasing_regions(param_env, query_ty);
tcx.needs_drop_raw(param_env.and(erased))
// If normalization fails, we just use `query_ty`.
let query_ty = match tcx.try_normalize_erasing_regions(param_env, query_ty) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could use .unwrap_or(query_ty) here

@jackh726 jackh726 added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 2, 2021
@b-naber b-naber force-pushed the use-try-normalize-erasing-regions branch from fe81b10 to 34dc687 Compare December 2, 2021 22:25
@b-naber b-naber force-pushed the use-try-normalize-erasing-regions branch from 34dc687 to a11994e Compare December 2, 2021 22:27
@b-naber
Copy link
Contributor Author

b-naber commented Dec 2, 2021

@bors r=jackh726 rollup

@bors
Copy link
Collaborator

bors commented Dec 2, 2021

📌 Commit a11994e has been approved by jackh726

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Dec 2, 2021
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Dec 3, 2021
…egions, r=jackh726

Use try_normalize_erasing_regions in needs_drop

Fixes rust-lang#81199

r? `@jackh726`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Dec 3, 2021
…egions, r=jackh726

Use try_normalize_erasing_regions in needs_drop

Fixes rust-lang#81199

r? ``@jackh726``
bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 3, 2021
…askrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#88906 (Implement write() method for Box<MaybeUninit<T>>)
 - rust-lang#90269 (Make `Option::expect` unstably const)
 - rust-lang#90854 (Type can be unsized and uninhabited)
 - rust-lang#91170 (rustdoc: preload fonts)
 - rust-lang#91273 (Fix ICE rust-lang#91268 by checking that the snippet ends with a `)`)
 - rust-lang#91381 (Android: -ldl must appear after -lgcc when linking)
 - rust-lang#91453 (Document Windows TLS drop behaviour)
 - rust-lang#91462 (Use try_normalize_erasing_regions in needs_drop)
 - rust-lang#91474 (suppress warning about set_errno being unused on DragonFly)
 - rust-lang#91483 (Sync rustfmt subtree)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Collaborator

bors commented Dec 3, 2021

☔ The latest upstream changes (presumably #91486) made this pull request unmergeable. Please resolve the merge conflicts.

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 3, 2021
@pietroalbini
Copy link
Member

This has been merged into master by bors (in #91486), but GitHub didn't detect it for whatever reason. Closing.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Normalizing <T as Trait>::AssocType in a union causes an ICE
6 participants