about summary refs log tree commit diff
path: root/src/libsyntax/feature_gate.rs
AgeCommit message (Collapse)AuthorLines
2018-09-26Auto merge of #54497 - ralexstokes:stabilize_pattern_parentheses, r=nikomatsakisbors-7/+2
Stabilize pattern_parentheses feature Addresses #51087 . Stabilizes the previously unstable feature `pattern_parentheses` which enables the use of `()` in match patterns.
2018-09-25Auto merge of #53542 - alexreg:impl-trait-in-bindings, r=cramertjbors-2/+5
`impl trait` in bindings (feature: impl-trait-existential-types) This PR enables `impl Trait` syntax (opaque types) to be used in bindings, e.g. * `let foo: impl Clone = 1;` * `static foo: impl Clone = 2;` * `const foo: impl Clone = 3;` This is part of [RFC 2071](https://github.com/rust-lang/rfcs/blob/master/text/2071-impl-trait-existential-types.md) ([tracking issue](https://github.com/rust-lang/rust/issues/34511)), but exists behind the separate feature gate `impl_trait_in_bindings`. CC @cramertj @oli-obk @eddyb @Centril @varkor
2018-09-25Auto merge of #53693 - scottmcm:marker-trait-attribute, r=nikomatsakisbors-0/+9
Support an explicit annotation for marker traits From the tracking issue for rust-lang/rfcs#1268: > It seems obvious that we should make a `#[marker]` annotation. ~ https://github.com/rust-lang/rust/issues/29864#issuecomment-368959441 This PR allows you to put `#[marker]` on a trait, at which point: - [x] The trait must not have any items ~~All of the trait's items must have defaults~~ - [x] Any impl of the trait must be empty (not override any items) - [x] But impls of the trait are allowed to overlap r? @nikomatsakis
2018-09-25Handle impl trait in MIR type checked for assignments.Matthew Jasper-2/+5
2018-09-23Auto merge of #54325 - michaelwoerister:incr-thinlto-tests, r=alexcrichtonbors-0/+6
incr.comp.: Allow for more fine-grained testing of CGU reuse and use it to test incremental ThinLTO. This adds some tests specifically targeted at incremental ThinLTO, plus the infrastructure for tracking the kind of cache hit/miss we had for a given CGU. @alexcrichton, let me know if you can think of any more tests to add. ThinLTO works rather reliably for small functions, so we should be able to test it in a robust way. I think after this lands it might time for a "Help us test incremental ThinLTO" post on irlo. r? @alexcrichton
2018-09-22stabilize pattern_parentheses featureAlex Stokes-7/+2
2018-09-22Stabilize crate_in_paths, extern_absolute_paths and extern_prelude on all ↵Eduard-Mihai Burtescu-14/+7
editions.
2018-09-19Parse, feature-gate, and validate the #[marker] attributeScott McMurray-0/+9
2018-09-18incr.comp.: Allow for more fine-grained testing of CGU reuse and use it to ↵Michael Woerister-0/+6
test incremental ThinLTO.
2018-09-18Auto merge of #54034 - pnkfelix:issue-15287-bind-by-move-pattern-guards, ↵bors-0/+6
r=nikomatsakis Add feature to enable bind by move pattern guards Implement #15287 as described on https://github.com/rust-lang/rust/issues/15287#issuecomment-404827419
2018-09-18Rollup merge of #54299 - snaedis:issue-54246, r=varkorGuillaume Gomez-7/+10
Issue 54246 I added the option of providing a help message for deprecated features, that takes precedence over the default `help: remove this attribute` message, along with messages for the features that mention replacements in the reason for deprecation. Fixes #54246.
2018-09-17libsyntax: add optional help message for deprecated featuresAlva Snædís-6/+9
2018-09-17libsyntax: fix casing in error messageAlva Snædís-1/+1
2018-09-17Add `feature(bind_by_move_pattern_guards)`.Felix S. Klock II-0/+6
Note it requires MIR-borrowck to be enabled to actually do anything. Note also that it implicitly turns off our AST-based check for mutation in guards.
2018-09-16Temporarily prohibit proc macro attributes placed after derivesVadim Petrochenkov-0/+4
... and also proc macro attributes used together with test/bench.
2018-09-13introduce SelfCtorF001-11/+2
2018-09-13implement feature tuple_struct_self_ctorF001-0/+12
2018-09-12Auto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakisbors-9/+2
stabilize outlives requirements https://github.com/rust-lang/rust/issues/44493 r? @nikomatsakis
2018-09-12Rollup merge of #54072 - blitzerr:master, r=Mark-Simulacrumkennytm-30/+3
Stabilization change for mod.rs This change is in response to https://github.com/rust-lang/rust/issues/53125. The patch makes the feature accepted and removes the tests that tested the non-accepted status of the feature.
2018-09-11stabalize infer outlives requirements (RFC 2093).toidiu-9/+2
Co-authored-by: nikomatsakis
2018-09-11Auto merge of #51363 - japaric:stable-used, r=cramertjbors-7/+4
stabilize #[used] closes #40289 RFC for stabilization: rust-lang/rfcs#2386 r? @Centril Where should this be documented? Currently the documentation is in the unstable book
2018-09-10bump versionJorge Aparicio-1/+1
2018-09-10Feature gate non-builtin attributes in inner attribute positionVadim Petrochenkov-0/+3
2018-09-09Auto merge of #53778 - petrochenkov:shadrelax2, r=nikomatsakisbors-0/+4
resolve: Relax shadowing restrictions on macro-expanded macros Previously any macro-expanded macros weren't allowed to shadow macros from outer scopes. Now only "more macro-expanded" macros cannot shadow "less macro-expanded" macros. See comments to `fn may_appear_after` and added tests for more details and examples. The functional changes are a21f6f588fc28c97533130ae44a6957b579ab58c and 46dd365ce9ca0a6b8653849b80267763c542842a, other commits are refactorings.
2018-09-09stabilize `#[used]`Jorge Aparicio-7/+4
closes #40289
2018-09-08Stabilization change for mod.rsRusty Blitzerr-30/+3
This change is in response to https://github.com/rust-lang/rust/issues/53125. The patch makes the feature accepted and removes the tests that tested the non-accepted status of the feature.
2018-09-09Remove crate_visibility_modifier from 2018 editionMark Rousskov-1/+1
2018-09-08Add test cases for possible restricted shadowing configurationsVadim Petrochenkov-0/+4
Whitelist `#[rustc_transparent_macro]` so it's not interpreted as a potential attribute macro
2018-09-07stabilize `#[panic_handler]`Jorge Aparicio-5/+2
2018-09-04Move #[test_case] to a syntax extensionJohn Renner-5/+9
2018-09-04Fix #[test] shadowing in macro_preludeJohn Renner-2/+0
2018-09-04Introduce Custom Test FrameworksJohn Renner-0/+12
2018-09-01Auto merge of #53884 - kennytm:rollup, r=kennytmbors-0/+1
Rollup of 9 pull requests Successful merges: - #53076 (set cfg(rustdoc) when rustdoc is running on a crate) - #53622 (cleanup: Add main functions to some UI tests) - #53769 (Also link Clippy repo in the CONTRIBUTING.md file) - #53774 (Add rust-gdbgui script.) - #53781 (bench: libcore: fix build failure of any.rs benchmark (use "dyn Any")) - #53782 (Make Arc cloning mechanics clearer in module docs) - #53790 (Add regression test for issue #52060) - #53801 (Prevent duplicated impl on foreign types) - #53850 (Nuke the `const_to_allocation` query)
2018-09-01Rollup merge of #53076 - QuietMisdreavus:cfg-rustdoc, r=GuillaumeGomezkennytm-0/+1
set cfg(rustdoc) when rustdoc is running on a crate When using `#[doc(cfg)]` to document platform-specific items, it's a little cumbersome to get all the platforms' items to appear all at once. For example, the standard library adds `--cfg dox` to rustdoc's command line whenever it builds docs, and the documentation for `#![feature(doc_cfg)]` suggests using a Cargo feature to approximate the same thing. This is a little awkward, because you always need to remember to set `--features dox` whenever you build documentation. This PR proposes making rustdoc set `#[cfg(rustdoc)]` whenever it runs on a crate, to provide an officially-sanctioned version of this that is set automatically. This way, there's a standardized way to declare that a certain version of an item is specifically when building docs. To try to prevent the spread of this feature from happening too quickly, this PR also restricts the use of this flag to whenever `#![feature(doc_cfg)]` is active. I'm sure there are other uses for this, but right now i'm tying it to this feature. (If it makes more sense to give this its own feature, i can easily do that.)
2018-08-31feature(doc_cfg): set cfg(rustdoc) when rustdoc is runningQuietMisdreavus-0/+1
2018-08-31Implement the `min_const_fn` feature gateOliver Schneider-8/+21
2018-08-30Rollup merge of #53702 - jkozlowski:correct_version_for_macro_vis_matcher, ↵Pietro Albini-1/+1
r=cramertj Fix stabilisation version for macro_vis_matcher. r? @cramertj
2018-08-30Made std::intrinsics::transmute() const fn.thedarkula-0/+3
2018-08-26Auto merge of #53619 - japaric:panic-handler, r=SimonSapinbors-5/+15
add #[panic_handler]; deprecate #[panic_implementation] r? @SimonSapin cc #44489
2018-08-25Fix stabilisation version for macro_vis_matcher.Jakub Kozlowski-1/+1
2018-08-24address pnkfelix nitsNiko Matsakis-1/+1
2018-08-24add a `user_substs` table and store the annotations in thereNiko Matsakis-0/+6
2018-08-23Stabilize 'attr_literals' feature.Sergio Benitez-41/+7
2018-08-23fix tidyJorge Aparicio-4/+6
2018-08-23add #[panic_handler]; deprecate #[panic_implementation]Jorge Aparicio-5/+13
2018-08-23Auto merge of #52602 - scottmcm:tryblock-expr, r=nikomatsakisbors-4/+4
Implement try block expressions I noticed that `try` wasn't a keyword yet in Rust 2018, so... ~~Fix​es https://github.com/rust-lang/rust/issues/52604~~ That was fixed by PR https://github.com/rust-lang/rust/pull/53135 cc https://github.com/rust-lang/rust/issues/31436 https://github.com/rust-lang/rust/issues/50412
2018-08-23Auto merge of #53459 - petrochenkov:stabmore, r=nrcbors-5/+4
Stabilize a few secondary macro features - `tool_attributes` - closes https://github.com/rust-lang/rust/issues/44690 - `proc_macro_path_invoc` - this feature was created due to issues with tool attributes (https://github.com/rust-lang/rust/issues/51277), those issues are now fixed (https://github.com/rust-lang/rust/pull/52841) - partially `proc_macro_gen` - this feature was created due to issue https://github.com/rust-lang/rust/issues/50504, the issue is now fixed (https://github.com/rust-lang/rust/pull/51952), so proc macros can generate modules. They still can't generate `macro_rules` items though due to unclear hygiene interactions.
2018-08-23Auto merge of #53235 - varkor:gat_impl_where, r=estebankbors-4/+9
Feature gate where clauses on associated type impls Fixes #52913. This doesn't address the core problem, which is tracked by https://github.com/rust-lang/rust/issues/47206. However, it fixes the stable-to-stable regression: you now have to enable `#![feature(generic_associated_types)]` to trigger the weird behaviour.
2018-08-23Stabilize a few secondary macro featuresVadim Petrochenkov-5/+4
`tool_attributes`, `proc_macro_path_invoc`, partially `proc_macro_gen`
2018-08-22Reexpose stability hole in the presence of feature gatesOliver Schneider-1/+1