Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 6108cb6

Browse files
authored
Merge pull request rust-lang#3342 from topecongiro/visibility-on-trait-alias
Format visibility on trait alias
2 parents ce682bd + 96a3df3 commit 6108cb6

File tree

4 files changed

+15
-1
lines changed

4 files changed

+15
-1
lines changed

src/items.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1163,6 +1163,7 @@ pub fn format_trait(
11631163
pub fn format_trait_alias(
11641164
context: &RewriteContext<'_>,
11651165
ident: ast::Ident,
1166+
vis: &ast::Visibility,
11661167
generics: &ast::Generics,
11671168
generic_bounds: &ast::GenericBounds,
11681169
shape: Shape,
@@ -1171,7 +1172,8 @@ pub fn format_trait_alias(
11711172
// 6 = "trait ", 2 = " ="
11721173
let g_shape = shape.offset_left(6)?.sub_width(2)?;
11731174
let generics_str = rewrite_generics(context, &alias, generics, g_shape)?;
1174-
let lhs = format!("trait {} =", generics_str);
1175+
let vis_str = format_visibility(context, vis);
1176+
let lhs = format!("{}trait {} =", vis_str, generics_str);
11751177
// 1 = ";"
11761178
rewrite_assign_rhs(context, lhs, generic_bounds, shape.sub_width(1)?).map(|s| s + ";")
11771179
}

src/visitor.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
363363
let rw = format_trait_alias(
364364
&self.get_context(),
365365
item.ident,
366+
&item.vis,
366367
generics,
367368
generic_bounds,
368369
shape,

tests/source/trait.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,14 @@ trait FooBar =
8484
trait FooBar <A, B, C>=
8585
Foo
8686
+ Bar;
87+
pub trait FooBar =
88+
Foo
89+
+ Bar;
90+
pub trait FooBar <A, B, C>=
91+
Foo
92+
+ Bar;
8793
trait AAAAAAAAAAAAAAAAAA = BBBBBBBBBBBBBBBBBBB + CCCCCCCCCCCCCCCCCCCCCCCCCCCCC + DDDDDDDDDDDDDDDDDD;
94+
pub trait AAAAAAAAAAAAAAAAAA = BBBBBBBBBBBBBBBBBBB + CCCCCCCCCCCCCCCCCCCCCCCCCCCCC + DDDDDDDDDDDDDDDDDD;
8895
trait AAAAAAAAAAAAAAAAAAA = BBBBBBBBBBBBBBBBBBB + CCCCCCCCCCCCCCCCCCCCCCCCCCCCC + DDDDDDDDDDDDDDDDDD;
8996
trait AAAAAAAAAAAAAAAAAA = BBBBBBBBBBBBBBBBBBB + CCCCCCCCCCCCCCCCCCCCCCCCCCCCC + DDDDDDDDDDDDDDDDDDD;
9097
trait AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA<A, B, C, D, E> = FooBar;

tests/target/trait.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,11 @@ trait MyTrait<
113113
// Trait aliases
114114
trait FooBar = Foo + Bar;
115115
trait FooBar<A, B, C> = Foo + Bar;
116+
pub trait FooBar = Foo + Bar;
117+
pub trait FooBar<A, B, C> = Foo + Bar;
116118
trait AAAAAAAAAAAAAAAAAA = BBBBBBBBBBBBBBBBBBB + CCCCCCCCCCCCCCCCCCCCCCCCCCCCC + DDDDDDDDDDDDDDDDDD;
119+
pub trait AAAAAAAAAAAAAAAAAA =
120+
BBBBBBBBBBBBBBBBBBB + CCCCCCCCCCCCCCCCCCCCCCCCCCCCC + DDDDDDDDDDDDDDDDDD;
117121
trait AAAAAAAAAAAAAAAAAAA =
118122
BBBBBBBBBBBBBBBBBBB + CCCCCCCCCCCCCCCCCCCCCCCCCCCCC + DDDDDDDDDDDDDDDDDD;
119123
trait AAAAAAAAAAAAAAAAAA =

0 commit comments

Comments
 (0)