about summary refs log tree commit diff
path: root/src/libsyntax/ast.rs
AgeCommit message (Collapse)AuthorLines
2013-05-14Use static string with fail!() and remove fail!(fmt!())Björn Steinbrink-2/+2
fail!() used to require owned strings but can handle static strings now. Also, it can pass its arguments to fmt!() on its own, no need for the caller to call fmt!() itself.
2013-05-12librustc: Make `self` and `static` into keywordsPatrick Walton-0/+3
2013-05-11clean up the last bit of warningsCorey Richardson-1/+0
2013-05-10Remove the '<->' operator from the languageAlex Crichton-1/+0
2013-05-10auto merge of #6223 : alexcrichton/rust/issue-6183, r=pcwaltonbors-0/+83
Closes #6183. The first commit changes the compiler's method of treating a `for` loop, and all the remaining commits are just dealing with the fallout. The biggest fallout was the `IterBytes` trait, although it's really a whole lot nicer now because all of the `iter_bytes_XX` methods are just and-ed together. Sadly there was a huge amount of stuff that's `cfg(stage0)` gated, but whoever lands the next snapshot is going to have a lot of fun deleting all this code!
2013-05-10auto merge of #6329 : sonwow/rust/issue-6306, r=ILyoanbors-2/+2
Fix for #6306
2013-05-10syntax: Use the new `for` protocolAlex Crichton-0/+83
2013-05-10Move core::task::local_data to core::local_dataYoungsoo Son-2/+2
2013-05-09Use a specialized string interner to reduce the need for owned stringsBjörn Steinbrink-1/+1
&str can be turned into @~str on demand, using to_owned(), so for strings, we can create a specialized interner that accepts &str for intern() and find() but stores and returns @~str.
2013-05-08librustc: Remove mutable fields from the language.Patrick Walton-12/+25
They're still parsed though, to get through bootstrapping.
2013-05-04Register snapshotsBrian Anderson-31/+0
2013-05-02librustc: Update the serializer to work properly with INHTWAMA, removing ↵Patrick Walton-3/+35
mutable fields in the process
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-9/+0
2013-05-01auto merge of #6148 : erickt/rust/remove-drop, r=pcwaltonbors-17/+2
The drop block has been deprecated for quite some time. This patch series removes support for parsing it and all the related machinery that made drop work. As a side feature of all this, I also added the ability to annote fields in structs. This allows comments to be properly associated with an individual field. However, I didn't update `rustdoc` to integrate these comment blocks into the documentation it generates.
2013-05-01allow parsing attributes on struct fieldsErick Tryzelaar-0/+1
2013-05-01rustc: remove the rest of dropErick Tryzelaar-17/+1
Removes: ast::struct_def::dtor syntax::ast::ii_dtor syntax::visit::fk_dtor syntax::ast_map::node_dtor syntax:struct_dtor
2013-05-01Revert rename of Div to QuotBrendan Zabarauskas-1/+1
2013-04-29librustc: Remove the concept of modes from the compiler.Patrick Walton-39/+1
This commit does not remove `ty::arg`, although that should be possible to do now.
2013-04-22librustc: Remove `use mod` from the languagePatrick Walton-6/+1
2013-04-22Rename Div operator trait to Quot and Modulo operator trait to RemBrendan Zabarauskas-1/+1
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-14/+14
2013-04-16added MTWT functionsJohn Clements-25/+99
2013-04-16move interner_key macroJohn Clements-8/+0
2013-04-12auto merge of #5827 : ↵bors-9/+0
nikomatsakis/rust/issue-5656-change-meaning-of-borrowed-self, r=pcwalton See #5656 for details. r? @pcwalton
2013-04-10Issue #5656: Make &self not mean "&'self self"Niko Matsakis-9/+0
Fixes #5656. Fixes #5541.
2013-04-10path -> PathJohn Clements-12/+12
2013-04-05Refactor so that references to traits are not represented using a type with aNiko Matsakis-1/+1
bare function store (which is not in fact a kind of value) but rather ty::TraitRef. Removes many uses of fail!() and other telltale signs of type-semantic mismatch. cc #4183 (not a fix, but related)
2013-04-05Compute a ty::method for methods that appear in impls as wellNiko Matsakis-0/+9
2013-04-05Rather than storing a list of ty::method per trait, store one ty::methodNiko Matsakis-0/+1
per method and list of def-ids per trait.
2013-03-31Fix warningsBrian Anderson-1/+1
2013-03-30auto merge of #5630 : erickt/rust/serial, r=ericktbors-2/+2
@nikomatsakis and I were talking about how the serializers were a bit too complicated. None of the users of With the `emit_option` and `read_option` functions, the serializers are now moving more high level. This patch series continues that trend. I've removed support for emitting specific string and vec types, and added support for emitting mapping types.
2013-03-29Add AbiSet and integrate it into the AST.Niko Matsakis-35/+6
I believe this patch incorporates all expected syntax changes from extern function reform (#3678). You can now write things like: extern "<abi>" fn foo(s: S) -> T { ... } extern "<abi>" mod { ... } extern "<abi>" fn(S) -> T The ABI for foreign functions is taken from this syntax (rather than from an annotation). We support the full ABI specification I described on the mailing list. The correct ABI is chosen based on the target architecture. Calls by pointer to C functions are not yet supported, and the Rust type of crust fns is still *u8.
2013-03-29Merge remote-tracking branch 'remotes/origin/incoming' into serialErick Tryzelaar-1/+1
2013-03-29std: remove Encoder::emit_{owned,managed}_str and ↵Erick Tryzelaar-2/+2
Decoder::read_{owned,managed}_str
2013-03-28Removing unused importsAlex Crichton-1/+1
2013-03-28auto merge of #5593 : luqmana/rust/inline-asm, r=catamorphismbors-4/+22
Clean things up a bit. Also, allow selecting intel syntax in addition to the default AT&T dialect.
2013-03-28librustc: Remove common fields and nested enums from the languagePatrick Walton-2/+0
2013-03-27auto merge of #5578 : erickt/rust/incoming, r=jbclements,ericktbors-8/+1
Hey folks, This patch series does some work on the json decoder, specifically with auto decoding of enums. Previously, we would take this code: ``` enum A { B, C(~str, uint) } ``` and would encode a value of this enum to either `["B", []]` or `["C", ["D", 123]]`. I've changed this to `"B"` or `["C", "D", 123]`. This matches the style of the O'Caml json library [json-wheel](http://mjambon.com/json-wheel.html). I've added tests to make sure all this work. In order to make this change, I added passing a `&[&str]` vec to `Decode::emit_enum_variant` so the json decoder can convert the name of a variant into it's position. I also changed the impl of `Encodable` for `Option<T>` to have the right upper casing. I also did some work on the parser, which allows for `fn foo<T: ::cmp::Eq>() { ... }` statements (#5572), fixed the pretty printer properly expanding `debug!("...")` expressions, and removed `ast::expr_vstore_fixed`, which doesn't appear to be used anymore.
2013-03-27libsyntax: Allow selecting intel style asm.Luqman Aden-1/+10
2013-03-27libsyntax: use a struct for inline asm in ast.Luqman Aden-4/+13
2013-03-27auto merge of #5558 : nikomatsakis/rust/issue-4920-autoref-index-operator, ↵bors-1/+0
r=nikomatsakis Per discussion on IRC. r? @pcwalton
2013-03-27Fix pretty-printer test failure by carrying the bound lifetime names throughNiko Matsakis-0/+1
the types. Initially I thought it would be necessary to thread this data through not only the AST but the types themselves, but then I remembered that the pretty printer only cares about the AST. Regardless, I have elected to leave the changes to the types intact since they will eventually be needed. I left a few FIXMEs where it didn't seem worth finishing up since the code wasn't crucial yet.
2013-03-27syntax: Remove deprecated expr_vstore_fixedErick Tryzelaar-1/+0
2013-03-27syntax: fix pretty printing __log stmtsErick Tryzelaar-7/+1
2013-03-27remove sty_by_ref, though traces still remain due to dtorsNiko Matsakis-1/+0
2013-03-26librustc: Modify all code to use new lifetime binder syntaxPatrick Walton-0/+1
2013-03-22librustc: Remove the `const` declaration form everywherePatrick Walton-2/+2
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-22/+22
2013-03-22librustc: Remove all uses of `static` from functions. rs=destaticPatrick Walton-1/+1
2013-03-22syntax: replace uses of old deriving attribute with new oneAndrew Paseltiner-85/+85