| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2013-03-13 | librustc: Remove "base types" from the language. | Patrick Walton | -4/+8 | |
| 2013-03-13 | librustc: Remove overloaded operator autoderef. | Patrick Walton | -1/+1 | |
| 2013-03-13 | librustc: Don't accept `as Trait` anymore; fix all occurrences of it. | Patrick Walton | -310/+325 | |
| 2013-03-13 | Remove `++` mode from the compiler (it is parsed as `+` mode) | Niko Matsakis | -11/+19 | |
| and obsolete `-` mode altogether (it *was* parsed as `+` mode). | ||||
| 2013-03-13 | auto merge of #5293 : brson/rust/logging, r=brson | bors | -24/+23 | |
| r? @graydon This removes `log` from the language. Because we can't quite implement it as a syntax extension (probably need globals at the least) it simply renames the keyword to `__log` and hides it behind macros. After this the only way to log is with `debug!`, `info!`, etc. I figure that if there is demand for `log!` we can add it back later. I am not sure that we ever agreed on this course of action, though I *think* there is consensus that `log` shouldn't be a statement. | ||||
| 2013-03-12 | auto merge of #5320 : apasel422/rust/metaderive, r=graydon | bors | -0/+45 | |
| 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 | syntax: implement #[deriving] meta-attribute | Andrew Paseltiner | -0/+45 | |
| 2013-03-12 | Add alignstack option for inline asm. | Luqman Aden | -4/+7 | |
| 2013-03-12 | Keep everything tidy. | Luqman Aden | -10/+9 | |
| 2013-03-12 | Parse operands properly and add a way to indicate volatile asm. | Luqman Aden | -14/+137 | |
| 2013-03-12 | Stop parsing __asm__. | Luqman Aden | -9/+0 | |
| 2013-03-12 | Create asm! syntax extension. | Luqman Aden | -1/+58 | |
| 2013-03-12 | Parse inline assembly. | Luqman Aden | -1/+22 | |
| 2013-03-11 | Remove the log keyword (by renaming it to __log) | Brian Anderson | -10/+10 | |
| We can't quite remove logging from the language, but this hides the keyword. | ||||
| 2013-03-11 | core: Remove logging constants | Brian Anderson | -8/+8 | |
| 2013-03-11 | Remove uses of log | Brian Anderson | -14/+13 | |
| 2013-03-11 | auto merge of #5304 : jld/rust/const-adjustments, r=graydon | bors | -0/+5 | |
| These changes make const translation use adjustments (autodereference, autoreference, bare-fn-to-closure), like normal code does, replacing some ad-hoc logic that wasn't always right. As a convenient side-effect, explicit dereference (both of pointers and of newtypes) is also supported in const expressions. There is also a “bonus fix” for a bug in the pretty-printer exposed by one of the added tests. | ||||
| 2013-03-11 | librustc: Lint the old `drop` destructor notation off | Patrick Walton | -27/+2 | |
| 2013-03-11 | libsyntax: Stop parsing newtype enums | Patrick Walton | -10/+9 | |
| 2013-03-11 | libsyntax: Remove newtype enums from libsyntax. rs=deenum | Patrick Walton | -40/+14 | |
| 2013-03-11 | libsyntax: Stop parsing bare functions in preparation for switching them over | Patrick Walton | -1/+16 | |
| 2013-03-11 | librustc: Replace all uses of `fn()` with `&fn()`. rs=defun | Patrick Walton | -42/+42 | |
| 2013-03-11 | Implement vector destructuring from tail | Seo Sanghyeon | -31/+56 | |
| 2013-03-09 | Don't print addr_of(addr_of(e)) as `&&e`, which means something else. | Jed Davis | -0/+5 | |
| 2013-03-09 | Remove @ast::Region and replace with @ast::Lifetime. | Niko Matsakis | -160/+117 | |
| Modify pretty-printer to emit lifetimes and fix a few minor parser bugs that this uncovered. | ||||
| 2013-03-08 | auto merge of #5278 : brson/rust/logplusplus, r=brson | bors | -8/+32 | |
| r? `log` can polymorphically log anything, but debug!, etc. requires a format string. With this patch you can equivalently write `debug!(foo)` or `debug!("%?", foo)`. I'm doing this because I was trying to remove `log` (replacing it with nothing, at least temporarily), but there are a number of logging statements that just want to print an arbitrary value and don't care about the format string. I'm not entirely convinced this is a good change, since it overloads the implementation of these macros and makes their usage slightly more nuanced. | ||||
| 2013-03-08 | Fix dvec-related fallout in tests | Alex Crichton | -3/+3 | |
| 2013-03-08 | syntax: Remove uses of DVec | Alex Crichton | -39/+29 | |
| 2013-03-07 | test: Fix tests. | Patrick Walton | -2/+5 | |
| 2013-03-07 | librustc: Stop parsing `assert`. | Patrick Walton | -13/+10 | |
| 2013-03-07 | librustc: Convert all uses of `assert` over to `fail_unless!` | Patrick Walton | -55/+55 | |
| 2013-03-07 | librustc: Remove record patterns from the compiler | Patrick Walton | -40/+12 | |
| 2013-03-07 | libsyntax: Remove struct literal expressions from the compiler | Patrick Walton | -64/+5 | |
| 2013-03-07 | librustc: Remove structural record types from the compiler | Patrick Walton | -23/+2 | |
| 2013-03-07 | libsyntax: Stop parsing structural record types | Patrick Walton | -8/+7 | |
| 2013-03-07 | Make debug!, etc. macros not require a format string | Brian Anderson | -8/+32 | |
| The one thing `log` can still do is polymorphically log anything, but debug!, etc. require a format string. With this patch you can equivalently write `debug!(foo)` or `debug!("%?", foo)` | ||||
| 2013-03-07 | add deriving_eq for tokens | John Clements | -273/+2 | |
| 2013-03-06 | auto merge of #5255 : jbclements/rust/remove-parse-value-ident, r=graydon | bors | -40/+21 | |
| After the removal of the "restricted keyword" feature in 0c82c00dc4f49aeb9b57c92c9a40ae35d8a1ee29 , there's no longer any difference between parse_ident() and parse_value_ident(), and therefore no difference between parse parse_path_without_tps() and parse_value_path(). I've collapsed all of these, removing the redundant functions and eliminating the need for two higher-order arguments. | ||||
| 2013-03-06 | patch up pretty printing of things with both lifetime and type parameters | Niko Matsakis | -0/+1 | |
| 2013-03-06 | Improve error messages when illegal lifetimes are used | Niko Matsakis | -0/+4 | |
| 2013-03-06 | Permit either foo/&self or foo<'self> | Niko Matsakis | -9/+33 | |
| 2013-03-06 | Add manual &self/ and &static/ and /&self declarations that | Niko Matsakis | -23/+22 | |
| are currently inferred. New rules are coming that will require them to be explicit. All add some explicit self declarations. | ||||
| 2013-03-06 | Fix a bug with region-parameterized enums etc where trans considered | Niko Matsakis | -3/+9 | |
| them to be non-monomorphic. Merely having lifetime parameters is not enough to qualify for that status. Fixes #5243. | ||||
| 2013-03-06 | finish removing parse_value_ident | John Clements | -15/+7 | |
| 2013-03-06 | removed unused abstraction over paths and value_paths | John Clements | -25/+14 | |
| 2013-03-05 | core: convert vec::{last,last_opt} to return references | Erick Tryzelaar | -3/+3 | |
| 2013-03-05 | auto merge of #5234 : pcwalton/rust/equiv, r=pcwalton | bors | -2/+5 | |
| r? @nikomatsakis | ||||
| 2013-03-05 | libsyntax: Separate multiple inherited traits with `+` | Patrick Walton | -2/+5 | |
| 2013-03-05 | auto merge of #5231 : jbclements/rust/better-macro-error-message, r=graydon | bors | -5/+13 | |
| Macro invocations with path separators (e.g. foo::bar!()) now produce a sensible error message, rather than an assertion failure. Also added compile-fail test case. Fixes #5218 ? | ||||
| 2013-03-05 | Update region inference for traits so that a method with | Niko Matsakis | -1/+9 | |
| explicit self doesn't incorrectly cause the entire trait to be tagged as being region-parameterized. Fixes #5224. | ||||
