Skip to content

[WIP] #[fused] - #155733

Draft
GrigorenkoPV wants to merge 5 commits into
rust-lang:mainfrom
GrigorenkoPV:fuse
Draft

GrigorenkoPV wants to merge 5 commits into
rust-lang:mainfrom
GrigorenkoPV:fuse

Conversation

@GrigorenkoPV

@GrigorenkoPV GrigorenkoPV commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

TODO:

  • TODOs in code
  • Attribute validation
  • mir tests
  • support async blocks & async closures
  • A proper tracking issue, if this does not get rejected

@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Apr 24, 2026
@rust-log-analyzer

This comment has been minimized.

@rust-bors

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-bors

This comment has been minimized.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job pr-check-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
     | |
     | in this expansion of `find_attr!` (#1)
     | in this expansion of `$crate::find_attr!` (#2)
...
  81 |         $crate::find_attr!($attributes_list, $pattern $(if $guard)? => ()).is_some()
     |         ------------------------------------------------------------------ in this macro invocation (#2)
...
  89 |                 let i: &rustc_hir::Attribute = i;
     |                        ---------------------   ^ expected `rustc_hir::Attribute`, found `rustc_ast::Attribute`
     |                        |
     |                        expected due to this
     |
    ::: compiler/rustc_ast_lowering/src/expr/closure.rs:41:21
     |
  41 |                     find_attr!(&e.attrs, Fused(_)),
     |                     ------------------------------ in this macro invocation (#1)
     |
     = note: `rustc_ast::Attribute` and `rustc_hir::Attribute` have similar names, but are actually distinct types
note: `rustc_ast::Attribute` is defined in crate `rustc_ast`
    --> compiler/rustc_ast/src/ast.rs:3404:1
---
    | |
    | in this expansion of `find_attr!` (#1)
    | in this expansion of `$crate::find_attr!` (#2)
...
 81 |         $crate::find_attr!($attributes_list, $pattern $(if $guard)? => ()).is_some()
    |         ------------------------------------------------------------------ in this macro invocation (#2)
...
 89 |                 let i: &rustc_hir::Attribute = i;
    |                        ---------------------   ^ expected `&Attribute`, found `Attribute`
    |                        |
    |                        expected due to this
    |
   ::: compiler/rustc_ast_lowering/src/expr.rs:359:70
    |
359 | ...                   hir::CoroutineDesugaring::Async { fused: find_attr!(e.attrs, Fused(_)) }
    |                                                                ----------------------------- in this macro invocation (#1)

For more information about this error, try `rustc --explain E0308`.
[RUSTC-TIMING] rustc_ast_lowering test:false 1.470
error: could not compile `rustc_ast_lowering` (lib) due to 2 previous errors

@rust-bors

rust-bors Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

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

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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.

3 participants