summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2015-01-02Fallout - change array syntax to use `;`Nick Cameron-2/+2
2015-01-02Accept ranges with only a maximum value: `..expr`Nick Cameron-4/+11
2015-01-02Disallow [_, ..n] syntax for fixed length arrays and repeating array ↵Nick Cameron-15/+2
constructors Closes #19999 [breaking-change] Use [_; n] instead.
2015-01-01auto merge of #20190 : cmr/rust/gate-macro-args, r=alexcrichtonbors-35/+120
Uses the same approach as https://github.com/rust-lang/rust/pull/17286 (and subsequent changes making it more correct), where the visitor will skip any pieces of the AST that are from "foreign code", where the spans don't line up, indicating that that piece of code is due to a macro expansion. If this breaks your code, read the error message to determine which feature gate you should add to your crate. Closes #18102 [breaking-change]
2015-01-01Feature gate macro argumentsCorey Richardson-35/+120
Uses the same approach as https://github.com/rust-lang/rust/pull/17286 (and subsequent changes making it more correct), where the visitor will skip any pieces of the AST that are from "foreign code", where the spans don't line up, indicating that that piece of code is due to a macro expansion. If this breaks your code, read the error message to determine which feature gate you should add to your crate, and bask in the knowledge that your code won't mysteriously break should you try to use the 1.0 release. Closes #18102 [breaking-change]
2014-12-31syntax: unbox closures used in let bindingsJorge Aparicio-15/+15
2014-12-31syntax: unbox closures used in function argumentsJorge Aparicio-31/+35
2014-12-31Feature gate FFI imports of LLVM intrinsicsSimonas Kazlauskas-0/+11
Fixes #20313
2014-12-30Fallout from stabilizationAaron Turon-18/+18
2014-12-30Add a FIXME relating to using `ast::Name`Niko Matsakis-1/+1
2014-12-30Don't normalize associated types when in region binders, wait until we ↵Niko Matsakis-0/+12
instantiate them. Also fix some assertions and handling of builtin bounds.
2014-12-30Parse arbitrary operators after expr-like macro invocations in statement ↵P1start-5/+10
position Closes #20093.
2014-12-29rollup merge of #20266: nick29581/dxr-useAlex Crichton-3/+4
r? @huonw
2014-12-29rollup merge of #20264: nagisa/threadrngAlex Crichton-1/+1
Since runtime is removed, rust has no tasks anymore and everything is moving from being task-* to thread-*. Let’s rename TaskRng as well! This is a breaking change. If a breaking change for consistency is not desired, feel free to close.
2014-12-29rollup merge of #20194: nick29581/dst-syntaxAlex Crichton-72/+132
Part of #19607. r? @nikomatsakis
2014-12-30Remove ExprSlice by hacking the compilerNick Cameron-37/+14
[breaking-change] The `mut` in slices is now redundant. Mutability is 'inferred' from position. This means that if mutability is only obvious from the type, you will need to use explicit calls to the slicing methods.
2014-12-30Add hypothetical support for ranges with only an upper boundNick Cameron-5/+7
Note that this doesn't add the surface syntax.
2014-12-29syntax: whitespace cleanupErick Tryzelaar-1/+1
2014-12-29Rebase fixes.Huon Wilson-3/+3
I've totally mangled the history with these rebases; sorry, future programmer!
2014-12-29Slash the ast::Stmt type from 104 to 24 bytes.Huon Wilson-6/+6
(on platforms with 64-bit pointers.) The StmtMac variant is rather large and also fairly rare, so let's optimise the common case.
2014-12-28Rename TaskRng to ThreadRngSimonas Kazlauskas-1/+1
Since runtime is removed, rust has no tasks anymore and everything is moving from being task-* to thread-*. Let’s rename TaskRng as well! * Rename TaskRng to ThreadRng * Rename task_rng to thread_rng [breaking-change]
2014-12-28auto merge of #20136 : eddyb/rust/format-args, r=alexcrichtonbors-147/+99
We have the technology: no longer do you need to write closures to use `format_args!`. This is a `[breaking-change]`, as it forces you to clean up old hacks - if you had code like this: ```rust format_args!(fmt::format, "{} {} {}", a, b, c) format_args!(|args| { w.write_fmt(args) }, "{} {} {}", x, y, z) ``` change it to this: ```rust fmt::format(format_args!("{} {} {}", a, b, c)) w.write_fmt(format_args!("{} {} {}", x, y, z)) ``` To allow them to be called with `format_args!(...)` directly, several functions were modified to take `fmt::Arguments` by value instead of by reference. Also, `fmt::Arguments` derives `Copy` now in order to preserve all usecases that were previously possible.
2014-12-27syntax: change format_args! to produce fmt::Arguments instead of calling a ↵Eduard Burtescu-66/+29
function with them.
2014-12-27syntax: use std::string::String unqualified in format.Eduard Burtescu-13/+12
2014-12-27syntax: turn the match-call generated by format_args inside-out.Eduard Burtescu-39/+41
2014-12-27syntax: format: put static arrays in their own blocks to avoid needing a ↵Eduard Burtescu-40/+39
wrapper block.
2014-12-27syntax: format: remove unused method_statics field.Eduard Burtescu-15/+4
2014-12-27auto merge of #19916 : SimonSapin/rust/ascii-reform, r=sfacklerbors-0/+3
Implements [RFC 486](https://github.com/rust-lang/rfcs/pull/486). Fixes #19908. * Rename `to_ascii_{lower,upper}` to `to_ascii_{lower,upper}case`, per #14401 * Remove the `Ascii` type and associated traits: `AsciiCast`, `OwnedAsciiCast`, `AsciiStr`, `IntoBytes`, and `IntoString`. * As a replacement, add `.is_ascii()` to `AsciiExt`, and implement `AsciiExt` for `u8` and `char`. [breaking-change]
2014-12-28Fix spans for `use` view statements and their treatment in save-analysisNick Cameron-3/+4
2014-12-27Extend span debuggerSeo Sanghyeon-3/+49
2014-12-26Keep track of the whole error chainFlavio Percoco-2/+5
2014-12-26Changes to RustDocNick Cameron-7/+12
2014-12-26Accept `?Sized` as well as `Sized?`Nick Cameron-70/+125
Includes a bit of refactoring to store `?` unbounds as bounds with a modifier, rather than in their own world, in the AST at least.
2014-12-25Remove Ascii, AsciiCast, OwnedAsciiCast, AsciiStr, IntoBytes, IntoString.Simon Sapin-0/+3
As a replacement, add is_ascii() to AsciiExt, and implement AsciiExt for u8 and char. [breaking-change]
2014-12-25Parse fully-qualified associated types in generics without whitespaceP1start-34/+10
This breaks code that looks like this: let x = foo as bar << 13; Change such code to look like this: let x = (foo as bar) << 13; Closes #17362. [breaking-change]
2014-12-24auto merge of #20117 : lfairy/rust/rename-include-bin, r=alexcrichtonbors-1/+10
According to [RFC 344][], methods that return `&[u8]` should have names ending in `bytes`. Though `include_bin!` is a macro not a method, it seems reasonable to follow the convention anyway. We keep the old name around for now, but trigger a deprecation warning when it is used. [RFC 344]: https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md [breaking-change]
2014-12-24Add syntax for rangesNick Cameron-8/+48
2014-12-23Rename include_bin! to include_bytes!Chris Wong-1/+10
According to [RFC 344][], methods that return `&[u8]` should have names ending in `bytes`. Though `include_bin!` is a macro not a method, it seems reasonable to follow the convention anyway. We keep the old name around for now, but trigger a deprecation warning when it is used. [RFC 344]: https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md [breaking-change]
2014-12-22rollup merge of #19891: nikomatsakis/unique-fn-types-3Alex Crichton-9/+19
Conflicts: src/libcore/str.rs src/librustc_trans/trans/closure.rs src/librustc_typeck/collect.rs src/libstd/path/posix.rs src/libstd/path/windows.rs
2014-12-22rollup merge of #20056: MrFloya/iter_renameAlex Crichton-13/+13
Conflicts: src/libcollections/bit.rs src/libcore/str.rs
2014-12-22rollup merge of #20141: frewsxcv/rfc438Alex Crichton-1/+1
RFC 248? I think you meant RFC 438. There ain’t an RFC 248, while 438 looks to be what is being referred to: https://github.com/rust-lang/rfcs/blob/master/text/0438-precedence-of-plus.md -------------- Chis Morgan has a pretty important documentation fix in #19385 and he hasn't responded in a while to that pull request so I rebased it for him Closes #19385
2014-12-22rollup merge of #20124: klutzy/pprust-asmAlex Crichton-5/+23
2014-12-22rollup merge of #20033: alexcrichton/deprecate-serialiseAlex Crichton-135/+181
This commit completes the deprecation story for the in-tree serialization library. The compiler will now emit a warning whenever it encounters `deriving(Encodable)` or `deriving(Decodable)`, and the library itself is now marked `#[unstable]` for when feature staging is enabled. All users of serialization can migrate to the `rustc-serialize` crate on crates.io which provides the exact same interface as the libserialize library in-tree. The new deriving modes are named `RustcEncodable` and `RustcDecodable` and require `extern crate "rustc-serialize" as rustc_serialize` at the crate root in order to expand correctly. To migrate all crates, add the following to your `Cargo.toml`: [dependencies] rustc-serialize = "0.1.1" And then add the following to your crate root: extern crate "rustc-serialize" as rustc_serialize; Finally, rename `Encodable` and `Decodable` deriving modes to `RustcEncodable` and `RustcDecodable`. [breaking-change]
2014-12-22RFC 248? I think you meant RFC 438.Chris Morgan-1/+1
There ain’t an RFC 248, while 438 looks to be what is being referred to: https://github.com/rust-lang/rfcs/blob/master/text/0438-precedence-of-plus.md
2014-12-22Fix fallout from changes. In cases where stage0 compiler is needed, weNiko Matsakis-9/+19
cannot use an `as` expression to coerce, so I used a one-off function instead (this is a no-op in stage0, but in stage1+ it triggers coercion from the fn pointer to the fn item type).
2014-12-22Renaming of the Iter types as in RFC #344Florian Wilkens-13/+13
libcore: slice::Items -> slice::Iter, slice::MutItems -> slice::IterMut libcollections: *::Items -> *::Iter, *::MoveItems -> *::IntoIter, *::MutItems -> *::IterMut This is of course a [breaking-change].
2014-12-22serialize: Fully deprecate the libraryAlex Crichton-135/+181
This commit completes the deprecation story for the in-tree serialization library. The compiler will now emit a warning whenever it encounters `deriving(Encodable)` or `deriving(Decodable)`, and the library itself is now marked `#[unstable]` for when feature staging is enabled. All users of serialization can migrate to the `rustc-serialize` crate on crates.io which provides the exact same interface as the libserialize library in-tree. The new deriving modes are named `RustcEncodable` and `RustcDecodable` and require `extern crate "rustc-serialize" as rustc_serialize` at the crate root in order to expand correctly. To migrate all crates, add the following to your `Cargo.toml`: [dependencies] rustc-serialize = "0.1.1" And then add the following to your crate root: extern crate "rustc-serialize" as rustc_serialize; Finally, rename `Encodable` and `Decodable` deriving modes to `RustcEncodable` and `RustcDecodable`. [breaking-change]
2014-12-21Fallout of std::str stabilizationAlex Crichton-492/+481
2014-12-22pprust: Fix asm optionsklutzy-5/+23
2014-12-21rollup merge of #19972: alexcrichton/snapshotsAlex Crichton-60/+0
Conflicts: src/libcollections/string.rs src/libcollections/vec.rs src/snapshots.txt