Skip to content

[WIP] #[fused]#155733

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

[WIP] #[fused]#155733
GrigorenkoPV wants to merge 5 commits into
rust-lang:mainfrom
GrigorenkoPV:fuse

Conversation

@GrigorenkoPV
Copy link
Copy Markdown
Contributor

@GrigorenkoPV GrigorenkoPV commented Apr 24, 2026

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

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