about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2014-06-18Don't require mutable StringReader to emit lexer errorsKevin Ballard-42/+52
Teach StringReader how to emit errors for arbitrary spans, so we don't need to modify peek_span. This allows for emitting errors without having a &mut borrow of the StringReader.
2014-06-18Fix spans for doc commentsKevin Ballard-3/+3
2014-06-18auto merge of #14880 : SimonSapin/rust/byte-literals, r=alexcrichtonbors-96/+230
See #14646 (tracking issue) and rust-lang/rfcs#69. This does not close the tracking issue, as the `bytes!()` macro still needs to be removed. It will be later, after a snapshot is made with the changes in this PR, so that the new syntax can be used when bootstrapping the compiler.
2014-06-18auto merge of #14869 : nick29581/rust/tstore, r=nmatsakisbors-2/+6
Use ty_rptr/ty_uniq(ty_trait) rather than TraitStore to represent trait types. Also addresses (but doesn't close) #12470. Part of the work towards DST (#12938).
2014-06-17auto merge of #14956 : nathantypanski/rust/master, r=alexcrichtonbors-15/+0
Closes #14329 Recent-ish uses of `find_linkage_metas` from my `git grep` output are [here](https://gist.github.com/nathantypanski/b9d2d453718a22765f5c), for those interested who wish to tread through the history.
2014-06-18Remove TraitStore from ty_traitNick Cameron-2/+6
Use ty_rptr/ty_uniq(ty_trait) rather than TraitStore to represent trait types. Also addresses (but doesn't close) #12470. Part of the work towards DST (#12938). [breaking-change] lifetime parameters in `&mut trait` are now invariant. They used to be contravariant.
2014-06-18Fix some violations of stronger guarantees for mutable borrows.Simon Sapin-9/+17
See 159e27aebb940926ccf1bad0b2b12087d36ad903
2014-06-17Refactor backslash-escape parsing to share similar code.Simon Sapin-151/+69
Move into a new syntax::parse::lexer::StringReader method the code that was almost duplicated for parsing backslash-escapes in byte, byte string, char, and string literals.
2014-06-17Add br##"xx"## raw byte string literals.Simon Sapin-3/+61
2014-06-17Add a b"xx" byte string literal of type &'static [u8].Simon Sapin-66/+128
2014-06-17Add a b'x' byte literal of type u8.Simon Sapin-4/+92
2014-06-17librustc: Make addresses of immutable statics insignificant unlessPatrick Walton-9/+14
`#[inline(never)]` is used. Closes #8958. This can break some code that relied on the addresses of statics being distinct; add `#[inline(never)]` to the affected statics. [breaking-change]
2014-06-17libsyntax: remove dead code find_linkage_metasNathan Typanski-15/+0
Closes #14329
2014-06-16Update repo locationBrian Anderson-3/+3
2014-06-16rustc: Improve span for error about using a method as a field.Kevin Butler-7/+16
libsyntax: ExprField now contains a SpannedIdent rather than Ident. [breaking-change]
2014-06-16auto merge of #14900 : alexcrichton/rust/snapshots, r=huonwbors-91/+11
Closes #14898 Closes #14918
2014-06-16auto merge of #14715 : vhbit/rust/ios-pr2, r=alexcrichtonbors-1/+14
2014-06-15Register new snapshotsAlex Crichton-91/+11
2014-06-14rustc: Obsolete the `@` syntax entirelyAlex Crichton-19/+40
This removes all remnants of `@` pointers from rustc. Additionally, this removes the `GC` structure from the prelude as it seems odd exporting an experimental type in the prelude by default. Closes #14193 [breaking-change]
2014-06-14Register new snapshotsAlex Crichton-18/+1
2014-06-13Fix all violations of stronger guarantees for mutable borrowsCameron Zwarich-88/+166
Fix all violations in the Rust source tree of the stronger guarantee of a unique access path for mutable borrows as described in #12624.
2014-06-13syntax: parse outer attributes in `quote_item!` calls.Huon Wilson-7/+9
Fixes #14857.
2014-06-13syntax: fix quote_pat! & unignore a quotation test.Huon Wilson-3/+1
2014-06-13libsyntax: Allow `+` to separate trait bounds from objects.Patrick Walton-58/+112
RFC #27. After a snapshot, the old syntax will be removed. This can break some code that looked like `foo as &Trait:Send`. Now you will need to write `foo as (&Trait+Send)`. Closes #12778. [breaking-change]
2014-06-13librustc: Fix the issue with labels shadowing variable names by makingPatrick Walton-77/+127
the leading quote part of the identifier for the purposes of hygiene. This adopts @jbclements' solution to #14539. I'm not sure if this is a breaking change or not. Closes #12512. [breaking-change]
2014-06-13Introduce VecPerParamSpace and use it to represent sets of types andNiko Matsakis-8/+0
parameters This involves numerous substeps: 1. Treat Self same as any other parameter. 2. No longer compute offsets for method parameters. 3. Store all generic types (both trait/impl and method) with a method, eliminating odd discrepancies. 4. Stop doing unspeakable things to static methods and instead just use the natural types, now that we can easily add the type parameters from trait into the method's polytype. 5. No doubt some more. It was hard to separate these into distinct commits. Fixes #13564
2014-06-13auto merge of #14831 : alexcrichton/rust/format-intl, r=brsonbors-188/+91
* The select/plural methods from format strings are removed * The # character no longer needs to be escaped * The \-based escapes have been removed * '{{' is now an escape for '{' * '}}' is now an escape for '}' Closes #14810 [breaking-change]
2014-06-13Dump results of analysis phase as CSVNick Cameron-35/+35
Adds the option -Zsave-analysis which will dump the results of syntax and type checking into CSV files. These can be interpreted by tools such as DXR to provide semantic information about Rust programs for code search, cross-reference, etc. Authored by Nick Cameron and Peter Elmers (@pelmers; including enums, type parameters/generics).
2014-06-12Better dylib skipping based on Alex Crichton codeValerii Hiora-0/+13
2014-06-12Basic iOS supportValerii Hiora-1/+1
2014-06-11std: Remove i18n/l10n from format!Alex Crichton-188/+91
* The select/plural methods from format strings are removed * The # character no longer needs to be escaped * The \-based escapes have been removed * '{{' is now an escape for '{' * '}}' is now an escape for '}' Closes #14810 [breaking-change]
2014-06-11rustc: Remove ~[T] from the languageAlex Crichton-6/+12
The following features have been removed * box [a, b, c] * ~[a, b, c] * box [a, ..N] * ~[a, ..N] * ~[T] (as a type) * deprecated_owned_vector lint All users of ~[T] should move to using Vec<T> instead.
2014-06-11rustc: Move the AST from @T to Gc<T>Alex Crichton-33/+34
2014-06-11syntax: Move the AST from @T to Gc<T>Alex Crichton-1167/+1278
2014-06-10auto merge of #14764 : jbcrail/rust/fix-more-comments, r=alexcrichtonbors-9/+9
2014-06-10auto merge of #14696 : jakub-/rust/dead-struct-fields, r=alexcrichtonbors-17/+12
This uncovered some dead code, most notably in middle/liveness.rs, which I think suggests there must be something fishy with that part of the code. The #[allow(dead_code)] annotations on some of the fields I am not super happy about but as I understand, marker type may disappear at some point.
2014-06-10Fix more misspelled comments and strings.Joseph Crail-9/+9
2014-06-09librustc: Implement sugar for the `FnMut` traitPatrick Walton-29/+176
2014-06-09Use phase(plugin) in bootstrap cratesKeegan McAllister-0/+7
Do this to avoid warnings on post-stage0 builds.
2014-06-09Implement #[plugin_registrar]Keegan McAllister-196/+34
See RFC 22. [breaking-change]
2014-06-08core: Rename `container` mod to `collections`. Closes #12543Brian Anderson-2/+2
Also renames the `Container` trait to `Collection`. [breaking-change]
2014-06-08Remove the dead code identified by the new lintJakub Wieczorek-17/+3
2014-06-08Add detection of dead struct fieldsJakub Wieczorek-0/+9
2014-06-08Remove unused name_str_pair methodSteven Fackler-16/+0
2014-06-07Add visit_attribute to Visitor, use it for unused_attributeSteven Fackler-16/+46
The lint was missing a *lot* of cases previously.
2014-06-07Implement ToSource and ToToken for ast::ArgHanno Braun-0/+11
This makes ast::Arg usable in the quote_ macros. Please note that this commit doesn't include a regression test. There are tests that use the quote macros, but all of them are ignored. Due to that, there is no obvious (to me) way to test this. Since this change is absolutely trivial and only hooks up an additional type to existing infrastructure (which presumably is tested elsewhere), I concluded it's not worth the effort to follow up on this.
2014-06-06Move Def out of syntax crate, where it does not belongNiko Matsakis-70/+0
2014-06-06auto merge of #14667 : aochagavia/rust/pr2, r=huonwbors-3/+3
2014-06-06Change to_str().to_string() to just to_str()Adolfo OchagavĂ­a-3/+3
2014-06-05Fallout from the libcollections movementAlex Crichton-15/+13