summary refs log tree commit diff
path: root/src/libsyntax/feature_gate.rs
AgeCommit message (Collapse)AuthorLines
2018-10-24Destabilize feature non_modrs_modsPietro Albini-3/+30
This reverts commit 7f6b60899502c45fc0b58adf79d09fb77ffc8884.
2018-10-07Revert "Auto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakis"Ariel Ben-Yehuda-2/+9
This reverts commit 6810f5286b6b91daab06fc3dccb27d8c46f14349, reversing changes made to 8586ec6980462c99a8926646201b2444d8938d29.
2018-09-21Stabilize crate_in_paths, extern_absolute_paths and extern_prelude on all ↵Eduard-Mihai Burtescu-14/+7
editions.
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
2018-08-22Allow panicking with string literal messages inside constantsOliver Schneider-0/+3
2018-08-22Auto merge of #50912 - varkor:exhaustive-integer-matching, r=arielb1bors-0/+3
Exhaustive integer matching This adds a new feature flag `exhaustive_integer_patterns` that enables exhaustive matching of integer types by their values. For example, the following is now accepted: ```rust #![feature(exhaustive_integer_patterns)] #![feature(exclusive_range_pattern)] fn matcher(x: u8) { match x { // ok 0 .. 32 => { /* foo */ } 32 => { /* bar */ } 33 ..= 255 => { /* baz */ } } } ``` This matching is permitted on all integer (signed/unsigned and char) types. Sensible error messages are also provided. For example: ```rust fn matcher(x: u8) { match x { //~ ERROR 0 .. 32 => { /* foo */ } } } ``` results in: ``` error[E0004]: non-exhaustive patterns: `32u8...255u8` not covered --> matches.rs:3:9 | 6 | match x { | ^ pattern `32u8...255u8` not covered ``` This implements https://github.com/rust-lang/rfcs/issues/1550 for https://github.com/rust-lang/rust/issues/50907. While there hasn't been a full RFC for this feature, it was suggested that this might be a feature that obviously complements the existing exhaustiveness checks (e.g. for `bool`) and so a feature gate would be sufficient for now.
2018-08-21Auto merge of #53530 - kennytm:rollup, r=kennytmbors-6/+2
Rollup of 17 pull requests Successful merges: - #53030 (Updated RELEASES.md for 1.29.0) - #53104 (expand the documentation on the `Unpin` trait) - #53213 (Stabilize IP associated constants) - #53296 (When closure with no arguments was expected, suggest wrapping) - #53329 (Replace usages of ptr::offset with ptr::{add,sub}.) - #53363 (add individual docs to `core::num::NonZero*`) - #53370 (Stabilize macro_vis_matcher) - #53393 (Mark libserialize functions as inline) - #53405 (restore the page title after escaping out of a search) - #53452 (Change target triple used to check for lldb in build-manifest) - #53462 (Document Box::into_raw returns non-null ptr) - #53465 (Remove LinkMeta struct) - #53492 (update lld submodule to include RISCV patch) - #53496 (Fix typos found by codespell.) - #53521 (syntax: Optimize some literal parsing) - #53540 (Moved issue-53157.rs into src/test/ui/consts/const-eval/) - #53551 (Avoid some Place clones.) Failed merges: r? @ghost
2018-08-21Rollup merge of #53370 - jkozlowski:stabilize-macro_vis_matcher, r=cramertjkennytm-6/+2
Stabilize macro_vis_matcher This PR should stabilize [macro_vis_matcher](https://github.com/rust-lang/rust/issues/41022) feature. - [ ] "reference" book changes: https://github.com/rust-lang-nursery/reference/pull/400 - [ ] "Rust by example" book changes: https://github.com/rust-lang/rust-by-example/pull/1096 - [ ] "clippy" changes: https://github.com/rust-lang-nursery/rust-clippy/pull/3055 r? @cramertj
2018-08-20Removed `raw_identifiers` feature gate.Alexander Regueiro-13/+2
2018-08-19Rename `catch_expr` feature to `try_blocks`Scott McMurray-2/+2
2018-08-19Parse try blocks with the try keyword instead of do catch placeholderScott McMurray-2/+2
2018-08-19Rename `Catch` variants to `TryBlock`Scott McMurray-1/+1
(Not `Try` since `QuestionMark` is using that.)
2018-08-19mv codemap() source_map()Donato Sciarra-1/+1
2018-08-19mv (mod) codemap source_mapDonato Sciarra-1/+1
2018-08-19Stabilize macro_vis_matcherJakub Kozlowski-6/+2