summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2013-07-12auto merge of #7736 : thestinger/rust/doc, r=thestingerbors-18/+8
2b96408 r=sanxiyn documents conversion, size hints and double-ended iterators and adds more of the traits to the prelude
2013-07-12Remove the global 'vec::to_owned' functionAlex Crichton-18/+8
2013-07-12auto merge of #7706 : sanxiyn/rust/qualification-lint, r=pcwaltonbors-0/+1
Fix #2551. Lint is off by default because I didn't bother to fix all of std and extra.
2013-07-11auto merge of #7695 : cmr/rust/assert_eq_msg, r=pnkfelixbors-1/+2
This changes it from ``` left: true does not equal right: false ``` to ``` assertion failed: `(left == right) && (right == left)` (left: `true`, right: `false`) ```
2013-07-11auto merge of #7677 : alexcrichton/rust/tls-gc, r=pcwaltonbors-4/+4
cc #6004 and #3273 This is a rewrite of TLS to get towards not requiring `@` when using task local storage. Most of the rewrite is straightforward, although there are two caveats: 1. Changing `local_set` to not require `@` is blocked on #7673 2. The code in `local_pop` is some of the most unsafe code I've written. A second set of eyes should definitely scrutinize it... The public-facing interface currently hasn't changed, although it will have to change because `local_data::get` cannot return `Option<T>`, nor can it return `Option<&T>` (the lifetime isn't known). This will have to be changed to be given a closure which yield `&T` (or as an Option). I didn't do this part of the api rewrite in this pull request as I figured that it could wait until when `@` is fully removed. This also doesn't deal with the issue of using something other than functions as keys, but I'm looking into using static slices (as mentioned in the issues).
2013-07-11Get cross crate static default methods working. Closes #7569.Michael Sullivan-9/+12
2013-07-11Remove all external requirements of `@` from TLSAlex Crichton-2/+2
Closes #6004
2013-07-10unnecessarily mutable variablesBrendan Cully-1/+1
2013-07-10Change the assert_eq message to be more verbose.Corey Richardson-1/+2
Closes #6221
2013-07-10auto merge of #7658 : ↵bors-2/+1
excepttheweasel/rust/mut_default_param_list_issue_7483, r=pcwalton
2013-07-10Add a lint to detect unnecessarily qualified namesSeo Sanghyeon-0/+1
2013-07-09Rename local_data methods/types for less keystrokesAlex Crichton-4/+4
2013-07-09auto merge of #7657 : thestinger/rust/rollup, r=thestingerbors-1/+1
d3be8ab r=brson 05eb3cf r=thestinger c80f4e1 r=huonw 8c27af1 r=huonw 0eee0b6 r=cmr ea2756a r=thestinger
2013-07-09bright white for the message, similar to clangLenny222-1/+1
2013-07-09auto merge of #7117 : jensnockert/rust/freestanding, r=cmrbors-2/+3
The free-standing functions in f32, f64, i8, i16, i32, i64, u8, u16, u32, u64, float, int, and uint are replaced with generic functions in num instead. This means that instead of having to know everywhere what the type is, like ~~~ f64::sin(x) ~~~ You can simply write code that uses the type-generic versions in num instead, this works for all types that implement the corresponding trait in num. ~~~ num::sin(x) ~~~ Note 1: If you were previously using any of those functions, just replace them with the corresponding function with the same name in num. Note 2: If you were using a function that corresponds to an operator, use the operator instead. Note 3: This is just https://github.com/mozilla/rust/pull/7090 reopened against master.
2013-07-09Don't use static default methodJohn Barker-1/+0
- also removed redundant assignment to is_mutbl - updated copyright
2013-07-09Always eat up mut when parsing general args, fixes #7483John Barker-2/+2
2013-07-08auto merge of #7262 : nikomatsakis/rust/ref-bindings-in-irrefut-patterns, ↵bors-51/+49
r=catamorphism Correct treatment of irrefutable patterns. The old code was wrong in many, many ways. `ref` bindings didn't work, it sometimes copied when it should have moved, the borrow checker didn't even look at such patterns at all, we weren't consistent about preventing values with destructors from being pulled apart, etc. Fixes #3224. Fixes #3225. Fixes #3255. Fixes #6225. Fixes #6386. r? @catamorphism
2013-07-08Correct merge errorsNiko Matsakis-7/+7
2013-07-08Correct merge failuresNiko Matsakis-1/+6
2013-07-08Fix pretty printer, which was ignoring `ref` in irrefutable patternsNiko Matsakis-38/+23
2013-07-08syntax: Patch up code that was using irrefutable patterns incorrectlyNiko Matsakis-12/+20
2013-07-08Bump version numbers to 0.8-preBrian Anderson-1/+1
2013-07-08 Replaces the free-standing functions in f32, &c.Jens Nockert-2/+3
The free-standing functions in f32, f64, i8, i16, i32, i64, u8, u16, u32, u64, float, int, and uint are replaced with generic functions in num instead. If you were previously using any of those functions, just replace them with the corresponding function with the same name in num. Note: If you were using a function that corresponds to an operator, use the operator instead.
2013-07-07remove some method resolve workaroundsDaniel Micay-3/+3
2013-07-07auto merge of #7615 : Aatch/rust/syntax-deshare, r=graydonbors-526/+532
In an ideal world, the AST would be completely sendable, this gets us a step closer. It removes the local heap allocations for `view_item`, `Path`, `Lifetime` `trait_ref` `OptVec<TyParamBounds>` and `Ty`. There are also a few other smaller changes I made as things went along.
2013-07-07Fix broken testsJames Miller-9/+9
2013-07-07De-share ast::TyJames Miller-182/+181
2013-07-07De-manage OptVec<TyParamBounds>James Miller-47/+49
2013-07-07De-share trait_refJames Miller-97/+96
Also, makes the pretty-printer use & instead of @ as much as possible, which will help with later changes, though in the interim has produced some... interesting constructs.
2013-07-07De-manage LifetimeJames Miller-35/+34
2013-07-07De-managed ast::PathJames Miller-140/+148
2013-07-07Stop allocating view_items with @James Miller-38/+37
2013-07-07auto merge of #7585 : Blei/rust/fix-circular-modules, r=huonwbors-2/+23
Fixes #7276
2013-07-06auto merge of #7570 : kballard/rust/iterator-size-hint, r=thestingerbors-0/+8
Change the signature of Iterator.size_hint() to always have a lower bound. Implement .size_hint() on all remaining iterators (if it differs from the default).
2013-07-06Implement size_hint() on all remaining IteratorsKevin Ballard-0/+8
Add size_hint() to the Iterators in libextra and the Iterator in libsyntax. Skip deque for the moment, as it's being worked on elsewhere.
2013-07-05Change spans for sugary call expressionsSeo Sanghyeon-9/+8
2013-07-05Do not rely on newtype enum dereferenceSeo Sanghyeon-33/+25
2013-07-05Remove visit_struct_methodSeo Sanghyeon-12/+0
2013-07-04libsyntax: fix infinite loop when recursively including modulesPhilipp Brüschweiler-2/+23
Fixes #7276
2013-07-04Remove vec::{filter, filtered, filter_map, filter_mapped}, replaced by ↵Huon Wilson-15/+6
iterators.
2013-07-04Implement consuming iterators for ~[], remove vec::{consume, ↵Huon Wilson-2/+1
consume_reverse, map_consume}.
2013-07-01rustc: add a lint to enforce uppercase statics.Huon Wilson-4/+7
2013-06-30auto merge of #7487 : huonw/rust/vec-kill, r=cmrbors-31/+27
Continuation of #7430. I haven't removed the `map` method, since the replacement `v.iter().transform(f).collect::<~[SomeType]>()` is a little ridiculous at the moment.
2013-06-30Bump version from 0.7-pre to 0.7Brian Anderson-1/+1
2013-06-30Change char::escape_{default,unicode} to take callbacks instead of allocatingAlex Crichton-4/+12
strings
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-31/+27
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-30auto merge of #7468 : cmr/rust/great_renaming, r=pcwaltonbors-8/+0
2013-06-29Remove mutability from unique boxes in the ASTAlex Crichton-11/+13
2013-06-29Warning cleanupCorey Richardson-8/+0