@@ -453,10 +453,10 @@ pub enum Expr_ {
453
453
ExprCast ( Gc < Expr > , P < Ty > ) ,
454
454
ExprIf ( Gc < Expr > , P < Block > , Option < Gc < Expr > > ) ,
455
455
ExprWhile ( Gc < Expr > , P < Block > ) ,
456
- // FIXME #6993: change to Option<Name>
456
+ // FIXME #6993: change to Option<Name> ... or not, if these are hygienic.
457
457
ExprForLoop ( Gc < Pat > , Gc < Expr > , P < Block > , Option < Ident > ) ,
458
458
// Conditionless loop (can be exited with break, cont, or ret)
459
- // FIXME #6993: change to Option<Name>
459
+ // FIXME #6993: change to Option<Name> ... or not, if these are hygienic.
460
460
ExprLoop ( P < Block > , Option < Ident > ) ,
461
461
ExprMatch ( Gc < Expr > , Vec < Arm > ) ,
462
462
ExprFnBlock ( P < FnDecl > , P < Block > ) ,
@@ -468,9 +468,8 @@ pub enum Expr_ {
468
468
ExprField ( Gc < Expr > , SpannedIdent , Vec < P < Ty > > ) ,
469
469
ExprIndex ( Gc < Expr > , Gc < Expr > ) ,
470
470
471
- /// Expression that looks like a "name". For example,
472
- /// `std::slice::from_elem::<uint>` is an ExprPath that's the "name" part
473
- /// of a function call.
471
+ /// Variable reference, possibly containing `::` and/or
472
+ /// type parameters, e.g. foo::bar::<baz>
474
473
ExprPath ( Path ) ,
475
474
476
475
ExprAddrOf ( Mutability , Gc < Expr > ) ,
@@ -643,6 +642,8 @@ pub struct TypeField {
643
642
pub span : Span ,
644
643
}
645
644
645
+ /// Represents a required method in a trait declaration,
646
+ /// one without a default implementation
646
647
#[ deriving( Clone , PartialEq , Eq , Encodable , Decodable , Hash ) ]
647
648
pub struct TypeMethod {
648
649
pub ident : Ident ,
@@ -656,6 +657,8 @@ pub struct TypeMethod {
656
657
pub vis : Visibility ,
657
658
}
658
659
660
+ /// Represents a method declaration in a trait declaration, possibly
661
+ /// including a default implementation
659
662
// A trait method is either required (meaning it doesn't have an
660
663
// implementation, just a signature) or provided (meaning it has a default
661
664
// implementation).
@@ -741,6 +744,7 @@ impl fmt::Show for Onceness {
741
744
}
742
745
}
743
746
747
+ /// Represents the type of a closure
744
748
#[ deriving( PartialEq , Eq , Encodable , Decodable , Hash ) ]
745
749
pub struct ClosureTy {
746
750
pub lifetimes : Vec < Lifetime > ,
@@ -809,6 +813,7 @@ pub struct InlineAsm {
809
813
pub dialect : AsmDialect
810
814
}
811
815
816
+ /// represents an argument in a function header
812
817
#[ deriving( Clone , PartialEq , Eq , Encodable , Decodable , Hash ) ]
813
818
pub struct Arg {
814
819
pub ty : P < Ty > ,
@@ -836,7 +841,7 @@ impl Arg {
836
841
}
837
842
}
838
843
839
- // represents the header (not the body) of a function declaration
844
+ /// represents the header (not the body) of a function declaration
840
845
#[ deriving( Clone , PartialEq , Eq , Encodable , Decodable , Hash ) ]
841
846
pub struct FnDecl {
842
847
pub inputs : Vec < Arg > ,
@@ -1107,6 +1112,7 @@ pub enum Item_ {
1107
1112
ItemTy ( P < Ty > , Generics ) ,
1108
1113
ItemEnum ( EnumDef , Generics ) ,
1109
1114
ItemStruct ( Gc < StructDef > , Generics ) ,
1115
+ /// Represents a Trait Declaration
1110
1116
ItemTrait ( Generics , Sized , Vec < TraitRef > , Vec < TraitMethod > ) ,
1111
1117
ItemImpl ( Generics ,
1112
1118
Option < TraitRef > , // (optional) trait this impl implements
0 commit comments