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

Check dyn* return type correctly #104508

Merged
merged 1 commit into from
Nov 18, 2022
Merged

Conversation

compiler-errors
Copy link
Member

In check_fn, if the declared return type is dyn Trait, then we check the return type separately to produce better diagnostics, because this is never valid -- however, when dyn* was introduced, this check was never adjusted to only account for unsized dyn Trait and not sized dyn* Trait.

Fixes #104501

@rustbot
Copy link
Collaborator

rustbot commented Nov 16, 2022

r? @oli-obk

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

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 16, 2022
@oli-obk
Copy link
Contributor

oli-obk commented Nov 17, 2022

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Nov 17, 2022

📌 Commit 75afb22 has been approved by oli-obk

It is now in the queue for this repository.

@bors
Copy link
Contributor

bors commented Nov 17, 2022

🌲 The tree is currently closed for pull requests below priority 1. This pull request will be tested once the tree is reopened.

@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-review Status: Awaiting review from the assignee but also interested parties. labels Nov 17, 2022
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Nov 17, 2022
Check `dyn*` return type correctly

In `check_fn`, if the declared return type is `dyn Trait`, then we check the return type separately to produce better diagnostics, because this is never valid -- however, when `dyn*` was introduced, this check was never adjusted to only account for *unsized* `dyn Trait` and not *sized* `dyn* Trait`.

Fixes rust-lang#104501
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Nov 17, 2022
Check `dyn*` return type correctly

In `check_fn`, if the declared return type is `dyn Trait`, then we check the return type separately to produce better diagnostics, because this is never valid -- however, when `dyn*` was introduced, this check was never adjusted to only account for *unsized* `dyn Trait` and not *sized* `dyn* Trait`.

Fixes rust-lang#104501
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Nov 17, 2022
Check `dyn*` return type correctly

In `check_fn`, if the declared return type is `dyn Trait`, then we check the return type separately to produce better diagnostics, because this is never valid -- however, when `dyn*` was introduced, this check was never adjusted to only account for *unsized* `dyn Trait` and not *sized* `dyn* Trait`.

Fixes rust-lang#104501
bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 18, 2022
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#103852 (Don't remap early-bound regions for return-position `impl Trait` in trait originating from `impl`)
 - rust-lang#104366 (Simplify settings theme choice)
 - rust-lang#104433 (Fix `emit_unused_delims_expr` ICE)
 - rust-lang#104444 (Fix ICE in in_operand for ty error)
 - rust-lang#104483 (Convert predicates into Predicate in the Obligation constructor)
 - rust-lang#104496 (Don't attempt to normalize compiler backtraces)
 - rust-lang#104503 (rustdoc: remove redundant font-color CSS on `.where`)
 - rust-lang#104508 (Check `dyn*` return type correctly)
 - rust-lang#104515 (ICE fixing, remove is_tainted_by_errors since we have ty_error for delay bug)
 - rust-lang#104532 (Migrate tooltip style to CSS variables)
 - rust-lang#104545 (Readd the matches_macro diag item)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 43fa291 into rust-lang:master Nov 18, 2022
@rustbot rustbot added this to the 1.67.0 milestone Nov 18, 2022
@compiler-errors compiler-errors deleted the dyn-return branch August 11, 2023 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Broken MIR ICE when returning dyn* Trait from a function
4 participants