Auto merge of #123413 - petrochenkov:delegmulti2, r=fmease
delegation: Implement list delegation
```rust
reuse prefix::{a, b, c};
```
Using design described in https://github.com/rust-lang/rfcs/pull/3530#issuecomment-2020869823 (the lists are desugared at macro expansion time).
List delegations are expanded eagerly when encountered, similarly to `#[cfg]`s, and not enqueued for later resolution/expansion like regular macros or glob delegation (https://github.com/rust-lang/rust/pull/124135).
Part of https://github.com/rust-lang/rust/issues/118212.
This commit is contained in:
commit
3cb0030fe9
29 changed files with 511 additions and 60 deletions
|
|
@ -739,8 +739,8 @@ impl<'a> FmtVisitor<'a> {
|
|||
(_, Const(..)) => Ordering::Greater,
|
||||
(MacCall(..), _) => Ordering::Less,
|
||||
(_, MacCall(..)) => Ordering::Greater,
|
||||
(Delegation(..), _) => Ordering::Less,
|
||||
(_, Delegation(..)) => Ordering::Greater,
|
||||
(Delegation(..), _) | (DelegationMac(..), _) => Ordering::Less,
|
||||
(_, Delegation(..)) | (_, DelegationMac(..)) => Ordering::Greater,
|
||||
});
|
||||
let mut prev_kind = None;
|
||||
for (buf, item) in buffer {
|
||||
|
|
|
|||
|
|
@ -586,7 +586,7 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
|
|||
);
|
||||
self.push_rewrite(item.span, rewrite);
|
||||
}
|
||||
ast::ItemKind::Delegation(..) => {
|
||||
ast::ItemKind::Delegation(..) | ast::ItemKind::DelegationMac(..) => {
|
||||
// TODO: rewrite delegation items once syntax is established.
|
||||
// For now, leave the contents of the Span unformatted.
|
||||
self.push_rewrite(item.span, None)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue