about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2019-01-15fix test output changing in rebaseAriel Ben-Yehuda-2/+2
2019-01-15Add error checkYuki Okushi-9/+30
2019-01-15Add testYuki Okushi-0/+30
2019-01-15Make UnsafeCode EarlyLintPassYuki Okushi-22/+20
2019-01-15Run lint for unsafe on the astYuki Okushi-1/+1
2019-01-15Add PartialEqYuki Okushi-2/+2
2019-01-14Simplify 'product' factorial exampletimvisee-1/+1
2019-01-14Rollup merge of #57589 - scottmcm:vec-set_len-debug_assert, r=alexcrichtonMazdak Farrokhzad-0/+2
Add a debug_assert to Vec::set_len Following the precedent of https://github.com/rust-lang/rust/pull/52972, which found https://github.com/llogiq/bytecount/pull/42. (This may well make a test fail; let's see what Travis says.)
2019-01-14Rollup merge of #57585 - estebank:trailing-semicolon, r=petrochenkovMazdak Farrokhzad-30/+113
Recover from item trailing semicolon CC https://github.com/rust-lang/rfcs/pull/2479 r? @petrochenkov
2019-01-14Rollup merge of #57572 - Centril:unaccept-extern-in-path, r=petrochenkovMazdak Farrokhzad-233/+62
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-14Rollup merge of #57570 - Xanewok:querify-some, r=ZoxcMazdak Farrokhzad-41/+66
Querify local `plugin_registrar_fn` and `proc_macro_decls_static` Instead of calculating them as part of the `Session`, we do that in the query system. It's also nice that these queries are already defined for external crates - here, we provide the queries for the local crate. r? @nikomatsakis
2019-01-14Rollup merge of #57540 - estebank:eval-more, r=petrochenkovMazdak Farrokhzad-141/+344
Modify some parser diagnostics to continue evaluating beyond the parser Continue evaluating further errors after parser errors on: - trailing type argument attribute - lifetime in incorrect location - incorrect binary literal - missing `for` in `impl Trait for Foo` - type argument in `where` clause - incorrect float literal - incorrect `..` in pattern - associated types - incorrect discriminator value variant error and others. All of these were found by making `continue-parse-after-error` `true` by default to identify errors that would need few changes. There are now only a handful of errors that have any change with `continue-parse-after-error` enabled. These changes make it so `rust` _won't_ stop evaluation after finishing parsing, enabling type checking errors to be displayed on the existing code without having to fix the parse errors. Each commit has an individual diagnostic change with their corresponding tests. CC #48724.
2019-01-14Rollup merge of #57481 - euclio:bool-cast-suggestion, r=estebankMazdak Farrokhzad-24/+47
provide suggestion for invalid boolean cast Also, don't suggest comparing to zero for non-numeric expressions.
2019-01-14Rollup merge of #57480 - Zoxc:query-fix, r=michaelwoeristerMazdak Farrokhzad-20/+21
Clean up and fix a bug in query plumbing r? @michaelwoerister
2019-01-14Rollup merge of #57043 - ssomers:master, r=alexcrichtonMazdak Farrokhzad-7/+60
Fix poor worst case performance of set intersection Specifically, intersection of asymmetrically sized sets when the large set is on the left. See also the [latest answer on stackoverflow](https://stackoverflow.com/questions/35439376/python-set-intersection-is-faster-then-rust-hashset-intersection). Also applied to the union member, where the effect is much less but still measurable. Formatted the changed code only, does not increase the error count reported by tidy check, and tried to adhere to the spirit of the unit tests.
2019-01-14Auto merge of #57559 - ehuss:update-cargo, r=alexcrichtonbors-0/+0
Update cargo 13 commits in 34320d212dca8cd27d06ce93c16c6151f46fcf2e..2b4a5f1f0bb6e13759e88ea9512527b0beba154f 2019-01-03 19:12:38 +0000 to 2019-01-12 04:13:12 +0000 - Add test for publish with [patch] + cleanup. (rust-lang/cargo#6544) - Fix clippy warning (rust-lang/cargo#6546) - Revert "Workaround by using yesterday's nightly" (rust-lang/cargo#6540) - Adding feature-flags to `cargo publish` and `cargo package` (rust-lang/cargo#6453) - Fix the Travis CI badge (rust-lang/cargo#6530) - Add helpful text for Windows exceptions like Unix (rust-lang/cargo#6532) - Report fix bugs to Rust instead of Cargo (rust-lang/cargo#6531) - --{example,bin,bench,test} with no argument now lists all available targets (rust-lang/cargo#6505) - Rebuild on mid build file modification (rust-lang/cargo#6484) - Derive Clone for TomlDependency (rust-lang/cargo#6527) - publish: rework the crates.io detection logic. (rust-lang/cargo#6525) - avoid duplicates in ignore files (rust-lang/cargo#6521) - Rustflags in metadata (rust-lang/cargo#6503) r? @alexcrichton
2019-01-14rustc: Remove platform intrinsics crateAlex Crichton-15991/+4
This was originally attempted in #57048 but it was realized that we could fully remove the crate via the `"unadjusted"` ABI on intrinsics. This means that all intrinsics in stdsimd are implemented directly against LLVM rather than using the abstraction layer provided here. That ends up meaning that this crate is no longer used at all. This crate developed long ago to implement the SIMD intrinsics, but we didn't end up using it in the long run. In that case let's remove it!
2019-01-14Remove GCE cloud setting from AppVeyor configAlex Crichton-6/+0
AppVeyor has informed us that this may no longer be necessary after some infrastructure upgrades on their side, so let's see how this goes!
2019-01-14Add another feature(iter_once_with)Stjepan Glavina-0/+2
2019-01-14Add feature(iter_once_with)Stjepan Glavina-0/+2
2019-01-14Add a regression test for mutating a non-mut #[thread_local]Michael Bradshaw-0/+36
2019-01-14Auto merge of #57592 - Centril:rollup, r=Centrilbors-253/+340
Rollup of 6 pull requests Successful merges: - #57232 (Parallelize and optimize parts of HIR map creation) - #57418 (MetadataOnlyCodegenBackend: run the collector only once) - #57465 (Stabilize cfg_target_vendor) - #57477 (clarify resolve typo suggestion) - #57556 (privacy: Fix private-in-public check for existential types) - #57584 (Remove the `connect_timeout_unroutable` test.) Failed merges: r? @ghost
2019-01-14Remove unnecessary mutStjepan Glavina-1/+1
2019-01-14Rollup merge of #57584 - nnethercote:rm-connect_timeout_unroutable, r=sfacklerMazdak Farrokhzad-11/+0
Remove the `connect_timeout_unroutable` test. It requires an unreachable IP address, but there is no such thing, and this has caused it to fail for multiple people. Fixes #44698, fixes #50065. r? @sfackler
2019-01-14Rollup merge of #57556 - petrochenkov:privexist, r=arielb1Mazdak Farrokhzad-3/+23
privacy: Fix private-in-public check for existential types Fixes https://github.com/rust-lang/rust/issues/53546 (regression from https://github.com/rust-lang/rust/pull/56878) r? @arielb1
2019-01-14Rollup merge of #57477 - euclio:clarify-lev-suggestion, r=zackmdavisMazdak Farrokhzad-125/+249
clarify resolve typo suggestion Include the kind of the binding that we're suggesting, and use a structured suggestion. Fixes #53445.
2019-01-14Rollup merge of #57465 - jethrogb:jb/stablize-cfg-target-vendor, ↵Mazdak Farrokhzad-56/+8
r=joshtriplett,Centril Stabilize cfg_target_vendor This stabilizes the use of `cfg(target_vendor = "...")` and removes the corresponding `cfg_target_vendor` feature. Other unstable cfgs remain behind their existing feature gates. This functionality was added back in 2015 in #28612 to complete the coverage of target tuples (`<arch><sub>-<vendor>-<os>-<env>`). [RFC 131](https://github.com/rust-lang/rfcs/blob/master/text/0131-target-specification.md) governs the target specification, not including `target_vendor` seems to have just been an oversight. `target_os`, `target_family`, and `target_arch` are stable as of 1.0.0. `target_env` was also not mentioned in RFC 131, was added in #24777, never behind a feature_gate, and insta-stable at 1.1.0. The functionality is tested in [test/run-pass/cfg/cfg-target-vendor.rs](https://github.com/rust-lang/rust/blob/master/src/test/run-pass/cfg/cfg-target-vendor.rs). Closes #29718
2019-01-14Rollup merge of #57418 - lqd:collector_query, r=michaelwoeristerMazdak Farrokhzad-14/+3
MetadataOnlyCodegenBackend: run the collector only once Use the `collect_and_partition_mono_items` query to avoid calling the collector directly twice. Fixes #57406.
2019-01-14Rollup merge of #57232 - Zoxc:par-collector-misc, r=michaelwoeristerMazdak Farrokhzad-44/+57
Parallelize and optimize parts of HIR map creation r? @michaelwoerister
2019-01-14Auto merge of #57322 - Centril:stabilize-identity, r=SimonSapinbors-6/+1
Stabilize core::convert::identity r? @SimonSapin fixes https://github.com/rust-lang/rust/issues/53500 This is waiting for FCP to complete but in the interim it would be good to review.
2019-01-14Stabilize `cfg_target_vendor`, #29718Jethro Beekman-56/+6
2019-01-14Add additional human-readable cfg strings to rustdocJethro Beekman-0/+2
2019-01-13Support passing cflags/cxxflags/ldflags to LLVM buildPetr Hosek-1/+33
This may be needed with some host compilers.
2019-01-13Add a debug_assert to Vec::set_lenScott McMurray-0/+2
2019-01-14Auto merge of #57387 - euclio:nonstandard-style-suggestions, r=oli-obkbors-373/+372
Use structured suggestions for nonstandard style lints This PR modifies the lints in the nonstandard_style group to use structured suggestions. Note that there's a bit of tricky span calculation going on for the `crate_name` attribute. It also simplifies the code a bit: I don't think the "fallback" suggestions for these lints can actually be triggered. Fixes #48103. Fixes #52414.
2019-01-14Add 'rustc-env:RUST_BACKTRACE=0' to const-pat-ice testAaron Hill-0/+1
This ensures that the test passes, regardless of what the user has set RUST_BACKTRACE to.
2019-01-14Auto merge of #57381 - estebank:if-else-308, r=nikomatsakisbors-28/+331
Tweak output of type mismatch between "then" and `else` `if` arms ``` error[E0308]: if and else have incompatible types --> $DIR/if-else-type-mismatch.rs:5:9 | LL | let _ = if true { | _____________- LL | | 42i32 | | ----- expected because of this LL | | } else { LL | | 42u32 | | ^^^^^ expected i32, found u32 LL | | }; | |_____- if and else have incompatible types | = note: expected type `i32` found type `u32` error[E0308]: if and else have incompatible types --> file.rs:2:38 | LL | let _ = if false { 3u8; } else { 3u8 }; | ---- ^^^ expected (), found u8 | | | | | help: consider removing this semicolon | expected because of this | = note: expected type `()` found type `u8` error[E0308]: if and else have incompatible types --> file.rs:3:37 | LL | let _ = if false { 3u8 } else { 3u8; }; | --- ^^^- | | | | | | | help: consider removing this semicolon | | expected u8, found () | expected because of this | = note: expected type `u8` found type `()` error[E0308]: if and else have incompatible types --> file.rs:4:37 | LL | let _ = if false { 3i8 } else { 3u8 }; | --- ^^^ expected i8, found u8 | | | expected because of this | = note: expected type `i8` found type `u8` ``` Fix #57348.
2019-01-14Parallelize and optimize parts of HIR map creationJohn Kåre Alsaker-44/+57
2019-01-13Suggest removal of semicolon when appropriateEsteban Küber-91/+169
2019-01-13Tweak output of type mismatch between "then" and `else` `if` armsEsteban Küber-13/+238
2019-01-13Recover from item trailing semicolonEsteban Küber-30/+113
2019-01-14Auto merge of #56954 - hug-dev:armv8m-main-ci, r=alexcrichtonbors-24/+32
Add dist builder for Armv8-M Mainline This commit adds the Armv8-M Mainline target in the list of targets that get their dist components built. It also update the build-manifest so that this target gets also its dist components uploaded. I took example on other pull requests doing the same thing for another target to make the changes. Please feel free to comment if things needs to be added or removed. Doing `./x.py dist --target thumbv8m.main-none-eabi` worked locally so I assume that this will also work on the CI. It will (I think) however need a new release of alexcrichton/cc-rs to include the pull request alexcrichton/cc-rs#363 @alexcrichton I hope to do the HardFloat version (`thumbv8m.main-none-eabihf`) and Baseline (`thumbv8m.base-none-eabi`) later, as fixes need to be done on compiler-builtins first to support those.
2019-01-14Make `TokenStream` use `Option`.Nicholas Nethercote-50/+45
Because that's the more typical way of representing an all-or-nothing type.
2019-01-14Fix failing testStjepan Glavina-6/+7
2019-01-13Retain original pass orderIgor Matuszewski-2/+2
It shouldn't matter, but hey - better safe than sorry!
2019-01-13Querify local plugin_registrar_fnIgor Matuszewski-26/+35
2019-01-13Querify local proc_macro_decls_staticIgor Matuszewski-15/+31
2019-01-14Remove the `connect_timeout_unroutable` test.Nicholas Nethercote-11/+0
It requires an unreachable IP address, but there is no such thing, and this has caused it to fail for multiple people. Fixes #44698, fixes #50065.
2019-01-13Auto merge of #57580 - Centril:rollup, r=Centrilbors-220/+419
Rollup of 4 pull requests Successful merges: - #56874 (Simplify foreign type rendering.) - #57113 (Move diagnostics out from QueryJob and optimize for the case with no diagnostics) - #57366 (Point at match discriminant on type error in match arm pattern) - #57538 (librustc_mir: Fix ICE with slice patterns) Failed merges: - #57381 (Tweak output of type mismatch between "then" and `else` `if` arms) r? @ghost
2019-01-14Avoid some `TokenTree`-to-`TokenStream` conversions.Nicholas Nethercote-7/+6
This avoids some allocations.