rust/src/libsyntax/ext/deriving
Huon Wilson df0f50381c Mark some derived methods as #[inline].
ToStr, Encodable and Decodable are not marked as such, since they're
already expensive, and lead to large methods, so inlining will bloat the
metadata & the binaries.

This means that something like

    #[deriving(Eq)]
    struct A { x: int }

creates an instance like

    #[doc = "Automatically derived."]
    impl ::std::cmp::Eq for A {
        #[inline]
        fn eq(&self, __arg_0: &A) -> ::bool {
            match *__arg_0 {
                A{x: ref __self_1_0} =>
                match *self {
                    A{x: ref __self_0_0} => true && __self_0_0.eq(__self_1_0)
                }
            }
        }
        #[inline]
        fn ne(&self, __arg_0: &A) -> ::bool {
            match *__arg_0 {
                A{x: ref __self_1_0} =>
                match *self {
                    A{x: ref __self_0_0} => false || __self_0_0.ne(__self_1_0)
                }
            }
        }
    }

(The change being the `#[inline]` attributes.)
2013-11-19 11:18:34 +11:00
..
cmp Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
clone.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
decodable.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
default.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
encodable.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
generic.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
iter_bytes.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
mod.rs syntax: Add #[deriving(FromPrimitive)] syntax extension 2013-10-02 07:55:41 -07:00
primitive.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
rand.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
to_str.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00
ty.rs Generalize AST and ty::Generics to accept multiple lifetimes. 2013-11-08 19:42:46 -05:00
zero.rs Mark some derived methods as #[inline]. 2013-11-19 11:18:34 +11:00