about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-08-04bump libcore tests to rand 0.7Ralf Jung-10/+10
2019-08-04bump rand to fix Miri failuresRalf Jung-6/+6
2019-08-04Auto merge of #63233 - RalfJung:get_unchecked, r=Centrilbors-4/+16
clarify that unchecked indexing is UB even if the reference is never used
2019-08-04fix linksRalf Jung-2/+2
relative links do not work because this is included in several places
2019-08-04Auto merge of #63199 - ehuss:fix-rustc-guide-toolstate, r=kennytmbors-1/+6
Fix rustc-guide toolstate tracking. The rustc-guide is still not saving its toolstate. It needs to be done explicitly. Note: There are some confusing bits here, like without `--no-fail-fast`, it saves the wrong value in `toolstates.json`. Also, "rustbook" is always added as "test-fail". Presumably [this code](https://github.com/rust-lang/rust/blame/63c1f17d950bfefc8f356777f124f304f0575c76/src/bootstrap/tool.rs#L201-L205) assumes everything fails until it passes tests, which is a bit confusing for things that don't run tests. cc @mark-i-m
2019-08-03Auto merge of #63235 - Xanewok:update-rls, r=Centrilbors-5/+21
Update Rustfmt and RLS Closes #63195 cc @topecongiro
2019-08-03Auto merge of #63059 - Centril:sound-bind-by-move, r=matthewjasperbors-186/+205
Make `#![feature(bind_by_move_pattern_guards)]` sound without `#[feature(nll)]` Implements https://github.com/rust-lang/rust/issues/15287#issuecomment-507054617 making `#![feature(bind_by_move_pattern_guards)]]` sound without also having `#![feature(nll)]`. The logic here is that if we see a `match` guard, we will refuse to downgrade NLL errors to warnings. This is in preparation for hopefully stabilizing the former feature in https://github.com/rust-lang/rust/pull/63118. As fall out from the implementation we also: Fixes https://github.com/rust-lang/rust/issues/31287 Fixes https://github.com/rust-lang/rust/issues/27282 r? @matthewjasper
2019-08-03ci: move .azure-pipelines to src/ci/azure-pipelinesPietro Albini-1/+883
2019-08-03cargotest: servo -> caac107ae8145ef2fd20365e2b8fadaf09c2eb3bMazdak Farrokhzad-1/+1
2019-08-03Auto merge of #63234 - Centril:rollup-h9t731z, r=Centrilbors-667/+357
Rollup of 5 pull requests Successful merges: - #62954 (Fix typo in Delimited::open_tt) - #63146 (Cleanup syntax::attr) - #63218 (rustbuild: RISC-V is no longer an experimental LLVM target) - #63227 (dead_code: Properly inspect fields in struct patterns with type relative paths) - #63229 (A bit of Miri error cleanup) Failed merges: r? @ghost
2019-08-03Apply suggestions from code reviewRalf Jung-8/+12
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-08-03Rollup merge of #63229 - RalfJung:miri-error, r=oli-obkMazdak Farrokhzad-98/+90
A bit of Miri error cleanup Some cleanup after https://github.com/rust-lang/rust/pull/62969. r? @oli-obk Cc @saleemjaffer
2019-08-03Rollup merge of #63227 - jakubadamw:issue-63151, r=estebankMazdak Farrokhzad-2/+29
dead_code: Properly inspect fields in struct patterns with type relative paths Closes #63151.
2019-08-03Rollup merge of #63218 - lenary:riscv-non-experimental, r=alexcrichtonMazdak Farrokhzad-5/+8
rustbuild: RISC-V is no longer an experimental LLVM target This moves RISC-V from the experimental LLVM targets to the regular LLVM targets. RISC-V was made non-experimental in https://reviews.llvm.org/rL366399 I have also sorted the list of LLVM targets, and changed the code around setting llvm_exp_targets (and its default) to match the code setting llvm_targets (and its default), ensuring future changes to the defaults, as LLVM targets become stable, affect as few places as possible. Given WebAssembly is in `LLVM_ALL_TARGETS` and is therefore built by default (and has been since October 2018), I'm not sure why rust still has it in `experimental-targets`. I'm happy to update this PR to move it into the main list of LLVM targets. r? @alexcrichton
2019-08-03Rollup merge of #63146 - Mark-Simulacrum:clean-attr, r=petrochenkovMazdak Farrokhzad-538/+206
Cleanup syntax::attr Mostly removing needless arguments to constructors r? @petrochenkov
2019-08-03Rollup merge of #62954 - ia0:fix_typo_span, r=CentrilMazdak Farrokhzad-24/+24
Fix typo in Delimited::open_tt
2019-08-03Update Rustfmt and RLSIgor Matuszewski-5/+21
2019-08-03clarify that unchecked indexing is UB even if the reference is never usedRalf Jung-4/+12
2019-08-03Auto merge of #62946 - RalfJung:miri_type_dispatch_first, r=oli-obkbors-165/+160
Miri: dispatch first on the type Based on the fact that Miri now always has intptrcast available, we can change binops and casts to first check the type of the source operand and then decide based on that what to do, instead of considering the value (pointer vs bits) first.
2019-08-02Fix rustc-guide toolstate tracking.Eric Huss-1/+6
2019-08-03Auto merge of #63180 - varkor:trait-alias-impl-trait, r=Centrilbors-1033/+1050
Change opaque type syntax from `existential type` to type alias `impl Trait` This implements a new feature gate `type_alias_impl_trait` (this is slightly different from the originally proposed feature name, but matches what has been used in discussion since), deprecating the old `existential_types` feature. The syntax for opaque types has been changed. In addition, the "existential" terminology has been replaced with "opaque", as per previous discussion and the RFC. This makes partial progress towards implementing https://github.com/rust-lang/rust/issues/63063. r? @Centril
2019-08-02Auto merge of #63228 - Centril:rollup-x39p5ga, r=Centrilbors-288/+709
Rollup of 7 pull requests Successful merges: - #63107 (Added support for armv7-unknown-linux-gnueabi/musleabi) - #63121 (On `format!()` arg count mismatch provide extra info) - #63196 (build_helper: try less confusing method names) - #63206 (remove unsupported test case) - #63208 (Round generator sizes to a multiple of their alignment) - #63212 (Pretty print attributes in `print_arg`) - #63215 (Clarify semantics of mem::zeroed) Failed merges: r? @ghost
2019-08-03blessRalf Jung-40/+40
2019-08-03Rollup merge of #63215 - gnzlbg:patch-6, r=CentrilMazdak Farrokhzad-3/+6
Clarify semantics of mem::zeroed Clarifies the semantics of `mem::zeroed`. r? @Centril cc @RalfJung
2019-08-03Rollup merge of #63212 - Centril:param-attrs-pretty, r=davidtwcoMazdak Farrokhzad-10/+99
Pretty print attributes in `print_arg` Fixes https://github.com/rust-lang/rust/issues/63210. cc https://github.com/rust-lang/rust/issues/60406 r? @petrochenkov
2019-08-03Rollup merge of #63208 - tmandry:issue-62658, r=cramertjMazdak Farrokhzad-0/+31
Round generator sizes to a multiple of their alignment Fixes #62658. r? @cramertj cc @eddyb
2019-08-03Rollup merge of #63206 - BaoshanPang:master, r=alexcrichtonMazdak Farrokhzad-64/+0
remove unsupported test case r? @alexcrichton
2019-08-03Rollup merge of #63196 - RalfJung:build_helper, r=alexcrichtonMazdak Farrokhzad-9/+10
build_helper: try less confusing method names build_helper's `*_silent` methods were likely called that way because they do not print the command being run to stdout. [In the original file this all makes sense](https://github.com/rust-lang/rust/commit/046e6874c47ec55e23b7a566bca51d2920562485#diff-5c3d6537a43ecae03014e118a7fe3321). But later it also gained `*_suppressed` methods and the difference between `silent` and `suppressed` is far from clear. So rename `run` (which prints the command being run) to `run_verbose`. Then we can call the methods that just run a command and show its output but nothing extra `run` and `try_run`. `run_verbose` (formerly `run`) is unused from what I can tell. Should I remove it? r? @alexcrichton Cc @Mark-Simulacrum Also see https://github.com/rust-lang/rust/pull/63089#discussion_r308018890.
2019-08-03Rollup merge of #63121 - estebank:formatting-pos, r=alexcrichtonMazdak Farrokhzad-195/+463
On `format!()` arg count mismatch provide extra info When positional width and precision formatting flags are present in a formatting string that has an argument count mismatch, provide extra information pointing at them making it easiser to understand where the problem may lay: ``` error: 4 positional arguments in format string, but there are 3 arguments --> $DIR/ifmt-bad-arg.rs:78:15 | LL | println!("{} {:.*} {}", 1, 3.2, 4); | ^^ ^^--^ ^^ --- this parameter corresponds to the precision flag | | | this precision flag adds an extra required argument at position 1, which is why there are 4 arguments expected | = note: positional arguments are zero-based = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html error: 4 positional arguments in format string, but there are 3 arguments --> $DIR/ifmt-bad-arg.rs:81:15 | LL | println!("{} {:07$.*} {}", 1, 3.2, 4); | ^^ ^^-----^ ^^ --- this parameter corresponds to the precision flag | | | | | this precision flag adds an extra required argument at position 1, which is why there are 4 arguments expected | this width flag expects an `usize` argument at position 7, but there are 3 arguments | = note: positional arguments are zero-based = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html error: invalid reference to positional argument 7 (there are 3 arguments) --> $DIR/ifmt-bad-arg.rs:84:18 | LL | println!("{} {:07$} {}", 1, 3.2, 4); | ^^^--^ | | | this width flag expects an `usize` argument at position 7, but there are 3 arguments | = note: positional arguments are zero-based = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html ``` Fix #49384.
2019-08-03Rollup merge of #63107 - adrian-budau:master, r=alexcrichtonMazdak Farrokhzad-7/+100
Added support for armv7-unknown-linux-gnueabi/musleabi Fixes #63101 Some things that are not done and I hope someone can help me with: * During the ci build of `armv7-unknown-linux-gnueabi` `openssl` must be built (to build cargo) but `openssl` does not yet support this target. This feels slightly like a chicken-and-egg problem, any feedback is welcome. * Should I add any tests for any of these targets?
2019-08-02dead_code: Properly inspect fields in struct patterns with type relative pathsJakub Adam Wieczorek-2/+29
2019-08-02dedup free-form Unsupported errors; add macros for free-form UB and ↵Ralf Jung-49/+41
Unsupported cases
2019-08-02be less BritishRalf Jung-9/+9
2019-08-02fix rebase falloutRalf Jung-6/+7
2019-08-02const_prop no longer does ptr-to-int castsRalf Jung-1/+1
2019-08-02bless all the thingsRalf Jung-9/+7
2019-08-02trailing full stopsRalf Jung-2/+2
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-08-02add is_any_ptr type test; this also helps pacify tidyRalf Jung-6/+9
2019-08-02get rid of some remaining type-based dispatching in cast codeRalf Jung-45/+25
2019-08-02improve error when CTFE does ptr-int-cast; update testsRalf Jung-27/+37
2019-08-02fix casts from fat pointersRalf Jung-2/+15
2019-08-02use From to convert scalars to immediatesRalf Jung-15/+10
2019-08-02refactor cast_immediate to dispatch on the type first, and on the value secondRalf Jung-64/+46
2019-08-02turn cast_immediate into its own functionRalf Jung-35/+54
2019-08-02operator: implement binary_op strictly by first checking the type, then ↵Ralf Jung-24/+22
dispatching further; call ptr_op machine hook only for pointer types
2019-08-02cast: no need to catch errors any more, force_bits should succeedRalf Jung-6/+2
2019-08-02Fix broken test and nitvarkor-37/+43
2019-08-02Auto merge of #62309 - jlevon:62302, r=alexcrichtonbors-1/+14
provide thread name to OS for Solarish systems Fixes #62302 Passes a Linux bootstrap build. python x.py test src/tools/tidy happy. I tested this with a small test binary that spawns a few threads, and verified that: - on an illumos system lacking the libc function, the binary runs but no OS-level thread names are set - on an illumos system with the feature, the binary runs, and the thread names are visible and correct under tools like MDB, pstack, core dump, etc.
2019-08-02Added support for armv7-unknown-linux-gnueabi and armv7-unknown-linux-musleabi.Adrian Budau-7/+100
Support for the targets in the compiler and std build in the CI.
2019-08-02rustbuild: correct line lengthSam Elliott-1/+2