@@ -23,7 +23,8 @@ fn run(
23
23
fold_fn: fold_fn,
24
24
fold_enum: fold_enum,
25
25
fold_res: fold_res,
26
- fold_iface: fold_iface
26
+ fold_iface: fold_iface,
27
+ fold_impl: fold_impl
27
28
with * fold:: default_seq_fold ( ( ) )
28
29
} ) ;
29
30
fold. fold_crate ( fold, doc)
@@ -104,6 +105,26 @@ fn fold_iface(fold: fold::fold<()>, doc: doc::ifacedoc) -> doc::ifacedoc {
104
105
}
105
106
}
106
107
108
+ fn fold_impl ( fold : fold:: fold < ( ) > , doc : doc:: impldoc ) -> doc:: impldoc {
109
+ let doc =fold:: default_seq_fold_impl ( fold, doc) ;
110
+ let ( brief, desc) = modify ( doc. brief , doc. desc ) ;
111
+
112
+ {
113
+ brief: brief,
114
+ desc: desc,
115
+ methods: vec:: map ( doc. methods ) { |doc|
116
+ let ( brief, desc) = modify ( doc. brief , doc. desc ) ;
117
+
118
+ {
119
+ brief: brief,
120
+ desc: desc
121
+ with doc
122
+ }
123
+ }
124
+ with doc
125
+ }
126
+ }
127
+
107
128
#[ test]
108
129
fn should_promote_mod_desc ( ) {
109
130
let doc = test:: mk_doc ( "#[doc(desc = \" desc\" )] mod m { }" ) ;
@@ -154,6 +175,22 @@ fn should_promote_iface_method_desc() {
154
175
assert doc. topmod . ifaces ( ) [ 0 ] . methods [ 0 ] . desc == none;
155
176
}
156
177
178
+ #[ test]
179
+ fn should_promote_impl_desc ( ) {
180
+ let doc = test:: mk_doc (
181
+ "#[doc(desc = \" desc\" )] impl i for int { fn a() { } }" ) ;
182
+ assert doc. topmod . impls ( ) [ 0 ] . brief == some ( "desc" ) ;
183
+ assert doc. topmod . impls ( ) [ 0 ] . desc == none;
184
+ }
185
+
186
+ #[ test]
187
+ fn should_promote_impl_method_desc ( ) {
188
+ let doc = test:: mk_doc (
189
+ "impl i for int { #[doc(desc = \" desc\" )] fn a() { } }" ) ;
190
+ assert doc. topmod . impls ( ) [ 0 ] . methods [ 0 ] . brief == some ( "desc" ) ;
191
+ assert doc. topmod . impls ( ) [ 0 ] . methods [ 0 ] . desc == none;
192
+ }
193
+
157
194
#[ cfg( test) ]
158
195
mod test {
159
196
fn mk_doc ( source : str ) -> doc:: cratedoc {
0 commit comments