about summary refs log tree commit diff
path: root/src/libsyntax/feature_gate.rs
AgeCommit message (Collapse)AuthorLines
2014-11-20auto merge of #19113 : nikomatsakis/rust/unboxed-boxed-closure-unification, ↵bors-1/+1
r=acrichto Use the expected type to infer the argument/return types of unboxed closures. Also, in `||` expressions, use the expected type to decide if the result should be a boxed or unboxed closure (and if an unboxed closure, what kind). This supercedes PR #19089, which was already reviewed by @pcwalton.
2014-11-19Merge the ExprFnBlock and ExprUnboxedClosure into one ExprClosure with an ↵Niko Matsakis-1/+1
optional unboxed closure kind.
2014-11-18Feature gate non-ASCII lifetime identifiersJakub Bukaj-2/+2
Fixes #19069.
2014-11-18Update test for equivalency to include region binders in object types, add ↵Niko Matsakis-4/+3
new tests relating to HRTB, consolidate the `unboxed_closures` and `overloaded_calls` feature gates.
2014-11-18Place parenthetical notation under the `unboxed_closure` feature-gate.Niko Matsakis-2/+14
Consolidate the `unboxed_closure_sugar` and `unboxed_closure` feature gates.
2014-11-18rollup merge of #18890: luqmana/tfJakub Bukaj-0/+4
This is especially useful for declaring a static with external linkage in an executable. There isn't any way to do that currently since we mark everything in an executable as internal by default. Also, a quick fix to have the no-compiler-rt target option respected when building staticlibs as well.
2014-11-17Switch to purely namespaced enumsSteven Fackler-0/+1
This breaks code that referred to variant names in the same namespace as their enum. Reexport the variants in the old location or alter code to refer to the new locations: ``` pub enum Foo { A, B } fn main() { let a = A; } ``` => ``` pub use self::Foo::{A, B}; pub enum Foo { A, B } fn main() { let a = A; } ``` or ``` pub enum Foo { A, B } fn main() { let a = Foo::A; } ``` [breaking-change]
2014-11-15Un-feature gate struct variantsSteven Fackler-14/+1
Struct variant field visibility is now inherited. Remove `pub` keywords from declarations. Closes #18641 [breaking-change]
2014-11-11librustc: Allow linkage attribute on any statics, not just foreign statics.Luqman Aden-0/+4
2014-11-07Purge the old `once_fns`, which are not coming backNiko Matsakis-6/+4
2014-11-06Remove the unboxed closure `|:|` notation from types and trait references ↵Niko Matsakis-5/+0
completely.
2014-11-03rollup merge of #18506 : nikomatsakis/assoc-type-boundsAlex Crichton-1/+1
2014-11-03rollup merge of #18132 : P1start/more-helpAlex Crichton-1/+1
2014-11-03Restructure AST so that the associated type definition carriesNiko Matsakis-1/+1
bounds like any other "type parameter".
2014-11-02Mark the `struct_inherit` feature as removedJakub Bukaj-1/+1
2014-11-02Convert some notes to help messagesP1start-1/+1
Closes #18126.
2014-10-13auto merge of #17733 : jgallagher/rust/while-let, r=alexcrichtonbors-0/+5
This is *heavily* based on `if let` (#17634) by @jakub- and @kballard This should close #17687
2014-10-11Remove `virtual` structs from the languageJakub Wieczorek-12/+1
2014-10-10Move `while let` behind `while_let` feature gateJohn Gallagher-0/+5
2014-10-07Put slicing syntax behind a feature gate.Nick Cameron-0/+6
[breaking-change] If you are using slicing syntax you will need to add #![feature(slicing_syntax)] to your crate.
2014-10-03auto merge of #16995 : kmcallister/rust/plugin-tutorial, r=alexcrichtonbors-1/+1
@steveklabnik, are you interested in looking this over?
2014-10-02rollup merge of #17666 : eddyb/take-garbage-outAlex Crichton-13/+1
Conflicts: src/libcollections/lib.rs src/libcore/lib.rs src/librustdoc/lib.rs src/librustrt/lib.rs src/libserialize/lib.rs src/libstd/lib.rs src/test/run-pass/issue-8898.rs
2014-10-02Revert "Put slicing syntax behind a feature gate."Aaron Turon-6/+0
This reverts commit 95cfc35607ccf5f02f02de56a35a9ef50fa23a82.
2014-10-02syntax: mark the managed_boxes feature as Removed.Eduard Burtescu-1/+1
2014-10-02syntax: ast: remove TyBox and UnBox.Eduard Burtescu-12/+0
2014-10-02Put slicing syntax behind a feature gate.Nick Cameron-0/+6
[breaking-change] If you are using slicing syntax you will need to add #![feature(slicing_syntax)] to your crate.
2014-10-01Update some old references to rust.mdKeegan McAllister-1/+1
2014-09-30Update based on PR feedbackKevin Ballard-1/+1
2014-09-30Move `if let` behind a feature gateKevin Ballard-0/+6
2014-09-26Hide the quote_*! macros when the feature gate is offKeegan McAllister-14/+3
This makes it easier to experiment with improved quasiquoting as an ordinary plugin library. The list of quote macros in feature_gate.rs was already out of sync; this commit also prevents that problem in the future.
2014-09-22librustc: Forbid private types in public APIs.Patrick Walton-0/+4
This breaks code like: struct Foo { ... } pub fn make_foo() -> Foo { ... } Change this code to: pub struct Foo { // note `pub` ... } pub fn make_foo() -> Foo { ... } The `visible_private_types` lint has been removed, since it is now an error to attempt to expose a private type in a public API. In its place a `#[feature(visible_private_types)]` gate has been added. Closes #16463. RFC #48. [breaking-change]
2014-09-17librustc: Implement associated types behind a feature gate.Patrick Walton-1/+25
The implementation essentially desugars during type collection and AST type conversion time into the parameter scheme we have now. Only fully qualified names--e.g. `<T as Foo>::Bar`--are supported.
2014-09-17move feature_gate to libsyntaxNick Cameron-0/+461