summary refs log tree commit diff
path: root/src/test/ui/feature-gates
AgeCommit message (Collapse)AuthorLines
2019-02-25Stabilize `unrestricted_attribute_tokens`Vadim Petrochenkov-27/+0
2019-02-23Implement ffi_returns_twice attributegnzlbg-0/+18
2019-02-16Don't abort early when collecting const genericsvarkor-1/+8
2019-02-11Require a list of features to allow in `allow_internal_unstable`Oliver Scherer-9/+9
2019-02-07Add const generics feature gate testvarkor-0/+31
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-07Auto merge of #57998 - niklasf:align-enum, r=nagisabors-0/+21
Allow #[repr(align(x))] on enums (#57996) Tracking issue: #57996 Implements an extension of [RFC 1358](https://github.com/rust-lang/rfcs/blob/master/text/1358-repr-align.md) behind a feature flag (`repr_align_enum`). Originally introduced here for structs: #39999. It seems like only HIR-level changes are required, since enums are already aware of their alignment (due to alignment of their limbs). cc @bitshifter
2019-02-01Auto merge of #57586 - Aaron1011:feature/pub-priv-dep, r=petrochenkovbors-0/+21
Implement public/private dependency feature Implements https://github.com/rust-lang/rust/issues/44663 The core implementation is done - however, there are a few issues that still need to be resolved: - [x] The `EXTERNAL_PRIVATE_DEPENDENCY` lint currently does notthing when the `public_private_dependencies` is not enabled. Should mentioning the lint (in an `allow` or `deny` attribute) be an error if the feature is not enabled? (Resolved- the feature was removed) - [x] Crates with the name `core` and `std` are always marked public, without the need to explcitily specify them on the command line. Is this what we want to do? Do we want to allow`no_std`/`no_core` crates to explicitly control this in some way? (Resolved - private crates are now explicitly specified) - [x] Should I add additional UI tests? (Resolved - added more tests) - [x] Does it make sense to be able to allow/deny the `EXTERNAL_PRIVATE_DEPENDENCY` on an individual item? (Resolved - this is implemented)
2019-02-01Rename external_private_dependency to exported_private_dependenciesAaron Hill-1/+1
2019-02-01Clippy fixes, rename stuff to match RFCAaron Hill-0/+21
2019-01-30Allow #[repr(align(x))] on enums (#57996)Niklas Fiekas-0/+21
2019-01-29Fix testsJohn Kåre Alsaker-10/+3
2019-01-26Rollup merge of #57407 - mehcode:stabilize-extern-crate-self, r=CentrilMazdak Farrokhzad-14/+0
Stabilize extern_crate_self Fixes #56409
2019-01-17Correct error location indicated by commentsKevin Leimkuhler-4/+4
2019-01-17Override `Iterator::is_sorted_by` in `slice::Iter` implLukas Kalbertodt-14/+4
Additionally, the root implementation was changed a bit: it now uses `all` instead of coding that logic manually. To avoid duplicate code, the inherent `[T]::is_sorted_by` method now calls `self.iter().is_sorted_by(...)`. This should always be inlined and not result in overhead.
2019-01-17Add is_sorted unstable documentationKevin Leimkuhler-3/+26
2019-01-17Add is_sorted impl for [T]Kevin Leimkuhler-1/+1
2019-01-17Add initial impl of is_sorted to IteratorKevin Leimkuhler-0/+35
2019-01-17Auto merge of #57520 - alexreg:tidy-copyright-lint, r=Mark-Simulacrumbors-14/+4
Add lint for copyright headers to 'tidy' tool r? @Mark-Simulacrum CC @centril
2019-01-16Auto merge of #57321 - petrochenkov:atokens, r=nikomatsakisbors-3/+3
Implement basic input validation for built-in attributes Correct top-level shape (`#[attr]` vs `#[attr(...)]` vs `#[attr = ...]`) is enforced for built-in attributes, built-in attributes must also fit into the "meta-item" syntax (aka the "classic attribute syntax"). For some subset of attributes (found by crater run), errors are lowered to deprecation warnings. NOTE: This PR previously included https://github.com/rust-lang/rust/pull/57367 as well.
2019-01-14stabilize extern_crate_selfRyan Leckey-14/+0
2019-01-14Rollup merge of #57572 - Centril:unaccept-extern-in-path, r=petrochenkovMazdak Farrokhzad-16/+0
Unaccept `extern_in_paths` Based on completed fcp-close in https://github.com/rust-lang/rust/issues/55600, this removes `extern_in_path` (e.g. `extern::foo::bar`) from the language. The changes are primarily reversing https://github.com/rust-lang/rust/commit/32db83b16e06cb5cca72d0e6a648a8008eda0fac. Closes https://github.com/rust-lang/rust/issues/55600 r? @petrochenkov
2019-01-14Stabilize `cfg_target_vendor`, #29718Jethro Beekman-46/+0
2019-01-13Removed more copyright notices.Alexander Regueiro-14/+4
2019-01-13remove extern_in_paths.Mazdak Farrokhzad-16/+0
2019-01-13Implement basic input validation for built-in attributesVadim Petrochenkov-3/+3
2019-01-13Update the const fn tracking issue to the new metabugvarkor-4/+4
2019-01-12Auto merge of #56759 - petrochenkov:prestabuni, r=nikomatsakisbors-69/+0
Stabilize `uniform_paths` Address all the things described in https://github.com/rust-lang/rust/issues/56417. Assign visibilities to `macro_rules` items - `pub` to `macro_export`-ed macros and `pub(crate)` to non-exported macros, these visibilities determine how far these macros can be reexported with `use`. Prohibit use of reexported inert attributes and "tool modules", after renaming (e.g. `use inline as imported_inline`) their respective tools and even compiler passes won't be able to recognize and properly check them. Also turn use of uniform paths in 2015 macros into an error, I'd prefer to neither remove nor stabilize them right away because I still want to make some experiments in this area (uniform path fallback was added to 2015 macros used on 2018 edition in https://github.com/rust-lang/rust/pull/56053#issuecomment-441405140). UPDATE: The last commit also stabilizes the feature `uniform_paths`. Closes https://github.com/rust-lang/rust/issues/53130 Closes https://github.com/rust-lang/rust/issues/55618 Closes https://github.com/rust-lang/rust/issues/56326 Closes https://github.com/rust-lang/rust/issues/56398 Closes https://github.com/rust-lang/rust/issues/56417 Closes https://github.com/rust-lang/rust/issues/56821 Closes https://github.com/rust-lang/rust/issues/57252 Closes https://github.com/rust-lang/rust/issues/57422
2019-01-12Stabilize `uniform_paths`Vadim Petrochenkov-69/+0
2019-01-12Auto merge of #57542 - Centril:rollup, r=Centrilbors-132/+1
Rollup of 26 pull requests Successful merges: - #56425 (Redo the docs for Vec::set_len) - #56906 (Issue #56905) - #57042 (Don't call `FieldPlacement::count` when count is too large) - #57175 (Stabilize `let` bindings and destructuring in constants and const fn) - #57192 (Change std::error::Error trait documentation to talk about `source` instead of `cause`) - #57296 (Fixed the link to the ? operator) - #57368 (Use CMAKE_{C,CXX}_COMPILER_LAUNCHER for ccache) - #57400 (Rustdoc: update Source Serif Pro and replace Heuristica italic) - #57417 (rustdoc: use text-based doctest parsing if a macro is wrapping main) - #57433 (Add link destination for `read-ownership`) - #57434 (Remove `CrateNum::Invalid`.) - #57441 (Supporting backtrace for x86_64-fortanix-unknown-sgx.) - #57450 (actually take a slice in this example) - #57459 (Reference tracking issue for inherent associated types in diagnostic) - #57463 (docs: Fix some 'second-edition' links) - #57466 (Remove outdated comment) - #57493 (use structured suggestion when casting a reference) - #57498 (make note of one more normalization that Paths do) - #57499 (note that FromStr does not work for borrowed types) - #57505 (Remove submodule step from README) - #57510 (Add a profiles section to the manifest) - #57511 (Fix undefined behavior) - #57519 (Correct RELEASES.md for 1.32.0) - #57522 (don't unwrap unexpected tokens in `format!`) - #57530 (Fixing a typographical error.) - #57535 (Stabilise irrefutable if-let and while-let patterns) Failed merges: r? @ghost
2019-01-12Rollup merge of #57535 - varkor:stabilise-if-while-let-patterns, r=CentrilMazdak Farrokhzad-17/+0
Stabilise irrefutable if-let and while-let patterns This stabilises RFC 2086 (https://github.com/rust-lang/rust/issues/44495). This replaces https://github.com/rust-lang/rust/pull/55639, as we want to stabilise this in time for the beta cut-off. Closes https://github.com/rust-lang/rust/pull/55639. r? @Centril
2019-01-12Stabilise irrefutable if-let and while-let patternsvarkor-17/+0
This stabilises RFC 2086 (https://github.com/rust-lang/rust/issues/44495). Co-Authored-By: Sebastian Malton <sebastian@malton.name>
2019-01-11stabilize top level or-pats in if/while let.Mazdak Farrokhzad-31/+0
2019-01-09Stabilize `let` bindings and destructuring in constants and const fnOliver Scherer-115/+1
2019-01-08stabilise cfg_attrdylan_DPC-46/+0
2019-01-06Fix CI failuresVadim Petrochenkov-63/+64
2019-01-06Make sure feature gate errors are recoverable (take 2)Vadim Petrochenkov-90/+189
2019-01-05Rollup merge of #57249 - frewsxcv:frewsxcv-second-edition, r=KodrAuskennytm-4/+4
Fix broken links to second edition TRPL. Fixes https://github.com/rust-lang/rust/issues/57104. Remove `second-edition/` from TRPL hyperlinks.
2019-01-03Fix typoGeorg Semmler-1/+1
2019-01-03Update some new tests to changed error messagesGeorg Semmler-1/+1
2019-01-03Fix failing compile testsGeorg Semmler-1/+1
2019-01-03Add some testsGeorg Semmler-0/+47
This copies and adjusts the existing coherence tests to ensure that they continue to work using the new implementation.
2019-01-01Fix broken links to second edition TRPL.Corey Farwell-4/+4
Fixes https://github.com/rust-lang/rust/issues/57104.
2018-12-29Auto merge of #56225 - alexreg:type_alias_enum_variants, r=petrochenkovbors-0/+63
Implement RFC 2338, "Type alias enum variants" This PR implements [RFC 2338](https://github.com/rust-lang/rfcs/pull/2338), allowing one to write code like the following. ```rust #![feature(type_alias_enum_variants)] enum Foo { Bar(i32), Baz { i: i32 }, } type Alias = Foo; fn main() { let t = Alias::Bar(0); let t = Alias::Baz { i: 0 }; match t { Alias::Bar(_i) => {} Alias::Baz { i: _i } => {} } } ``` Since `Self` can be considered a type alias in this context, it also enables using `Self::Variant` as both a constructor and pattern. Fixes issues #56199 and #56611. N.B., after discussing the syntax for type arguments on enum variants with @petrochenkov and @eddyb (there are also a few comments on the [tracking issue](https://github.com/rust-lang/rust/issues/49683)), the consensus seems to be treat the syntax as follows, which ought to be backwards-compatible. ```rust Option::<u8>::None; // OK Option::None::<u8>; // OK, but lint in near future (hard error next edition?) Alias::<u8>::None; // OK Alias::None::<u8>; // Error ``` I do not know if this will need an FCP, but let's start one if so.
2018-12-29Rollup merge of #57159 - ids1024:closed-issue, r=Centrilkennytm-13/+13
Update references to closed issue Issue #28979 was closed with a link to #55467.
2018-12-27Update references to closed issueIan Douglas Scott-13/+13
Issue #28979 was closed with a link to #55467.
2018-12-27Fix rebase and more CI failuresVadim Petrochenkov-22/+22
2018-12-27Make sure feature gate errors are recoverableVadim Petrochenkov-8/+18
2018-12-27Do not abort compilation if expansion produces errorsVadim Petrochenkov-3/+5
Fix a number of uncovered deficiencies in diagnostics
2018-12-26Fixed issues raised in first review.Alexander Regueiro-46/+4
2018-12-26Fixed tests.Alexander Regueiro-10/+18