about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2015-01-16syntax: Feature gate #[start] and #[main]Alex Crichton-0/+14
These two attributes are used to change the entry point into a Rust program, but for now they're being put behind feature gates until we have a chance to think about them a little more. The #[start] attribute specifically may have its signature changed. This is a breaking change to due the usage of these attributes generating errors by default now. If your crate is using these attributes, add this to your crate root: #![feature(start)] // if you're using the #[start] attribute #![feature(main)] // if you're using the #[main] attribute cc #20064
2015-01-16auto merge of #21008 : huonw/rust/trait-suggestions, r=nikomatsakisbors-0/+3
For a call like `foo.bar()` where the method `bar` can't be resolved, the compiler will search for traits that have methods with name `bar` to give a more informative error, providing a list of possibilities. Closes #7643.
2015-01-16auto merge of #21162 : apasel422/rust/issue-16530, r=huonwbors-6/+2
This fixes #16530 by hashing nullary structs [the same way as the empty tuple] (https://github.com/rust-lang/rust/blob/master/src/libcore/hash/mod.rs#L185). Other approaches are possible, but this was the simplest.
2015-01-15Test fixes and rebase conflictsAlex Crichton-1/+1
2015-01-15rollup merge of #21199: dotdash/decode_lambaAlex Crichton-4/+3
Currently, we build a closure that does nothing but pass its argument through to another function, this is rather wasteful and creates lots of unnecessary closures.
2015-01-15rollup merge of #21161: japaric/ufcs-hashAlex Crichton-2/+12
expansion now uses `::std::hash::Hash::hash(&*__self_0_0, __arg_0)` instead of `(*__self_0_0).hash(__arg_0)` closes #21160 r? @alexcrichton
2015-01-15rollup merge of #21144: nagisa/asm-str-fixAlex Crichton-0/+6
Fixes #21045
2015-01-15rollup merge of #21127: erickt/opt-stackAlex Crichton-174/+252
libsyntax compiled without optimization uses a lot of stack, which can cause it to run out of stack space. This PR factors out some arm handlers from `print_expr` as well as converts `advance_left` into a loop. This helps to cut down on the stack usage.
2015-01-15rollup merge of #21088: aochagavia/obsoleteAlex Crichton-168/+4
Only the most recent changes (since November 2014) get a special error. Fixes #20599
2015-01-15rollup merge of #21052: nick29581/methods-extAlex Crichton-116/+363
Allows modifiers to be used on methods, associated types, etc. r? @sfackler
2015-01-15rollup merge of #21005: huonw/deriving-docsAlex Crichton-25/+28
Syntax and a few fixed bugs etc.
2015-01-15syntax: parse fully qualified UFCS expressions.Eduard Burtescu-7/+37
2015-01-15syntax: add fully qualified UFCS expressions.Eduard Burtescu-14/+42
2015-01-15Avoid unnecessary closures when deriving RustcDecodableBjörn Steinbrink-4/+3
Currently, we build a closure that does nothing but pass its argument through to another function, this is rather wasteful and creates lots of unnecessary closures.
2015-01-15support deriving `Hash` for nullary structsAndrew Paseltiner-6/+2
fixes #16530
2015-01-14use better spanJorge Aparicio-11/+11
2015-01-14use UFCS in `#[deriving(Hash)]`Jorge Aparicio-2/+12
expansion now uses `::std::hash::Hash::hash(&*__self_0_0, __arg_0)` instead of `(*__self_0_0).hash(__arg_0)` closes #21160
2015-01-14Remove old obsolete syntax errorsAdolfo Ochagavía-168/+4
2015-01-15Syntax extensions on trait and impl items.Nick Cameron-116/+363
Allows modifiers to be used on methods, associated types, etc.
2015-01-14Disallow a form of invalid asm! macroSimonas Kazlauskas-0/+6
Fixes #21045
2015-01-13syntax: factor out print_expr arms to reduce non-optimized stack usageErick Tryzelaar-78/+138
2015-01-13syntax: Rewrite pp advance_left to use a constant stack sizeErick Tryzelaar-31/+37
2015-01-13syntax: Don't import the pp.rs enum variants into the namespaceErick Tryzelaar-70/+82
2015-01-14auto merge of #21061 : japaric/rust/range, r=nick29581bors-3/+3
2015-01-14Implement suggestions for traits to import.Huon Wilson-0/+3
For a call like `foo.bar()` where the method `bar` can't be resolved, the compiler will search for traits that have methods with name `bar` to give a more informative error, providing a list of possibilities. Closes #7643.
2015-01-12cleanup: `&foo[0..a]` -> `&foo[..a]`Jorge Aparicio-3/+3
2015-01-13Add view items to the ast mapNick Cameron-0/+35
2015-01-13Update #[deriving] documentation.Huon Wilson-25/+28
Syntax and a few fixed bugs etc.
2015-01-12auto merge of #20889 : Manishearth/rust/trait-error, r=nikomatsakisbors-0/+5
fixes #20783 r? @nikomatsakis
2015-01-12Feature gate #[rustc_on_unimplemented]Manish Goregaokar-0/+5
2015-01-11Update Token::can_begin_expr() to make it consistent with the grammar:Daniel Grunwald-11/+5
* add Token::AndAnd (double borrow) * add Token::DotDot (range notation) * remove Token::Pound and Token::At Fixes a syntax error when parsing "fn f() -> RangeTo<i32> { return ..1; }". Also, remove "fn_expr_lookahead". It's from the fn~ days and seems to no longer be necessary.
2015-01-10Merge pull request #20808 from Manishearth/span_fixbors-2/+5
Fix checking of command line expansion spans Reviewed-by: alexcrichton
2015-01-10auto merge of #20837 : huonw/rust/remove-unused-lifetime, r=nikomatsakisbors-6/+2
2015-01-10auto merge of #20794 : sfackler/rust/trailing-attrs, r=alexcrichtonbors-2/+6
Closes #20711
2015-01-10core: rm unused lifetime.Huon Wilson-6/+2
2015-01-09syntax: Add #[allow(unstable)] to --test expansionAlex Crichton-1/+7
This will temporarily prevent warnings generated from expanding to code that the test harness itself uses. This solution will require tweaking around the beta cycle, but it will prevent spurious warnings for now. Closes #20823
2015-01-09Fix checking of command line expansion spans (fixes #20747)Manish Goregaokar-2/+5
2015-01-08Forbid trailing attributes in impl blocksSteven Fackler-2/+6
Closes #20711
2015-01-08auto merge of #20760 : alexcrichton/rust/rollup, r=alexcrichtonbors-48/+134
2015-01-08rollup merge of #20754: nikomatsakis/int-featureAlex Crichton-43/+132
Conflicts: src/test/compile-fail/borrowck-move-out-of-overloaded-auto-deref.rs src/test/compile-fail/issue-2590.rs src/test/compile-fail/lint-stability.rs src/test/compile-fail/slice-mut-2.rs src/test/compile-fail/std-uncopyable-atomics.rs
2015-01-08rollup merge of #20740: FlaPer87/remove-opt-out-copyAlex Crichton-4/+1
[breaking-change] code using this feature will break.
2015-01-08Test fixes.Huon Wilson-4/+4
2015-01-08Remove warning from the libraries.Huon Wilson-0/+1
This adds the int_uint feature to *every* library, whether or not it needs it.
2015-01-08Add a warning feature gate for int/uint in types and i/u suffixes.Huon Wilson-0/+55
2015-01-08Store deprecated status of i/u-suffixed literals.Huon Wilson-40/+73
2015-01-08Remove the deprecated opt_out_copy featureFlavio Percoco-4/+1
2015-01-08Improvements to feature stagingBrian Anderson-1/+1
This gets rid of the 'experimental' level, removes the non-staged_api case (i.e. stability levels for out-of-tree crates), and lets the staged_api attributes use 'unstable' and 'deprecated' lints. This makes the transition period to the full feature staging design a bit nicer.
2015-01-08libsyntax: add COMMAND_LINE_SP and use it for spans generated from the ↵Manish Goregaokar-6/+21
command line
2015-01-07Test fixes and rebase conflictsAlex Crichton-34/+2
2015-01-07rollup merge of #20723: pnkfelix/feature-gate-box-syntaxAlex Crichton-1/+17
Conflicts: src/compiletest/compiletest.rs src/libcollections/lib.rs src/libserialize/lib.rs src/libsyntax/feature_gate.rs