rust/src/libsyntax/ext
bors a9643d39f8 auto merge of #5320 : apasel422/rust/metaderive, r=graydon
This is the first in a series of patches I'm working on to clean up the code related to `deriving`. This patch allows

```
#[deriving_eq]
#[deriving_iter_bytes]
#[deriving_clone]
struct Foo { bar: uint }
```
to be replaced with:
```
#[deriving(Eq, IterBytes, Clone)]
struct Foo { bar: uint }
```
It leaves the old attributes alone for the time being.

Eventually I'd like to incorporate the new closest-match-suggestion infrastructure for mistyped trait names, and also pass the sub-attributes to the deriving code, so that the following will be possible:
```
#[deriving(TotalOrd(qux, bar))]
struct Foo { bar: uint, baz: char, qux: int }
```
This says to derive an `impl` in which the objects' `qux` fields are compared first, followed by `bar`, while `baz` is ignored in the comparison. If no fields are specified explicitly, all fields will be compared in the order they're defined in the `struct`. This might also be useful for `Eq`. Coming soon.
2013-03-12 10:09:55 -07:00
..
pipes libsyntax: Remove newtype enums from libsyntax. rs=deenum 2013-03-11 09:35:59 -07:00
tt syntax: Remove uses of DVec 2013-03-08 09:54:20 -05:00
asm.rs Add alignstack option for inline asm. 2013-03-12 01:03:35 -07:00
auto_encode.rs libsyntax: Remove newtype enums from libsyntax. rs=deenum 2013-03-11 09:35:59 -07:00
base.rs auto merge of #5320 : apasel422/rust/metaderive, r=graydon 2013-03-12 10:09:55 -07:00
build.rs libsyntax: Remove struct literal expressions from the compiler 2013-03-07 22:32:55 -08:00
concat_idents.rs Merge remote-tracking branch 'remotes/origin/incoming' into incoming 2013-03-01 07:01:48 -08:00
deriving.rs syntax: implement #[deriving] meta-attribute 2013-03-12 12:52:39 -04:00
env.rs librustc: Stop parsing fn@, fn~, and fn& 2013-03-02 18:47:48 -08:00
expand.rs auto merge of #5278 : brson/rust/logplusplus, r=brson 2013-03-08 12:27:39 -08:00
fmt.rs libsyntax: Remove fn@, fn~, and fn& from libsyntax. rs=defun 2013-03-02 16:49:31 -08:00
log_syntax.rs libsyntax: Remove struct literal expressions from the compiler 2013-03-07 22:32:55 -08:00
quote.rs Remove unused imports throughout src/ 2013-03-04 12:27:01 -05:00
source_util.rs Merge remote-tracking branch 'remotes/origin/incoming' into incoming 2013-03-01 07:01:48 -08:00
trace_macros.rs Adding missing imports for tests, and gate off others 2013-03-04 12:27:01 -05:00