about summary refs log tree commit diff
path: root/src/test/run-pass
AgeCommit message (Collapse)AuthorLines
2018-04-06Auto merge of #49392 - retep007:nll-issue-48962, r=nikomatsakisbors-0/+43
fixes move analysis Fixed compiler error by correct checking when dereferencing Fix #48962 r? @nikomatsakis
2018-04-06Fix ICE with impl TraitShotaro Yamada-0/+22
2018-04-05No separator for `?`. No `?` as a separator.Mark Mansi-23/+6
2018-04-05Fix #49344leonardo.yvens-0/+4
2018-04-05Rollup merge of #49350 - abonander:macros-in-extern, r=petrochenkovAlex Crichton-0/+39
Expand macros in `extern {}` blocks This permits macro and proc-macro and attribute invocations (the latter only with the `proc_macro` feature of course) in `extern {}` blocks, gated behind a new `macros_in_extern` feature. A tracking issue is now open at #49476 closes #48747
2018-04-06Fix ICE with `main`'s return type containing lifetimesShotaro Yamada-0/+30
2018-04-05Stabilize attributes on generic parametersVadim Petrochenkov-4/+1
2018-04-04Auto merge of #48333 - aidanhs:aphs-no-place-for-placement, r=nikomatsakisbors-45/+2
Remove all unstable placement features Closes #22181, #27779. Effectively makes the assortment of placement RFCs (rust-lang/rfcs#470, rust-lang/rfcs#809, rust-lang/rfcs#1228) 'unaccepted'. It leaves `box_syntax` and keeps the `<-` token as recognised by libsyntax. ------------------------ I don't know the correct process for unaccepting an unstable feature that was accepted as an RFC so...here's a PR. Let me preface this by saying I'm not particularly happy about doing this (I know it'll be unpopular), but I think it's the most honest expression of how things stand today. I've been motivated by a [post on reddit](https://www.reddit.com/r/rust/comments/7wrqk2/when_will_box_and_placementin_syntax_be_stable/) which asks when these features will be stable - the features have received little RFC-style design work since the end of 2015 (~2 years ago) and leaving them in limbo confuses people who want to know where they're up to. Without additional design work that needs to happen (see the collection of unresolved questions later in this post) they can't really get stabilised, and I think that design work would be most suited to an RFC rather than (currently mostly unused) experimental features in Rust nightly. I have my own motivations - it's very simple to 'defeat' placement in debug mode today and I don't want a placement in Rust that a) has no guarantees to work and b) has no plan for in-place serde deserialisation. There's a quote in [1]: "Ordinarily these uncertainties might lead to the RFC being postponed. [The RFC seems like a promising direction hence we will accept since it] will thus give us immediate experience with the design and help in determining the best final solution.". I propose that there have been enough additional uncertainties raised since then that the original direction is less promising and we should be think about the problem anew. (a historical note: the first mention of placement (under that name - uninit pointers were earlier) in an RFC AFAIK is [0] in late 2014 (pre-1.0). RFCs since then have built on this base - [1] is a comment in Feb 2015 accepting a more conservative design of the Place* traits - this is back when serde still required aster and seemed to break every other nightly! A lot has changed since then, perhaps placement should too) ------------------------ Concrete unresolved questions include: - making placement work in debug mode [7] - making placement work for serde/with fallible creation [5], [irlo2], [8] - trait design: - opting into not consuming the placer in `Placer::make_place` - [2] - trait proliferation - [4] (+ others in that thread) - fallible allocation - [3], [4] (+ others in that thread) - support for DSTs/unsized structs (if at all) - [1], [6] More speculative unresolved questions include: - better trait design with in the context of future language features [irlo1] (Q11), [irlo3] - interaction between custom allocators and placement [irlo3] [0] https://github.com/rust-lang/rfcs/pull/470 [1] https://github.com/rust-lang/rfcs/pull/809#issuecomment-73910414 [2] https://github.com/rust-lang/rfcs/issues/1286 [3] https://github.com/rust-lang/rfcs/issues/1315 [4] https://github.com/rust-lang/rust/issues/27779#issuecomment-146711893 [5] https://github.com/rust-lang/rust/issues/27779#issuecomment-285562402 [6] https://github.com/rust-lang/rust/issues/27779#issuecomment-354464938 [7] https://github.com/rust-lang/rust/issues/27779#issuecomment-358025344 [8] https://github.com/rust-lang/rfcs/pull/1228#issuecomment-190825370 [irlo1] https://internals.rust-lang.org/t/placement-nwbi-faq-new-box-in-left-arrow/2789 [irlo2] https://internals.rust-lang.org/t/placement-nwbi-faq-new-box-in-left-arrow/2789/19 [irlo3] https://internals.rust-lang.org/t/lang-team-minutes-feature-status-report-placement-in-and-box/4646
2018-04-03expand macro invocations in `extern {}` blocksAustin Bonander-0/+39
2018-04-03Auto merge of #49447 - pnkfelix:remove-cfg-const-pat-hack-47295, r=nikomatsakisbors-27/+0
Remove adjacent all-const match arm hack. An old fix for moves-in-guards had a hack for adjacent all-const match arms. The hack was explained in a comment, which you can see here: https://github.com/rust-lang/rust/pull/22580/files#diff-402a0fa4b3c6755c5650027c6d4cf1efR497 But hack was incomplete (and thus unsound), as pointed out here: https://github.com/rust-lang/rust/issues/47295#issuecomment-357108458 Plus, it is likely to be at least tricky to reimplement this hack in the new NLL borrowck. So rather than try to preserve the hack, we want to try to just remove it outright. (At least to see the results of a crater run.) [breaking-change] This is a breaking-change, but our hope is that no one is actually relying on such an extreme special case. (We hypothesize the hack was originally added to accommodate a file in our own test suite, not code in the wild.)
2018-04-03Remove all unstable placement featuresAidan Hobson Sayers-45/+2
Closes #22181, #27779
2018-04-02Auto merge of #49252 - Manishearth:easy-feature-flag, r=nikomatsakisbors-1/+1
Easy edition feature flag We no longer gate features on epochs; instead we have a `#![feature(rust_2018_preview)]` that flips on a bunch of features (currently dyn_trait). Based on #49001 to avoid merge conflicts r? @nikomatsakis
2018-03-30Auto merge of #49403 - oli-obk:try2, r=eddybbors-0/+7
Trim discriminants to their final type size r? @eddyb fixes #49181
2018-03-29Ignore stack-probes tests on powerpc/s390x tooJosh Stone-0/+4
We only support stack probes on x86 and x86_64. Other arches are already ignored.
2018-03-29Move alloc::Bound to {core,std}::opsSimon Sapin-1/+1
The stable reexport `std::collections::Bound` is now deprecated. Another deprecated reexport could be added in `alloc`, but that crate is unstable.
2018-03-29Fix testManish Goregaokar-1/+1
2018-03-29Auto merge of #49458 - cramertj:stable-underscore-lt, r=nikomatsakisbors-3/+0
Stabilize underscore lifetimes r? @nikomatsakis
2018-03-29Stabilize underscore lifetimesTaylor Cramer-3/+0
2018-03-28Auto merge of #49460 - kennytm:rollup, r=kennytmbors-1/+5
Rollup of 12 pull requests - Successful merges: #49243, #49329, #49364, #49400, #49405, #49427, #49428, #49429, #49439, #49442, #49444, #49452 - Failed merges:
2018-03-28Rollup merge of #49428 - cuviper:llvm6-target_feature, r=alexcrichtonkennytm-1/+5
Enable target_feature on any LLVM 6+ In `LLVMRustHasFeature()`, rather than using `MCInfo->getFeatureTable()` that is specific to Rust's LLVM fork, we can use this in LLVM 6: /// Check whether the subtarget features are enabled/disabled as per /// the provided string, ignoring all other features. bool checkFeatures(StringRef FS) const; Now rustc using external LLVM can also have `target_feature`. r? @alexcrichton
2018-03-28Remove adjacent all-const match arm hack.Felix S. Klock II-27/+0
An old fix for moves-in-guards had a hack for adjacent all-const match arms. The hack was explained in a comment, which you can see here: https://github.com/rust-lang/rust/pull/22580/files#diff-402a0fa4b3c6755c5650027c6d4cf1efR497 But hack was incomplete (and thus unsound), as pointed out here: https://github.com/rust-lang/rust/issues/47295#issuecomment-357108458 Plus, it is likely to be at least tricky to reimplement this hack in the new NLL borrowck. So rather than try to preserve the hack, we want to try to just remove it outright. (At least to see the results of a crater run.) [breaking-change] This is a breaking-change, but our hope is that no one is actually relying on such an extreme special case. (We hypothesize the hack was originally added to accommodate a file in our own test suite, not code in the wild.)
2018-03-28Stabilize match_default_bindingsTaylor Cramer-25/+0
This includes a submodule update to rustfmt in order to allow a stable feature declaration.
2018-03-27Enable target_feature on any LLVM 6+Josh Stone-1/+5
In `LLVMRustHasFeature()`, rather than using `MCInfo->getFeatureTable()` that is specific to Rust's LLVM fork, we can use this in LLVM 6: /// Check whether the subtarget features are enabled/disabled as per /// the provided string, ignoring all other features. bool checkFeatures(StringRef FS) const; Now rustc using external LLVM can also have `target_feature`.
2018-03-27Use the actual discriminant instead of always choosing the dataful variantOliver Schneider-0/+7
2018-03-27Rollup merge of #49369 - petrochenkov:rprint, r=oli-obkkennytm-8/+0
Fix pretty-printing for raw identifiers
2018-03-26revert making casts atomic, test order dependencyleonardo.yvens-0/+5
2018-03-27Fix pretty-printing for raw identifiersVadim Petrochenkov-8/+0
2018-03-26fixes internal compiler error:Peter Hrvola-0/+43
librustc_mir/transform/elaborate_drops.rs — drop of untracked, uninitialized value Fix #48962 r? @nikomatsakis
2018-03-26Fix missed i128 feature gatesMark Mansi-2/+2
2018-03-26Stabilize i128_typeMark Mansi-15/+5
2018-03-26Stabilize conservative_impl_traitTaylor Cramer-22/+9
2018-03-26Stabilize universal_impl_traitTaylor Cramer-14/+2
2018-03-25Auto merge of #49141 - gnzlbg:simd_select, r=alexcrichtonbors-0/+146
adds simd_select intrinsic The select SIMD intrinsic is used to select elements from two SIMD vectors using a mask: ```rust let mask = b8x4::new(true, false, false, true); let a = f32x4::new(1., 2., 3., 4.); let b = f32x4::new(5., 6., 7., 8.); assert_eq!(simd_select(mask, a, b), f32x4::new(1., 6., 7., 4.)); ``` The number of lanes between the mask and the vectors must match, but the vector width of the mask does not need to match that of the vectors. The mask is required to be a vector of signed integers. Note: this intrinsic will be exposed via `std::simd`'s vector masks - users are not expected to use it directly.
2018-03-25Rollup merge of #49299 - SimonSapin:ubiquity, r=nikomatsakiskennytm-5/+0
Stabilize the copy_closures and clone_closures features In addition to the `Fn*` family of traits, closures now implement `Copy` (and similarly `Clone`) if all of the captures do. Tracking issue: https://github.com/rust-lang/rust/issues/44490
2018-03-25Rollup merge of #49194 - Zoxc:unsafe-generator, r=cramertjkennytm-46/+50
Make resuming generators unsafe instead of the creation of immovable generators cc @withoutboats Fixes #47787
2018-03-25Rollup merge of #49162 - tmandry:stabilize-termination-trait, r=nikomatsakiskennytm-8/+1
Stabilize termination_trait, split out termination_trait_test For #48453. First time contribution, so I'd really appreciate any feedback on how this PR can be better. Not sure exactly what kind of documentation update is needed. If there is no PR to update the reference, I can try doing that this week as I have time.
2018-03-24Auto merge of #48482 - davidtwco:issue-47184, r=nikomatsakisbors-0/+1
NLL should identify and respect the lifetime annotations that the user wrote Part of #47184. r? @nikomatsakis
2018-03-23Test fixesAlex Crichton-0/+8
2018-03-23Merge branch '49001_epoch' of https://github.com/klnusbaum/rust into rollupAlex Crichton-2/+2
2018-03-23Merge branch 'master' of https://github.com/Lymia/rust into rollupAlex Crichton-0/+148
2018-03-23Rollup merge of #48624 - bdrewery:freebsd-posix-spawn, r=alexcrichtonAlex Crichton-0/+23
Command: Support posix_spawn() on FreeBSD/OSX/GNU Linux
2018-03-23Rollup merge of #48265 - SimonSapin:nonzero, r=KodrAusAlex Crichton-6/+5
Add 12 num::NonZero* types for primitive integers, deprecate core::nonzero RFC: https://github.com/rust-lang/rfcs/pull/2307 Tracking issue: ~~https://github.com/rust-lang/rust/issues/27730~~ https://github.com/rust-lang/rust/issues/49137 Fixes https://github.com/rust-lang/rust/issues/27730
2018-03-23Stabilize the copy_closures and clone_closures featuresSimon Sapin-5/+0
In addition to the `Fn*` family of traits, closures now implement `Copy` (and similarly `Clone`) if all of the captures do.
2018-03-22Added flag to disable user type assertion.David Wood-0/+1
2018-03-22Auto merge of #49210 - oli-obk:pango_crash, r=eddybbors-0/+27
Fix the conversion between bit representations and i128 representations fixes #49181 the `Discr` type now encodes the bit representation instead of `i128` or `u128` casted to `u128`. r? @eddyb
2018-03-22Rollup merge of #49117 - nivkner:fixme_fixup3, r=estebankkennytm-2/+1
address some FIXME whose associated issues were marked as closed part of #44366
2018-03-22Rollup merge of #49109 - SimonSapin:deprecate-asciiext, r=alexcrichtonkennytm-2/+0
Deprecate the AsciiExt trait in favor of inherent methods The trait and some of its methods are stable and will remain. Some of the newer methods are unstable and can be removed later. Fixes https://github.com/rust-lang/rust/issues/39658
2018-03-22Fix the conversion between bit representations and i128 representationsOliver Schneider-0/+27
2018-03-21Deprecate the AsciiExt trait in favor of inherent methodsSimon Sapin-2/+0
The trait and some of its methods are stable and will remain. Some of the newer methods are unstable and can be removed later. Fixes https://github.com/rust-lang/rust/issues/39658
2018-03-21Make resuming generators unsafe instead of the creation of immovable ↵John Kåre Alsaker-46/+50
generators. Fixes #47787