summary refs log tree commit diff
path: root/src/librustc/middle/astencode.rs
AgeCommit message (Collapse)AuthorLines
2014-03-29auto merge of #13188 : FlaPer87/rust/master, r=alexcrichtonbors-180/+132
2014-03-29Register new snapshotFlavio Percoco-180/+132
2014-03-28Convert most code to new inner attribute syntax.Brian Anderson-2/+2
Closes #2569
2014-03-27serialize: use ResultSean McArthur-169/+231
All of Decoder and Encoder's methods now return a Result. Encodable.encode() and Decodable.decode() return a Result as well. fixes #12292
2014-03-23Implement cross-crate support for autoderef.Eduard Burtescu-20/+92
Closes #13044.
2014-03-22Implement vtable support for autoderef.Eduard Burtescu-2/+3
Closes #13042.
2014-03-22rustc: Remove all usage of manual deref()Alex Crichton-2/+1
Favor using '*' instead
2014-03-22rustc: Fix fallout of removing get()Alex Crichton-111/+60
2014-03-20Removing imports of std::vec_ng::VecAlex Crichton-1/+0
It's now in the prelude.
2014-03-20rename std::vec_ng -> std::vecDaniel Micay-1/+1
Closes #12771
2014-03-17Fix rustdoc and tests.Eduard Burtescu-1/+1
2014-03-17De-@ move maps and rework parts of trans.Eduard Burtescu-19/+16
2014-03-17De-@ ParseSess uses.Eduard Burtescu-4/+4
2014-03-17De-@ tyencode::ctxt and related parts of astencode.Eduard Burtescu-50/+50
2014-03-17De-@ ty::ctxt usage.Eduard Burtescu-22/+22
2014-03-17De-@ Session usage.Eduard Burtescu-3/+3
2014-03-13Implement automatic overloaded dereference.Eduard Burtescu-3/+5
Closes #7141.
2014-03-13Remove Rc's borrow method to avoid conflicts with RefCell's borrow in ↵Eduard Burtescu-1/+1
Rc<RefCell<T>>.
2014-03-08librustc: Fix up fallout from the automatic conversion.Felix S. Klock II-10/+21
2014-03-08librustc: Automatically change uses of `~[T]` to `Vec<T>` in rustc.Patrick Walton-9/+9
2014-03-01librustc: Fix errors arising from the automated `~[T]` conversionPatrick Walton-4/+10
2014-02-28std: Change assert_eq!() to use {} instead of {:?}Alex Crichton-1/+1
Formatting via reflection has been a little questionable for some time now, and it's a little unfortunate that one of the standard macros will silently use reflection when you weren't expecting it. This adds small bits of code bloat to libraries, as well as not always being necessary. In light of this information, this commit switches assert_eq!() to using {} in the error message instead of {:?}. In updating existing code, there were a few error cases that I encountered: * It's impossible to define Show for [T, ..N]. I think DST will alleviate this because we can define Show for [T]. * A few types here and there just needed a #[deriving(Show)] * Type parameters needed a Show bound, I often moved this to `assert!(a == b)` * `Path` doesn't implement `Show`, so assert_eq!() cannot be used on two paths. I don't think this is much of a regression though because {:?} on paths looks awful (it's a byte array). Concretely speaking, this shaved 10K off a 656K binary. Not a lot, but sometime significant for smaller binaries.
2014-02-26Replace callee_id with information stored in method_map.Eduard Burtescu-17/+52
2014-02-26Rename a few typeck method-related structures to UpperCamelCase.Eduard Burtescu-20/+18
2014-02-21Changed NonCamelCaseTypes lint to warn by defaultmr.Shu-1/+2
Added allow(non_camel_case_types) to librustc where necesary Tried to fix problems with non_camel_case_types outside rustc fixed failing tests Docs updated Moved #[allow(non_camel_case_types)] a level higher. markdown.rs reverted Fixed timer that was failing tests Fixed another timer
2014-02-19Replaced method_map_entry with method_origin and cleaned up vtable checking ↵Eduard Burtescu-34/+6
a bit.
2014-02-14Refactored ast_map and friends, mainly to have Paths without storing them.Eduard Burtescu-35/+34
2014-02-13Replace `crate` usage with `krate`Flavio Percoco-4/+4
This patch replaces all `crate` usage with `krate` before introducing the new keyword. This ensures that after introducing the keyword, there won't be any compilation errors. krate might not be the most expressive substitution for crate but it's a very close abbreviation for it. `module` was already used in several places already.
2014-02-07Removed @self and @Trait.Eduard Burtescu-6/+3
2014-02-05pull extra::{serialize, ebml} into a separate libserialize crateJeff Olson-6/+6
- `extra::json` didn't make the cut, because of `extra::json` required dep on `extra::TreeMap`. If/when `extra::TreeMap` moves out of `extra`, then `extra::json` could move into `serialize` - `libextra`, `libsyntax` and `librustc` depend on the newly created `libserialize` - The extensions to various `extra` types like `DList`, `RingBuf`, `TreeMap` and `TreeSet` for `Encodable`/`Decodable` were moved into the respective modules in `extra` - There is some trickery, evident in `src/libextra/lib.rs` where a stub of `extra::serialize` is set up (in `src/libextra/serialize.rs`) for use in the stage0 build, where the snapshot rustc is still making deriving for `Encodable` and `Decodable` point at extra. Big props to @huonw for help working out the re-export solution for this extra: inline extra::serialize stub fix stuff clobbered in rebase + don't reexport serialize::serialize no more globs in libserialize syntax: fix import of libserialize traits librustc: fix bad imports in encoder/decoder add serialize dep to librustdoc fix failing run-pass tests w/ serialize dep adjust uuid dep more rebase de-clobbering for libserialize fixing tests, pushing libextra dep into cfg(test) fix doc code in extra::json adjust index.md links to serialize and uuid library
2014-02-02rustc: remove use of @[].Huon Wilson-11/+9
2014-01-27Demote self to an (almost) regular argument and remove the env param.Eduard Burtescu-20/+2
Fixes #10667 and closes #10259.
2014-01-26Removed all instances of XXX in preparation for relaxing of FIXME ruleSalem Talha-1/+1
2014-01-17auto merge of #11598 : alexcrichton/rust/io-export, r=brsonbors-1/+1
* Reexport io::mem and io::buffered structs directly under io, make mem/buffered private modules * Remove with_mem_writer * Remove DEFAULT_CAPACITY and use DEFAULT_BUF_SIZE (in io::buffered) cc #11119
2014-01-17Tweak the interface of std::ioAlex Crichton-1/+1
* Reexport io::mem and io::buffered structs directly under io, make mem/buffered private modules * Remove with_mem_writer * Remove DEFAULT_CAPACITY and use DEFAULT_BUF_SIZE (in io::buffered)
2014-01-17auto merge of #11585 : nikomatsakis/rust/issue-3511-rvalue-lifetimes, r=pcwaltonbors-2/+4
Major changes: - Define temporary scopes in a syntax-based way that basically defaults to the innermost statement or conditional block, except for in a `let` initializer, where we default to the innermost block. Rules are documented in the code, but not in the manual (yet). See new test run-pass/cleanup-value-scopes.rs for examples. - Refactors Datum to better define cleanup roles. - Refactor cleanup scopes to not be tied to basic blocks, permitting us to have a very large number of scopes (one per AST node). - Introduce nascent documentation in trans/doc.rs covering datums and cleanup in a more comprehensive way. r? @pcwalton
2014-01-16Load macros from external modulesSteven Fackler-0/+14
2014-01-15Issue #3511 - Rationalize temporary lifetimes.Niko Matsakis-2/+4
Major changes: - Define temporary scopes in a syntax-based way that basically defaults to the innermost statement or conditional block, except for in a `let` initializer, where we default to the innermost block. Rules are documented in the code, but not in the manual (yet). See new test run-pass/cleanup-value-scopes.rs for examples. - Refactors Datum to better define cleanup roles. - Refactor cleanup scopes to not be tied to basic blocks, permitting us to have a very large number of scopes (one per AST node). - Introduce nascent documentation in trans/doc.rs covering datums and cleanup in a more comprehensive way.
2014-01-13librustc: Remove `@` pointer patterns from the languagePatrick Walton-9/+7
2014-01-11Use the right type for self in methods and remove obsoleted items.Eduard Burtescu-8/+1
Fixes #7411, #10615.
2014-01-09libsyntax: Renamed types, traits and enum variants to CamelCase.Eduard Burtescu-39/+39
2014-01-08Remove the io::Decorator traitAlex Crichton-2/+1
This is just an unnecessary trait that no one's ever going to parameterize over and it's more useful to just define the methods directly on the types themselves. The implementors of this type almost always don't want inner_mut_ref() but they're forced to define it as well.
2014-01-06Disowned the Visitor.Eduard Burtescu-51/+58
2014-01-03librustc: Remove `@mut` support from the typechecker and borrow checkerPatrick Walton-1/+0
2014-01-03librustc: De-`@mut` the parse sessionPatrick Walton-3/+3
2014-01-01syntax::codemap: Add static DUMMY_SPklutzy-1/+1
It replaces `dummy_sp()`.
2013-12-29Make ast_fold take &mut selfSteven Fackler-5/+5
2013-12-27librustc: Implement coercion for traits.Luqman Aden-12/+102
2013-12-26librustc: De-`@mut` the def map.Patrick Walton-2/+4
This is the last `@mut` in `librustc` that does not depend on libsyntax.
2013-12-26librustc: De-`@mut` the method mapPatrick Walton-4/+5