about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2021-10-17Rollup merge of #89943 - matthiaskrgr:clpcompl, r=oli-obkYuki Okushi-6/+4
clippy::complexity fixes
2021-10-17Rollup merge of #89907 - GuillaumeGomez:correctly-emit-errors, r=camelidYuki Okushi-1/+0
Remove FIXME since there is nothing to be fixed Resolves #88593. The errors are deduplicated when displayed to users. They only appear multiple times in UI tests. cc ``@jyn514`` r? ``@camelid``
2021-10-17Rollup merge of #89886 - alexcrichton:update-wasi-libc, r=kennytmYuki Okushi-1/+1
Update the wasi-libc built with the wasm32-wasi target This commit updates the wasi-libc that we include with the wasm32-wasi target, which brings in various misc fixes such as musl updates and some math tweaks.
2021-10-17Rollup merge of #89849 - rusticstuff:remove-xcode-select, r=Mark-SimulacrumYuki Okushi-18/+0
CI: Selecting the Xcode version no longer needed with the macos-11 runners. It does nothing nowadays since `/Applications/Xcode_12.2.app` does not exist in the GH runner environment and automatically using the latest version selected by the GH environment is better anyway.
2021-10-16Remove FIXME since there is nothing to be fixed.Guillaume Gomez-1/+0
The errors are deduplicated when displayed to users. They only appear multiple times in UI tests.
2021-10-16Auto merge of #89860 - camsteffen:macro-semi, r=petrochenkovbors-684/+701
Remove trailing semicolon from macro call span Macro call site spans are now less surprising/more consistent since they no longer contain a semicolon after the macro call. The downside is that we need to do a little guesswork to get the semicolon in diagnostics. But this should not be noticeable since it is rare for the semicolon to not immediately follow the macro call.
2021-10-16clippy::complexity changesMatthias Krüger-6/+4
2021-10-16Rollup merge of #89918 - JohnTitor:gats-tests, r=jackh726Matthias Krüger-0/+55
Add some GATs related regression tests Closes #88287, closes #88405
2021-10-16Rollup merge of #89914 - jackh726:gat_genericboundfailure, r=estebankMatthias Krüger-16/+19
Emit impl difference error for GenericBoundFailure too Fixes #86787 r? ````@estebank````
2021-10-16Rollup merge of #89912 - davidtwco:issue-89280-split-lines-multiple-lines, ↵Matthias Krüger-0/+33
r=oli-obk emitter: current substitution can be multi-line Fixes #89280. In `splice_lines`, there is some arithmetic to compute the required alignment such that future substitutions in a suggestion are aligned correctly. However, this assumed that the current substitution's span was only on a single line. In circumstances where this was not true, it could result in a arithmetic overflow when the substitution's end column was less than the substitution's start column. r? ````@oli-obk````
2021-10-16Rollup merge of #89906 - ↵Matthias Krüger-1/+4
yuvaldolev:move-format-version-to-rustdoc-json-types, r=CraftSpider Moved format-version constant to rustdoc-json-types Addresses #88620 Moved format-version constant from rustdoc to rustdoc-json-types.
2021-10-16Rollup merge of #89902 - rusticstuff:outline-atomics-linux-only, ↵Matthias Krüger-0/+1
r=workingjubilee Restrict the aarch64 outline atomics test to Linux The test was introduced in #83655, which enables the `outline-atomics` feature for aarch64-unknown-linux-* but not for any other aarch64 targets. The test did not check for Linux causing test failures on aarch64-apple-darwin. r? `@workingjubilee`
2021-10-16Rollup merge of #89509 - jhpratt:stabilize-const_unreachable_unchecked, ↵Matthias Krüger-8/+5
r=oli-obk Stabilize `unreachable_unchecked` as `const fn` Closes #53188 This PR stabilizes `core::hint::unreachable_unchecked` as `const fn`. MIRI is able to detect when this method is called. Stabilization was delayed until `const_panic` was stabilized so as to avoid users calling this method in its place (thus resulting in runtime UB). With #89508, that is no longer an issue. ````@rustbot```` label +A-const-eval +A-const-fn +T-lang +S-blocked (not sure why it's T-lang, but that's what the tracking issue is)
2021-10-15Auto merge of #84096 - m-ou-se:windows-bcrypt-random, r=dtolnaybors-2/+2
Use BCryptGenRandom instead of RtlGenRandom on Windows. This removes usage of RtlGenRandom on Windows, in favour of BCryptGenRandom. BCryptGenRandom isn't available on XP, but we dropped XP support a while ago.
2021-10-16Add some GATs related regression testsYuki Okushi-0/+55
2021-10-15Emit impl difference error for GenericBoundFailure toojackh726-16/+19
2021-10-15emitter: current substitution can be multi-lineDavid Wood-0/+33
In `splice_lines`, there is some arithmetic to compute the required alignment such that future substitutions in a suggestion are aligned correctly. However, this assumed that the current substitution's span was only on a single line. In circumstances where this was not true, it could result in a arithmetic overflow when the substitution's end column was less than the substitution's start column. Signed-off-by: David Wood <david.wood@huawei.com>
2021-10-15Add missing bcrypt.lib to make-fulldeps Makefile.Mara Bos-2/+2
2021-10-15Moved format-version constant to rustdoc-json-typesYuval Dolev-1/+4
2021-10-15Fix clippy with changed macro statement spansCameron Steffen-130/+126
2021-10-15Bless testsCameron Steffen-554/+575
2021-10-15Auto merge of #89903 - matthiaskrgr:rollup-s0c69xl, r=matthiaskrgrbors-74/+111
Rollup of 7 pull requests Successful merges: - #86011 (move implicit `Sized` predicate to end of list) - #89821 (Add a strange test for `unsafe_code` lint.) - #89859 (add dedicated error variant for writing the discriminant of an uninhabited enum variant) - #89870 (Suggest Box::pin when Pin::new is used instead) - #89880 (Use non-checking TLS relocation in aarch64 asm! sym test.) - #89885 (add long explanation for E0183) - #89894 (Remove unused dependencies from rustc_const_eval) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-10-15Rollup merge of #89885 - cameron1024:long-explanation-E0183, r=GuillaumeGomezMatthias Krüger-3/+4
add long explanation for E0183 Addresses #61137
2021-10-15Rollup merge of #89880 - adamgemmell:dev/nc-relocation, r=AmanieuMatthias Krüger-1/+1
Use non-checking TLS relocation in aarch64 asm! sym test. The checking variant ensures that the offset required is not larger than 12 bits - hence we wouldn't ever need the upper 12 bits. It's unlikely to ever fail in this small test but this is technically correct. This was noticed incidentally when we found that LLD doesn't support the `tprel_lo12` relocation, even though LLVM can apparently generate it when using `-mtls-size=12`.
2021-10-15Rollup merge of #89870 - tmandry:box-pin, r=estebankMatthias Krüger-13/+7
Suggest Box::pin when Pin::new is used instead This fixes an incorrect diagnostic. **Based on #89390**; only the last commit is specific to this PR. "Ignore whitespace changes" also helps here.
2021-10-15Rollup merge of #89821 - crlf0710:unsafe_code_lint_test, r=Mark-SimulacrumMatthias Krüger-0/+32
Add a strange test for `unsafe_code` lint. The current behavior is a little surprising to me. I'm not sure whether people would change it, but at least let me document the current behavior with a test. I learnt about this from the [totally-speedy-transmute](https://docs.rs/totally-speedy-transmute) crate. cc #10599 the original implementation pr.
2021-10-15Rollup merge of #86011 - tlyu:correct-sized-bound-spans, r=estebankMatthias Krüger-57/+67
move implicit `Sized` predicate to end of list In `Bounds::predicates()`, move the implicit `Sized` predicate to the end of the generated list. This means that if there is an explicit `Sized` bound, it will be checked first, and any resulting diagnostics will have a more useful span. Fixes #85998, at least partially. ~~Based on #85979, but only the last 2 commits are new for this pull request.~~ (edit: rebased) A full fix would need to deal with where-clauses, and that seems difficult. Basically, predicates are being collected in multiple stages, and there are two places where implicit `Sized` predicates can be inserted: once for generic parameters, and once for where-clauses. I think this insertion is happening too early, and we should actually do it only at points where we collect all of the relevant trait bounds for a type parameter. I could use some help interpreting the changes to the stderr output. It looks like reordering the predicates changed some diagnostics that don't obviously have anything to do with `Sized` bounds. Possibly some error reporting code is making assumptions about ordering of predicates? The diagnostics for src/test/ui/derives/derives-span-Hash-*.rs seem to have improved, no longer pointing at the type parameter identifier, but src/test/ui/type-alias-impl-trait/generic_duplicate_param_use9.rs became less verbose for some reason. I also ran into an instance of #84970 while working on this, but I kind of expected that could happen, because I'm reordering predicates. I can open a separate issue on that if it would be helpful. ``@estebank`` this seems likely to conflict (slightly?) with your work on #85947; how would you like to resolve that?
2021-10-15test fix: aarch64 atomics are only outlined on Linux.Hans Kratz-0/+1
2021-10-15Auto merge of #89884 - Mark-Simulacrum:revert-enum-discr, r=wesleywiserbors-8/+151
Revert enum discriminants Reverts stabilization of arbitrary enum discriminants per https://github.com/rust-lang/rust/issues/88621#issuecomment-929482371. Reopens #60553.
2021-10-15Add a test for `unsafe_code` lint.Charles Lew-0/+32
2021-10-14Update the wasi-libc built with the wasm32-wasi targetAlex Crichton-1/+1
This commit updates the wasi-libc that we include with the wasm32-wasi target, which brings in various misc fixes such as musl updates and some math tweaks.
2021-10-14add long explanation for E0183cameron1024-3/+4
2021-10-14Auto merge of #89882 - matthiaskrgr:rollup-1dh7pz8, r=matthiaskrgrbors-25/+50
Rollup of 6 pull requests Successful merges: - #89390 (Fix incorrect Box::pin suggestion) - #89433 (Fix ctrl-c causing reads of stdin to return empty on Windows.) - #89823 (Switch order of terms to prevent overflow) - #89865 (Allow static linking LLVM with ThinLTO) - #89873 (Add missing word to `FromStr` trait documentation) - #89878 (Fix missing remaining compiler specific cfg information) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-10-14Revert "Stabilize `arbitrary_enum_discriminant`"Mark Rousskov-8/+151
This reverts commit 7a62f29f3171767090949778ce0f161e930706b9.
2021-10-14Rollup merge of #89865 - tmandry:llvm-static, r=Mark-SimulacrumMatthias Krüger-9/+4
Allow static linking LLVM with ThinLTO There's no reason not to allow this if the user wants it. It works, at least in a local build on linux host. For our use case, we're happy to spend more time building the compiler if it creates a speedup every time we run it, and we've observed speedups like this with clang.
2021-10-14Rollup merge of #89390 - tmandry:issue-72117, r=estebankMatthias Krüger-16/+46
Fix incorrect Box::pin suggestion The suggestion checked if `Pin<Box<T>>` could be coeerced to the expected type, but did not check predicates created by the coercion. We now look for predicates that definitely cannot be satisfied before giving the suggestion. The suggestion is still marked MaybeIncorrect because we allow predicates that are still ambiguous and can't be proven. Fixes #72117.
2021-10-14Auto merge of #88698 - Noble-Mushtak:master, r=nikomatsakis,oli-obkbors-0/+60
Add check that live_region is live in sanitize_promoted This pull request fixes #88434 by adding a check in `sanitize_promoted` to ensure that only regions which are actually live are added to the `liveness_constraints` of the `BorrowCheckContext`. To implement this change, I needed to add a method to `LivenessValues` which gets the elements contained by a region: /// Returns an iterator of all the elements contained by the region `r` crate fn get_elements(&self, row: N) -> impl Iterator<Item = Location> + '_ Then, inside `sanitize_promoted`, we check whether the iterator returned by this method is non-empty to ensure that the region is actually live at at least one location before adding that region to the `liveness_constraints` of the `BorrowCheckContext`. This is my first pull request to the Rust repo, so any feedback on how I can improve this pull request or if there is a better way to fix this issue would be very appreciated.
2021-10-14Use non-checking TLS relocation in aarch64 asm! sym test.Adam Gemmell-1/+1
The checking variant ensures that the offset required is not larger than 12 bits - hence we wouldn't ever need the upper 12 bits.
2021-10-14Auto merge of #89247 - fee1-dead:const-eval-select, r=oli-obkbors-0/+213
Add `const_eval_select` intrinsic Adds an intrinsic that calls a given function when evaluated at compiler time, but generates a call to another function when called at runtime. See https://github.com/rust-lang/const-eval/issues/7 for previous discussion. r? `@oli-obk.`
2021-10-14fix codegen testDeadbeef-2/+2
2021-10-14Fix const stabilityDeadbeef-0/+30
2021-10-14Avoid tupling at the calleeDeadbeef-30/+32
2021-10-14Selecting the Xcode version no longer needed with the macos-11 runners.Hans Kratz-18/+0
2021-10-14Auto merge of #89815 - GuillaumeGomez:associated-consts-sidebar, r=notriddlebors-16/+110
Associated consts sidebar Fixes #89354. A screenshot with `f32`: ![Screenshot from 2021-10-12 15-07-57](https://user-images.githubusercontent.com/3050060/136962078-5faf7b87-7ea5-4d7a-99a4-b2afd77b78e2.png)
2021-10-14Suggest Box::pin when Pin::new is used insteadTyler Mandry-13/+7
2021-10-13Auto merge of #89858 - matthiaskrgr:rollup-evsnr2e, r=matthiaskrgrbors-4/+76
Rollup of 6 pull requests Successful merges: - #89347 (suggestion for typoed crate or module) - #89670 (Improve `std::thread::available_parallelism` docs) - #89757 (Use shallow clones for submodules) - #89759 (Assemble the compiler when running `x.py build`) - #89846 (Add `riscv32imc-esp-espidf` to 1.56 changelog) - #89853 (Update the 1.56.0 release header for consistency) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-10-13Move misplaced commentTyler Mandry-4/+4
2021-10-13Always check predicates in can_coerceTyler Mandry-12/+6
This only changed two tests and I consider both changes an improvement.
2021-10-13Fix incorrect Box::pin suggestionTyler Mandry-0/+36
The suggestion checked if Pin<Box<T>> could be coeerced to the expected type, but did not check predicates created by the coercion. We now look for predicates that definitely cannot be satisfied before giving the suggestion. The suggestion is marked MaybeIncorrect because we allow predicates that are still ambiguous and can't be proven.
2021-10-13Allow static linking LLVM with ThinLTOTyler Mandry-9/+4