about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2021-09-21Handle type params in insig dtorsAman Arora-27/+61
2021-09-21Fix match for placeholder regionAnkit Chandawala-1/+4
2021-09-21Update testsAman Arora-559/+229
2021-09-212229: Annotate stdlib with insignficant dtorsAman Arora-0/+9
2021-09-212229: Early exit when we see an insigificant dropAman Arora-9/+33
2021-09-21Impl `Error` for `FromSecsError` without foreign typembartlett21-1/+2
Using it through the crate-local path in `std` means that it shouldn't make an "Implementations on Foreign Types" section in the `std::error::Error` docs.
2021-09-21Auto merge of #87234 - cjgillot:lower-mono, r=petrochenkovbors-258/+163
Lower only one HIR owner at a time Based on https://github.com/rust-lang/rust/pull/83723 Additional diff is here: https://github.com/cjgillot/rust/compare/ownernode...lower-mono Lowering is very tangled and has a tendency to intertwine the transformation of different items. This PR aims at simplifying the logic by: - moving global analyses to the resolver (item_generics_num_lifetimes, proc_macros, trait_impls); - removing a few special cases (non-exported macros and use statements); - restricting the amount of available information at any one time; - avoiding back-and-forth between different owners: an item must now be lowered all at once, and its parent cannot refer to its nodes. I also removed the sorting of bodies by span. The diagnostic ordering changes marginally, since definitions are pretty much sorted already according to the AST. This uncovered a subtlety in thir-unsafeck. (While these items could logically be in different PRs, the dependency between commits and the amount of conflicts force a monolithic PR.)
2021-09-21`crates` is already deterministiclcnr-43/+29
2021-09-21use indexmap instead of hashmaplcnr-71/+10
2021-09-21renamelcnr-8/+8
2021-09-21Fix link in Ipv6Addr::to_ipv4 docsArtyom Pavlov-1/+1
2021-09-20Adjust documentation for compatibility with 2021Mark Rousskov-28/+35
This also adjusts the lint docs generation to accept (and ignore) an allow attribute, rather than expecting the documentation to be immediately followed by the lint name.
2021-09-20Remove Drop-caused migration-added capturesMark Rousskov-4/+1
All of these were added due to insignificant Drop types being present.
2021-09-20Remove Drop-caused migration-added capturesMark Rousskov-30/+18
All of these were added due to insignificant Drop types being present.
2021-09-20Drop migration lint for Send/Sync bound in LTO backendMark Rousskov-5/+2
The closure in question does not require Send/Sync impls, so it's OK to lose them when we just capture data.0.
2021-09-20Adjust tidy edition lint to force 2021Noah Lev-9/+35
This has a few exceptions today (library crates, a few submodules), but is mostly accurate.
2021-09-20Migrate to 2021Mark Rousskov-87/+87
2021-09-21Auto merge of #87830 - ↵bors-4/+120
hkmatsumoto:suggest-brackets-for-array-esque-block-expr, r=estebank Suggest replacing braces for brackets on array-esque invalid block expr Newcomers may write `{1, 2, 3}` for making arrays, and the current error message is not informative enough to quickly convince them what is needed to fix the error. This PR implements a diagnostic for this case, and its output looks like this: ```text error: this code is interpreted as a block expression, not an array --> src/lib.rs:1:22 | 1 | const FOO: [u8; 3] = { | ______________________^ 2 | | 1, 2, 3 3 | | }; | |_^ | = note: to define an array, one would use square brackets instead of curly braces help: try using [] instead of {} | 1 | const FOO: [u8; 3] = [ 2 | 1, 2, 3 3 | ]; | ``` Fix #87672
2021-09-21Revert the rustdoc box syntax removalest31-54/+47
It turned out to cause (minor) perf regressions.
2021-09-21Fix ICE with `--cap-lints=allow` and `-Zfuel=...=0`Fabian Wolff-1/+14
2021-09-20Implement #[link_ordinal] attribute in the context of #[link(kind = ↵Richard Cobbe-23/+201
"raw-dylib")].
2021-09-20Register lint renameF3real-0/+1
2021-09-20Update LLVM submoduleNikita Popov-0/+0
2021-09-21Disable visible path calculation for PrettyPrinter in Ok path of compilerAlik Aslanyan-29/+54
2021-09-20Don't use projection cache or candidate cache in intercrate modeAaron Hill-6/+43
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-09-20Re-enable the `src/test/debuginfo/mutex.rs` test on WindowsWesley Wiser-7/+5
This test required a newer version of cdb than was previously enabled in CI thus leading to some bitrot in the test since the time it was originally created. With the update to the `windows-latest` image last week, we're now running this test in CI and thus uncovered the regression. I've updated the test and it now passes.
2021-09-20Fix ICE when `indirect_structural_match` is allowedFabian Wolff-6/+30
2021-09-20Auto merge of #89117 - michaelwoerister:update-to-odht-0.3, r=wesleywiserbors-4/+4
Update odht crate to 0.3.0 This version of odht contains a potential fix for #89085. r? `@wesleywiser`
2021-09-20Retry on some download errors in lintcheckJason Newcomb-1/+19
2021-09-20Avoid the overflow with rustc+debugassertions in issue-44406Oli Scherer-7/+24
2021-09-20rustc_codegen_llvm: make sse4.2 imply crc32 for LLVM 14Augie Fackler-34/+83
This fixes compiling things like the `snap` crate after https://reviews.llvm.org/D105462. I added a test that verifies the additional attribute gets specified, and confirmed that I can build cargo with both LLVM 13 and 14 with this change applied.
2021-09-20Add some more tracingOli Scherer-3/+13
2021-09-20Auto merge of #89069 - bjorn3:optimize_sharded_new, r=Mark-Simulacrumbors-19/+1
Use <[T; N]>::map in Sharded instead of SmallVec and unsafe code This results in a lot less assembly
2021-09-20Add a doc comment to infer_projectionOli Scherer-0/+6
2021-09-20Use `ty::Error` for opaque types with errors in its bounds.Oli Scherer-38/+10
This reduces unhelpful diagnostics down the road.
2021-09-20Generate inference vars and obligations for projections in opaque types ↵Oli Scherer-22/+36
instead of trying to normalize them.
2021-09-20Inline a function that is only called onceOli Scherer-10/+4
2021-09-20Use tracing debugging in `fold_opaque_ty`Oli Scherer-14/+6
2021-09-20Add helper function to `InferCtxt` that generates inference vars for ↵Oli Scherer-11/+35
unresolved associated types
2021-09-20Update odht crate to 0.3.0Michael Woerister-4/+4
This version of odht contains a potential fix for #89085.
2021-09-20:arrow_up: rust-analyzerLaurențiu Nicola-32/+16
2021-09-20Enable 2021 compatibility lints for all in-tree codeMark Rousskov-1/+4
This just applies the suggested fixes from the compatibility warnings, leaving any that are in practice spurious in. This is primarily intended to provide a starting point to identify possible fixes to the migrations (e.g., by avoiding spurious warnings). A secondary commit cleans these up where they are false positives (as is true in many of the cases).
2021-09-20Enable 2021 compatibility lints for all in-tree codeMark Rousskov-34/+52
This just applies the suggested fixes from the compatibility warnings, leaving any that are in practice spurious in. This is primarily intended to provide a starting point to identify possible fixes to the migrations (e.g., by avoiding spurious warnings). A secondary commit cleans these up where they are false positives (as is true in many of the cases).
2021-09-20Adjust to SourceType::InTree in several placesMark Rousskov-5/+3
These were left over in migrations to subtrees, which should generally be treated as-if it was local. Also fixes a warning caused by this change.
2021-09-20Workaround ICE with if-let and RFC 2229Mark Rousskov-9/+8
2021-09-20Mark unsafe NonZero*::unchecked_(add|mul) as constIago-lito-2/+2
2021-09-20no ensureEllen-3/+6
2021-09-20Expand BOX_VEC to BOX_COLLECTIONF3real-48/+97
2021-09-20Auto merge of #88321 - glaubitz:m68k-linux, r=wesleywiserbors-2/+196
Add initial support for m68k This patch series adds initial support for m68k making use of the new M68k backend introduced with LLVM-13. Additional changes will be needed to be able to actually use the backend for this target.
2021-09-20Bless incremental tests.Camille GILLOT-7/+11