about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2015-01-20Fix up some ‘help’ messagesP1start-1/+1
2015-01-19Auto merge of #21278 - thchittenden:issue-21033-struct-var-pattern-fix, ↵bors-25/+34
r=alexcrichton Closes #21033. The new strategy for parsing a field pattern is to look 1 token ahead and if it's a colon, parse as "fieldname: pat", otherwise parse the shorthand form "(box) (ref) (mut) fieldname)". The previous strategy was to parse "(ref) (mut) fieldname" then if we encounter a colon, throw an error if either "ref" or "mut" were encountered.
2015-01-19Fixes #21033 with accompanying test.Tom Chittenden-25/+34
2015-01-19Auto merge of #21099 - sanxiyn:opt-return-ty, r=alexcrichtonbors-63/+27
This avoids having ast::Ty nodes which have no counterpart in the source.
2015-01-18Make output type in ast::FnDecl optionalSeo Sanghyeon-63/+27
2015-01-18auto merge of #20901 : dgrunwald/rust/update-token-can-begin-expr, r=sanxiynbors-11/+5
* add `Token::AndAnd` (double borrow) * add `Token::DotDot` (range notation) * remove `Token::Pound` and `Token::At` This 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-17Set allow(unstable) in crates that use unstable featuresBrian Anderson-0/+1
Lets them build with the -dev, -nightly, or snapshot compiler
2015-01-17Register new snapshots.Eduard Burtescu-8/+0
2015-01-17std: Move the bitflags! macro to a gated crateAlex Crichton-0/+1
In accordance with [collections reform part 2][rfc] this macro has been moved to an external [bitflags crate][crate] which is [available though crates.io][cratesio]. Inside the standard distribution the macro has been moved to a crate called `rustc_bitflags` for current users to continue using. [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0509-collections-reform-part-2.md [crate]: https://github.com/rust-lang/bitflags [cratesio]: http://crates.io/crates/bitflags The major user of `bitflags!` in terms of a public-facing possibly-stable API today is the `FilePermissions` structure inside of `std::io`. This user, however, will likely no longer use `bitflags!` after I/O reform has landed. To prevent breaking APIs today, this structure remains as-is. Current users of the `bitflags!` macro should add this to their `Cargo.toml`: bitflags = "0.1" and this to their crate root: #[macro_use] extern crate bitflags; Due to the removal of a public macro, this is a: [breaking-change]
2015-01-17auto merge of #21233 : huonw/rust/simd-size, r=Aatchbors-0/+4
This stops the compiler ICEing on the use of SIMD types in FFI signatures. It emits correct code for LLVM intrinsics, but I am quite unsure about the ABI handling in general so I've added a new feature gate `simd_ffi` to try to ensure people don't use it without realising there's a non-trivial risk of codegen brokenness. Closes #20043.
2015-01-17Feature gate SIMD in FFI, due to unknown ABIs.Huon Wilson-0/+4
I don't know if this handling of SIMD types is correct for the C ABI on all platforms, so lets add an even finer feature gate than just the `simd` one. The `simd` one can be used with (relatively) little risk of complete nonsense, the reason for it is that it is likely that things will change. Using the types in FFI with an incorrect ABI will at best give absolute nonsense results, but possibly cause serious breakage too, so this is a step up in badness, hence a new feature gate.
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