summary refs log tree commit diff
path: root/src/test
AgeCommit message (Collapse)AuthorLines
2021-10-18Rework the equivalent test to work with sidebar-items.jsLoïc BRANSTETT-3/+3
2021-10-18Add equivalent test in src/test/rustdocLoïc BRANSTETT-0/+14
2021-10-18Add regression test for #89852Loïc BRANSTETT-0/+17
2021-10-14Revert "Stabilize `arbitrary_enum_discriminant`"Mark Rousskov-8/+114
This reverts commit 7a62f29f3171767090949778ce0f161e930706b9.
2021-10-14Add regression test for ice 89574Gary Guo-10/+41
2021-10-14Add tests for panic and [debug_]assert in Rust 2021.Mara Bos-0/+125
2021-10-13Add regression testGary Guo-0/+40
(cherry picked from commit d7f8a0678012f8a0fa24609345b777af4a6a4c04)
2021-10-13Turn tcx.vtable_allocation() into a query.Michael Woerister-1/+15
(cherry picked from commit b7cc99142ad0cfe47e2fe9f7a82eaf5b672c0573)
2021-10-13Remove untracked vtable-const-allocation cache from tcxMichael Woerister-0/+27
(cherry picked from commit a1e2c0f0ad9e787b5ff2844112fc2324511adf34)
2021-10-13Fix unsound optimization with explicit variant discriminantsFabian Wolff-0/+18
(cherry picked from commit 529c35331bb3817e90b5099c33d97aa55ad2713d)
2021-10-13Fix testRoxane-9/+5
(cherry picked from commit d0e2b607de9b3b4e7e6495206a21847201248144)
2021-10-132229: Consume IfLet exprRoxane-0/+40
(cherry picked from commit 87010206adc0123277d7e355893e83551a28814f)
2021-10-04Bless src/test/rustdoc-ui/doctest-edition.stderrEric Huss-1/+1
The backport of #89277 needed adjustment due to another PR (#87915 - Use smaller spans for some structured suggestions) causing the test to have a slightly different span.
2021-10-04Auto merge of #89277 - jyn514:codeblock-edition, r=GuillaumeGomezbors-0/+38
Use the correct edition for syntax highlighting doctests Previously it would unconditionally use edition 2015, which was incorrect. Helps with https://github.com/rust-lang/rust/issues/89135 in that you can now override the doctest to be 2018 edition instead of being forced to fix the error. This doesn't resolve any of the deeper problems that rustdoc disagrees with most rust users on what a code block is. cc `@Mark-Simulacrum`
2021-10-04Rollup merge of #89208 - wesleywiser:rfc_2229_droporder, r=nikomatsakisJubilee-0/+413
[rfc 2229] Drop fully captured upvars in the same order as the regular drop code Currently, with the new 2021 edition, if a closure captures all of the fields of an upvar, we'll drop those fields in the order they are used within the closure instead of the normal drop order (the definition order of the fields in the type). This changes that so we sort the captured fields by the definition order which causes them to drop in that same order as well. Fixes rust-lang/project-rfc-2229#42 r? `@nikomatsakis`
2021-10-04Auto merge of #89144 - sexxi-goose:insig_stdlib, r=nikomatsakisbors-527/+240
2229: Mark insignificant dtor in stdlib I looked at all public [stdlib Drop implementations](https://doc.rust-lang.org/stable/std/ops/trait.Drop.html#implementors) and categorized them into Insigificant/Maybe/Significant Drop. Reasons are noted here: https://docs.google.com/spreadsheets/d/19edb9r5lo2UqMrCOVjV0fwcSdS-R7qvKNL76q7tO8VA/edit#gid=1838773501 One thing missing from this PR is tagging HashMap as insigificant destructor as that needs some discussion. r? `@Mark-Simulacrum` cc `@nikomatsakis`
2021-10-04Auto merge of #89125 - Aaron1011:remove-intercrate-cache, r=jackh726bors-0/+1
Don't use projection cache or candidate cache in intercrate mode Fixes #88969 It appears that *just* disabling the evaluation cache (in #88994) leads to other issues involving intercrate mode caching. I suspect that since we now always end up performing the full evaluation in intercrate mode, we end up 'polluting' the candidate and projection caches with results that depend on being in intercrate mode in some way. Previously, we might have hit a cached evaluation (stored during non-intercrate mode), and skipped doing this extra work in intercrate mode. The whole situation with intercrate mode caching is turning into a mess. Ideally, we would remove intercrate mode entirely - however, this might require waiting on Chalk.
2021-10-04Rollup merge of #88996 - Aaron1011:trailing-macro-semi, r=petrochenkovYuki Okushi-0/+34
Fix linting when trailing macro expands to a trailing semi When a macro is used in the trailing expression position of a block (e.g. `fn foo() { my_macro!() }`), we currently parse it as an expression, rather than a statement. As a result, we ended up using the `NodeId` of the containing statement as our `lint_node_id`, even though we don't normally do this for macro calls. If such a macro expands to an expression with a `#[cfg]` attribute, then the trailing statement can get removed entirely. This lead to an ICE, since we were usng the `NodeId` of the expression to emit a lint. Ths commit makes us skip updating `lint_node_id` when handling a macro in trailing expression position. This will cause us to lint at the closest parent of the macro call.
2021-10-04Auto merge of #88979 - tmiasko:no-remove-zsts-in-generators, r=oli-obkbors-0/+16
Disable RemoveZsts in generators to avoid query cycles Querying layout of a generator requires its optimized MIR. Thus computing layout during MIR optimization of a generator might create a query cycle. Disable RemoveZsts in generators to avoid the issue (similar approach is used in ConstProp transform already). Fixes #88972.
2021-09-16Disable debuginfo test on Windows that fails in new cdb version.Eric Huss-0/+2
(cherry picked from commit 66a19876f73427ecf849dfd90d5618c70c54bd6f)
2021-09-16regression test for issue #88583.Felix S. Klock II-0/+15
(cherry picked from commit 35370a7ba3d52bfe2a6121a0eaccbc240ed9559d)
2021-09-16Revert "Implement Anonymous{Struct, Union} in the AST"Felix S. Klock II-138/+0
This reverts commit 059b68dd677808e14e560802d235ad40beeba71e. Note that this was manually adjusted to retain some of the refactoring introduced by commit 059b68dd677808e14e560802d235ad40beeba71e, so that it could likewise retain the correction introduced in commit 5b4bc05fa57be19bb5962f4b7c0f165e194e3151 (cherry picked from commit 91feb76d133952825e3eb32bed399ec6e4bd9219)
2021-09-16Revert "Add test for restriction of anonymous types on validation"Felix S. Klock II-227/+0
This reverts commit 8a1dd6918bb686a960ad5ced46a16b5b59668464. (cherry picked from commit f38ec9ca34c501b2a618178a14fe2a3c9979ddc9)
2021-09-16Revert "Add test for pretty printing anonymous types"Felix S. Klock II-24/+0
This reverts commit d59b1f1ef4be692b67c1ff1b49ec810fd59452cf. (cherry picked from commit 2041fb1a2dc06237ffb63eff8fcfaa93abf67952)
2021-09-16Add a regression test for https://github.com/rust-lang/rust/issues/88649hyd-dev-0/+18
(cherry picked from commit 214eef043501a896ec375fc831891cf1dc09219f)
2021-09-16Change scope of temporaries in match guardsMatthew Jasper-19/+20
Each pattern in a match arm has its own copy of the match guard in MIR, with its own temporary, so it has to be dropped before the the guards are joined to the single copy of the arm. (cherry picked from commit ad7f109bfaa92f84bbcdbb5d376edfd8e66812fd)
2021-09-14Fix 2021 `dyn` suggestion that used code as labelNoah Lev-0/+21
The arguments to `span_suggestion` were in the wrong order, so the error looked like this: error[E0783]: trait objects without an explicit `dyn` are deprecated --> src/test/ui/editions/dyn-trait-sugg-2021.rs:10:5 | 10 | Foo::hi(123); | ^^^ help: <dyn Foo>: `use `dyn`` Now the error looks like this, as expected: error[E0783]: trait objects without an explicit `dyn` are deprecated --> src/test/ui/editions/dyn-trait-sugg-2021.rs:10:5 | 10 | Foo::hi(123); | ^^^ help: use `dyn`: `<dyn Foo>` This issue was only present in the 2021 error; the 2018 lint was correct. (cherry picked from commit 486d79f1243135564931c574ce5cfff946ee3867)
2021-09-14fix ICE on hidden tuple variant fieldsEmil Gardström-0/+34
this also renders them as `_`, which rustdoc previously did not. (cherry picked from commit 4a915ac8d9f33567b77b23e90557f92860aa6db4)
2021-09-10Temporarily ignore some debuginfo tests on windows.Mara Bos-0/+12
2021-09-092229: Don't move out of drop typeAman Arora-0/+206
2021-09-04Auto merge of #88598 - estebank:type-ascription-can-die-in-a-fire, r=wesleywiserbors-0/+11
Detect bare blocks with type ascription that were meant to be a `struct` literal Address part of #34255. Potential improvement: silence the other knock down errors in `issue-34255-1.rs`.
2021-09-03Auto merge of #88482 - athei:add-import-test, r=the8472bors-0/+30
Add regression test for a spurious import This PR adds a test that verifies that the bug described in the linked issue does not creep back into the code. In essence it checks that compiling some specific code (that uses 128 bit multiplication) with a specific set of compiler options does not lead to a spurious import of a panic function. I noticed that other wasm tests use `# only-wasm32-bare` in their `Makefile`. This will skip the test for me. I did not find out how to run this test locally. Maybe someone can help. closes #78744 r? `@jyn514`
2021-09-03Auto merge of #88572 - matthewjasper:if-let-scoping-fix, r=oli-obkbors-447/+401
Fix drop handling for `if let` expressions MIR lowering for `if let` expressions is now more complicated now that `if let` exists in HIR. This PR adds a scope for the variables bound in an `if let` expression and then uses an approach similar to how we handle loops to ensure that we reliably drop the correct variables. Closes #88307 cc `@flip1995` `@richkadel` `@c410-f3r`
2021-09-03Update coverage testsMatthew Jasper-5/+5
2021-09-03Auto merge of #88597 - cjgillot:lower-global, r=petrochenkovbors-128/+128
Move global analyses from lowering to resolution Split off https://github.com/rust-lang/rust/pull/87234 r? `@petrochenkov`
2021-09-03Detect bare blocks with type ascription that were meant to be a `struct` literalEsteban Kuber-0/+11
Address part of #34255. Potential improvement: silence the other knock down errors in `issue-34255-1.rs`.
2021-09-03Auto merge of #88428 - petrochenkov:stmtid, r=Aaron1011bors-0/+25
expand: Treat more macro calls as statement macro calls This PR implements the suggestion from https://github.com/rust-lang/rust/pull/87981#issuecomment-906641052 and treats fn-like macro calls inside `StmtKind::Item` and `StmtKind::Semi` as statement macro calls, which is consistent with treatment of attribute invocations in the same positions and with token-based macro expansion model in general. This also allows to remove a special case in `NodeId` assignment (previously tried in #87779), and to use statement `NodeId`s for linting (`assign_id!`). r? `@Aaron1011`
2021-09-03Auto merge of #88386 - estebank:unmatched-delims, r=jackh726bors-64/+64
Point at unclosed delimiters as part of the primary MultiSpan Both the place where the parser encounters a needed closed delimiter and the unclosed opening delimiter are important, so they should get the same level of highlighting in the output. _Context: https://twitter.com/mwk4/status/1430631546432675840_
2021-09-03Auto merge of #88363 - michaelwoerister:remapped-diagnostics, r=estebankbors-0/+18
Path remapping: Make behavior of diagnostics output dependent on presence of --remap-path-prefix. This PR fixes a regression (#87745) with `--remap-path-prefix` where the flag stopped causing diagnostic messages to be remapped as well. The regression was introduced in https://github.com/rust-lang/rust/pull/83813 where we erroneously assumed that remapping of diagnostic messages was not desired anymore (because #70642 partially undid that functionality with nobody objecting). The issue is fixed by making `--remap-path-prefix` remap diagnostic messages again, including for paths that have been remapped in upstream crates (e.g. the standard library). This means that "sysroot-localization" (implemented in #70642) is also disabled if `rustc` is invoked with `--remap-path-prefix`. The assumption is that once someone starts explicitly remapping paths they also don't want paths to their local Rust installation in their build output. In the future we might want to give more fine-grained control over this behavior via compiler flags (see https://github.com/rust-lang/rfcs/pull/3127 for a related RFC). For now this PR is intended as a regression fix. This PR is an alternative to https://github.com/rust-lang/rust/pull/88191, which makes diagnostic messages be remapped unconditionally. That approach, however, would effectively revert #70642. Fixes https://github.com/rust-lang/rust/issues/87745. cc `@cbeuw` r? `@ghost`
2021-09-02Auto merge of #85868 - Aaron1011:projection-cache, r=jackh726bors-32/+33
Preserve most sub-obligations in the projection cache Fixes https://github.com/rust-lang/rust/issues/85360 When we evaluate a projection predicate, we may produce sub-obligations. During trait evaluation, evaluating these sub-obligations might cause us to produce `EvaluatedToOkModuloRegions`. When we cache the result of projection in our projection cache, we try to throw away some of the sub-obligations, so that we don't need to re-evaluate/process them the next time we need to perform this particular projection. However, we may end up throwing away predicates that will (recursively) evaluate to `EvaluatedToOkModuloRegions`. If we do, then the result of evaluating a predicate will depend on the state of the predicate cache - this is global untracked state, which interacts badly with incremental compilation. To fix this, we now only discard global predicates that evaluate to `EvaluatedToOk`. This ensures that any predicates that (may) evaluate to `EvaluatedToOkModuloRegions` are kept in the cache, and influence the results of any queries which perform this projection.
2021-09-02Bless ast-json tests.Camille GILLOT-2/+2
2021-09-02Rollup merge of #88592 - b-naber:region_substs, r=oli-obkMara Bos-0/+26
Fix ICE in const check Fixes https://github.com/rust-lang/rust/issues/88433
2021-09-02Rollup merge of #88573 - camelid:rustdoc-assoc-panic, r=GuillaumeGomezMara Bos-0/+32
rustdoc: Don't panic on ambiguous inherent associated types Instead, return `Type::Infer` since compilation should fail anyway. That's how rustdoc handles `hir::TyKind::Err`s, so this just extends that behavior to `ty::Err`s when analyzing associated types. For some reason, the error is printed twice with rustdoc (though only once with rustc). I'm not sure why that is, but it's better than panicking. This commit also makes rustdoc fail early in the non-projection, non-error case, instead of returning a `Res::Err` that would likely cause rustdoc to panic later on. This change is originally from #88379. r? `@GuillaumeGomez`
2021-09-02Rollup merge of #88565 - lqd:issue-83190, r=spastorinoMara Bos-0/+49
Add regression test for issue 83190 Reduced from `bioyino-metric` by ````@hellow554```` and myself. Closes #83190. r? ````@spastorino````
2021-09-02Rollup merge of #88543 - m-ou-se:closure-migration-macro-block-fragment, ↵Mara Bos-0/+86
r=estebank Improve closure dummy capture suggestion in macros. Fixes some cases of https://github.com/rust-lang/rust/issues/88440 Fixes https://crater-reports.s3.amazonaws.com/pr-87190-3/try%23a7a572ce3edd6d476191fbfe92c9c1986e009b34/reg/rcodec-1.0.1/log.txt
2021-09-02Rollup merge of #88512 - m-ou-se:array-into-iter-deref-stuff, r=estebankMara Bos-82/+31
Upgrade array_into_iter lint to include Deref-to-array types. Fixes https://github.com/rust-lang/rust/issues/88099 Fixes the issue mentioned here: https://github.com/rust-lang/rust/pull/84147#issuecomment-819000436
2021-09-02Report cycle error using 'deepest' obligation in the cycleAaron Hill-19/+38
2021-09-02Preserve most sub-obligations in the projection cacheAaron Hill-33/+15
2021-09-02add testb-naber-0/+26
2021-09-02expand: Treat more macro calls as statement macro callsVadim Petrochenkov-0/+25