Skip to content

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
Collaborator

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
Collaborator

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