@@ -474,7 +474,7 @@ impl Clean<TyParam> for ty::TypeParameterDef {
474
474
#[ deriving( Clone , Encodable , Decodable , PartialEq ) ]
475
475
pub enum TyParamBound {
476
476
RegionBound ( Lifetime ) ,
477
- UnboxedFnBound , // FIXME
477
+ UnboxedFnBound ( UnboxedFnType ) ,
478
478
UnknownBound ,
479
479
TraitBound ( Type )
480
480
}
@@ -483,10 +483,7 @@ impl Clean<TyParamBound> for ast::TyParamBound {
483
483
fn clean ( & self , cx : & DocContext ) -> TyParamBound {
484
484
match * self {
485
485
ast:: RegionTyParamBound ( lt) => RegionBound ( lt. clean ( cx) ) ,
486
- ast:: UnboxedFnTyParamBound ( _) => {
487
- // FIXME(pcwalton): Wrong.
488
- UnboxedFnBound
489
- } ,
486
+ ast:: UnboxedFnTyParamBound ( ref ty) => { UnboxedFnBound ( ty. clean ( cx) ) } ,
490
487
ast:: TraitTyParamBound ( ref t) => TraitBound ( t. clean ( cx) ) ,
491
488
}
492
489
}
@@ -598,6 +595,21 @@ impl Clean<Option<Vec<TyParamBound>>> for subst::Substs {
598
595
}
599
596
}
600
597
598
+ #[ deriving( Clone , Encodable , Decodable , PartialEq ) ]
599
+ pub struct UnboxedFnType {
600
+ pub path : Path ,
601
+ pub decl : FnDecl
602
+ }
603
+
604
+ impl Clean < UnboxedFnType > for ast:: UnboxedFnBound {
605
+ fn clean ( & self , cx : & DocContext ) -> UnboxedFnType {
606
+ UnboxedFnType {
607
+ path : self . path . clean ( cx) ,
608
+ decl : self . decl . clean ( cx)
609
+ }
610
+ }
611
+ }
612
+
601
613
#[ deriving( Clone , Encodable , Decodable , PartialEq ) ]
602
614
pub struct Lifetime ( String ) ;
603
615
0 commit comments