about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-02-27Validate `#[unwind]` syntax regardless of platform-specific panic strategyVadim Petrochenkov-2/+5
2019-02-27Mention `unwind(aborts)` in diagnostics for `#[unwind]`Vadim Petrochenkov-32/+69
Simplify input validation for `#[unwind]`, add tests
2019-02-27Auto merge of #58321 - csmoe:substs, r=oli-obkbors-379/+385
[Step 1] Implement "small substs optimization" for substs of length 1 addresses part of #58310 r?@arielb1
2019-02-26Auto merge of #58675 - gnzlbg:usimd, r=alexcrichtonbors-0/+0
Update stdsimd This updates stdsimd to a Rust2015 / Rust2018 compatible version. Once this is merged it should be possible to migrate libcore and libstd to Rust2018. Once that happens, we can just require the 2018 edition in stdsimd.
2019-02-27rename Substs to InternalSubstscsmoe-187/+191
Change-Id: I3fa00e999a2ee4eb72db1fdf53a8633b49176a18
2019-02-26replace &'tcx Substs with SubstsRefcsmoe-211/+213
2019-02-26Auto merge of #58561 - ljedrz:HirIdify_some_nodes, r=Zoxcbors-677/+646
Remove NodeId from some HIR nodes The next iteration of https://github.com/rust-lang/rust/pull/57578. Removes `NodeId` from: - [x] `Lifetime` - [x] `Ty` - [x] `GenericParam` - [x] `WhereClause` - [x] `WhereEqPredicate` - [x] `MacroDef` - [x] `Block` - [x] `Expr` r? @Zoxc
2019-02-26Auto merge of #58357 - sfackler:vectored-io, r=alexcrichtonbors-95/+1052
Add vectored read and write support This functionality has lived for a while in the tokio ecosystem, where it can improve performance by minimizing copies. r? @alexcrichton
2019-02-25Auto merge of #57367 - petrochenkov:unrestab, r=Centrilbors-87/+108
Stabilize `unrestricted_attribute_tokens` In accordance with a plan described in https://internals.rust-lang.org/t/unrestricted-attribute-tokens-feature-status/8561/3. Delimited non-macro non-builtin attributes now support the same syntax as macro attributes: ``` PATH PATH `(` TOKEN_STREAM `)` PATH `[` TOKEN_STREAM `]` PATH `{` TOKEN_STREAM `}` ``` Such attributes mostly serve as inert proc macro helpers or tool attributes. To some extent these attributes are de-facto stable due to a hole in feature gate checking (feature gating is done too late - after macro expansion.) So if macro *removes* such helper attributes during expansion (and it must remove them, unless it's a derive macro), then the code will work on stable. Key-value non-macro non-builtin attributes are now restricted to bare minimum required to support what we support on stable - unsuffixed literals (https://github.com/rust-lang/rust/issues/34981). ``` PATH `=` LITERAL ``` (Key-value macro attributes are not supported at all right now.) Crater run in https://github.com/rust-lang/rust/pull/57321 found no regressions for this change. There are multiple possible ways to extend key-value attributes (https://github.com/rust-lang/rust/pull/57321#issuecomment-451574065), but I'd expect an RFC for that and it's not a pressing enough issue to block stabilization of delimited attributes. Built-in attributes are still restricted to the "classic" meta-item syntax, nothing changes here. https://github.com/rust-lang/rust/pull/57321 goes further and adds some additional restrictions (more consistent input checking) to built-in attributes. Closes https://github.com/rust-lang/rust/issues/55208
2019-02-25Auto merge of #58302 - SimonSapin:tryfrom, r=alexcrichtonbors-79/+163
Stabilize TryFrom and TryInto with a convert::Infallible empty enum This is the plan proposed in https://github.com/rust-lang/rust/issues/33417#issuecomment-423073898
2019-02-25Stabilize `unrestricted_attribute_tokens`Vadim Petrochenkov-74/+26
2019-02-25Restrict value in key-value attributes to literalsVadim Petrochenkov-18/+87
2019-02-25Auto merge of #58649 - ↵bors-1/+10
pnkfelix:issue-57464-avoid-ice-when-region-sneaks-into-impl-trait, r=pnkfelix avoid ICE when region sneaks into impl trait Addresses non-NLL instances of #57464
2019-02-25Rollup merge of #58727 - taiki-e:deny-rust_2018_idioms-bootstrap, r=CentrilMazdak Farrokhzad-315/+352
bootstrap: deny(rust_2018_idioms) As part of the Rust 2018 transition, apply `#![deny(rust_2018_idioms)]` to `bootstrap`. r? @Centril
2019-02-25Rollup merge of #58725 - jamwt:fix-27949, r=CentrilMazdak Farrokhzad-0/+41
Test that binop subtyping in rustc_typeck fixes #27949
2019-02-25Rollup merge of #58723 - Centril:deny-elided_lifetimes_in_paths-librustc, ↵Mazdak Farrokhzad-2/+0
r=oli-obk librustc: deny(elided_lifetimes_in_paths) As part of the Rust 2018 transition, remove `#![allow(elided_lifetimes_in_paths)]` from `librustc`. r? @oli-obk
2019-02-25Rollup merge of #58722 - ↵Mazdak Farrokhzad-53/+59
Centril:deny-elided_lifetimes_in_paths-librustc_typeck, r=oli-obk librustc_typeck: deny(elided_lifetimes_in_paths) As part of the Rust 2018 transition, remove `#![allow(elided_lifetimes_in_paths)]` from `librustc_typeck`. r? @oli-obk
2019-02-25Rollup merge of #58720 - ↵Mazdak Farrokhzad-30/+34
Centril:deny-elided_lifetimes_in_paths-librustc_codegen_ssa, r=oli-obk librustc_codegen_ssa: #![deny(elided_lifetimes_in_paths)] As part of the Rust 2018 transition, remove `#![allow(elided_lifetimes_in_paths)]` from `librustc_codegen_ssa`. r? @oli-obk
2019-02-25Rollup merge of #58719 - Centril:deny-elided_lifetimes_in_paths, r=oli-obkMazdak Farrokhzad-69/+73
librustc_codegen_llvm: #![deny(elided_lifetimes_in_paths)] As part of the Rust 2018 transition, remove `#![allow(elided_lifetimes_in_paths)]` from `librustc_codegen_llvm`. r? @oli-obk
2019-02-25Rollup merge of #58718 - Centril:doc-convention-safety, r=RalfJungMazdak Farrokhzad-7/+7
Apply docs convention: Replace # Unsafety with # Safety in docs As used in RFC 1574: https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md#using-markdown "Safety" is used many times more than "Unsafety" is within existing docs. @bors rollup r? @RalfJung
2019-02-25Rollup merge of #58690 - kenta7777:reduce-code-repetition-miri-related, ↵Mazdak Farrokhzad-3/+2
r=oli-obk Reduce a Code Repetition like `(n << amt) >> amt` Fixes a part of [#49937](https://github.com/rust-lang/rust/issues/49937).
2019-02-25Rollup merge of #58687 - kenta7777:reduce-miri-code-repetition, r=oli-obkMazdak Farrokhzad-2/+1
Reduce Miri Code Repetition like `(n << amt) >> amt` This Pull Request fixes a part of [#49937](https://github.com/rust-lang/rust/issues/49937).
2019-02-25Rollup merge of #55632 - ollie27:deny_overflowing_literals, r=CentrilMazdak Farrokhzad-43/+56
Deny the `overflowing_literals` lint for all editions The `overflowing_literals` was made deny by default for the 2018 edition by #54507, however I'm not aware of any reason it can't be made deny by default for the 2015 edition as well.
2019-02-25bootstrap: deny(rust_2018_idioms)Taiki Endo-315/+352
2019-02-25update clippyljedrz-5/+5
2019-02-25Test that binop subtyping in rustc_typeck fixes #27949Jamie Turner-0/+41
2019-02-25librustc: deny(elided_lifetimes_in_paths)Mazdak Farrokhzad-2/+0
2019-02-25librustc_typeck: deny(elided_lifetimes_in_paths)Mazdak Farrokhzad-53/+59
2019-02-25librustc_codegen_ssa: deny(elided_lifetimes_in_paths)Mazdak Farrokhzad-30/+34
2019-02-25librustc_codegen_llvm: deny(elided_lifetimes_in_paths)Mazdak Farrokhzad-69/+73
2019-02-25heading # Unsafety => # Safety in stdlib docs.Mazdak Farrokhzad-7/+7
2019-02-25Auto merge of #57609 - matthewjasper:more-restrictive-match, r=pnkfelixbors-1178/+1198
Use normal mutable borrows in matches `ref mut` borrows are currently two-phase with NLL enabled. This changes them to be proper mutable borrows. To accommodate this, first the position of fake borrows is changed: ```text [ 1. Pre-match ] | [ (old create fake borrows) ] [ 2. Discriminant testing -- check discriminants ] <-+ | | | (once a specific arm is chosen) | | | [ (old read fake borrows) ] | [ 3. Create "guard bindings" for arm ] | [ (create fake borrows) ] | | | [ 4. Execute guard code ] | [ (read fake borrows) ] --(guard is false)-----------+ | | (guard results in true) | [ 5. Create real bindings and execute arm ] | [ Exit match ] ``` The following additional changes are made to accommodate `ref mut` bindings: * We no longer create fake `Shared` borrows. These borrows are no longer needed for soundness, just to avoid some arguably strange cases. * `Shallow` borrows no longer conflict with existing borrows, avoiding conflicting access between the guard borrow access and the `ref mut` borrow. There is some further clean up done in this PR: * Avoid the "later used here" note for Shallow borrows (since it's not relevant with the message provided) * Make any use of a two-phase borrow activate it. * Simplify the cleanup_post_borrowck passes into a single pass. cc #56254 r? @nikomatsakis
2019-02-24Fix redoxSteven Fackler-3/+3
2019-02-25Rollup merge of #58704 - taiki-e:extern-crate, r=CentrilMazdak Farrokhzad-25/+0
Remove some unnecessary 'extern crate' cc #58099 r? @Centril
2019-02-25Rollup merge of #58697 - taiki-e:question-in-macros, r=CentrilMazdak Farrokhzad-29/+29
Use ? in some macros
2019-02-25Rollup merge of #58686 - hellow554:rustfmt_depr, r=cramertjMazdak Farrokhzad-7/+7
replace deprecated rustfmt_skip with rustfmt::skip
2019-02-25Rollup merge of #58421 - nox:relax-bounds-binary-heap, r=dtolnayMazdak Farrokhzad-244/+244
Relax some Ord bounds on BinaryHeap<T> Notably, iterators don't require any trait bounds to be iterated.
2019-02-25Rollup merge of #58370 - nox:relax-bounds, r=dtolnayMazdak Farrokhzad-364/+354
Relax some Hash bounds on HashMap<K, V, S> and HashSet<T, S> Notably, hash iterators don't require any trait bounds to be iterated.
2019-02-24Fix sgxSteven Fackler-3/+3
2019-02-24Auto merge of #58706 - matthewjasper:update-miri, r=RalfJungbors-14/+14
update miri cc #57609 r? @RalfJung
2019-02-24update miriMatthew Jasper-14/+14
2019-02-24hir: remove NodeId from Exprljedrz-305/+307
2019-02-24hir: remove NodeId from Blockljedrz-135/+121
2019-02-24Fix cloudabiSteven Fackler-1/+9
2019-02-25Remove some unnecessary 'extern crate'Taiki Endo-25/+0
2019-02-24Auto merge of #58315 - gnzlbg:returns_twice, r=alexcrichtonbors-0/+76
Implement unstable ffi_return_twice attribute This PR implements [RFC2633](https://github.com/rust-lang/rfcs/pull/2633) r? @eddyb
2019-02-24Use ? in some macrosTaiki Endo-29/+29
2019-02-24Update stdsimdgnzlbg-0/+0
2019-02-24Auto merge of #58691 - Centril:rollup, r=Centrilbors-398/+583
Rollup of 6 pull requests Successful merges: - #57364 (Improve parsing diagnostic for negative supertrait bounds) - #58183 (Clarify guarantees for `Box` allocation) - #58442 (Simplify the unix `Weak` functionality) - #58454 (Refactor Windows stdio and remove stdin double buffering ) - #58511 (Const to op simplification) - #58642 (rustdoc: support methods on primitives in intra-doc links) Failed merges: r? @ghost
2019-02-24hir: remove NodeId from MacroDefljedrz-11/+11