bjorn3
a93dace55c
Never create an temporary PassMode::Direct when it is not a valid pass mode for a type
2021-01-23 10:30:39 +01:00
bjorn3
ba484de538
Move some code around
2021-01-23 10:30:39 +01:00
bjorn3
da0309c711
Use PassMode::Pair by default for Abi::ScalarPair for all abi's and in return position
...
Abi::ScalarPair is only ever used for types that don't have a stable
layout anyway so this doesn't break any FFI. It does however reduce the
amount of special casing on the abi outside of the code responsible for
abi specific adjustments to the pass mode.
2021-01-23 10:30:38 +01:00
pierwill
b29353af09
Edit rustc_middle::dep_graph module documentation
...
Co-authored-by: Joshua Nelson <joshua@yottadb.com>
Co-authored-by: Camelid <camelidcamel@gmail.com>
2021-01-22 15:15:05 -08:00
bors
f2de221b00
Auto merge of #81101 - tmiasko:combine-now, r=nagisa
...
Combine instructions immediately
2021-01-22 13:10:48 +00:00
Ömer Sinan Ağacan
e3faeb486a
mir: Improve size_of handling when arg is unsized
2021-01-21 22:17:05 +03:00
LeSeulArtichaut
933bb18956
Use rustc_type_ir::{IntTy,UintTy,FloatTy} instead of the
rustc_ast` ones in types
2021-01-18 21:09:23 +01:00
LeSeulArtichaut
0724573448
Move a few more types to rustc_type_ir
2021-01-18 21:06:12 +01:00
Tomasz Miąsko
508eec49e9
Combine instructions immediately
...
No functional changes intended
2021-01-18 13:15:27 +01:00
Ashley Mannix
d3cc598a02
Rollup merge of #81131 - pierwill:edit-rustc_middle-cast, r=varkor
...
Edit rustc_middle::ty::cast docs
Link to RFC 401 and add missing punctuation.
2021-01-18 21:53:40 +10:00
Ashley Mannix
d3ff9ac8e8
Rollup merge of #81100 - lcnr:encode_with_shorthand, r=oli-obk
...
prevent potential bug in `encode_with_shorthand`.
see 223012169
2021-01-18 21:53:26 +10:00
bors
4253153db2
Auto merge of #80679 - jackh726:predicate-kind-take2, r=lcnr
...
Remove PredicateKind and instead only use Binder<PredicateAtom>
Originally brought up in https://github.com/rust-lang/rust/pull/76814#discussion_r546858171
r? `@lcnr`
2021-01-17 20:49:11 +00:00
pierwill
34debb640b
Edit rustc_middle::ty::cast docs
...
Link to RFC 401 and add missing punctuation.
2021-01-17 11:30:18 -08:00
Jack Huey
c4376ba24a
Whitespace and typo
2021-01-17 12:50:04 -05:00
Jack Huey
d797a85491
Add comment about Encodable/Decodable impl
2021-01-17 12:32:05 -05:00
Mara Bos
8f2ee87965
Rollup merge of #80983 - bjorn3:no_dup_is_dllimport_foreign_item, r=nagisa
...
Remove is_dllimport_foreign_item definition from cg_ssa
It overwrites the definition from rustc_metadata.
cc 218927806
Marked as draft to test if this breaks anything.
2021-01-17 12:24:51 +00:00
Mara Bos
19f97802ca
Rollup merge of #80635 - sexxi-goose:use-place-instead-of-symbol, r=nikomatsakis`
...
Improve diagnostics when closure doesn't meet trait bound
Improves the diagnostics when closure doesn't meet trait bound by modifying `TypeckResuts::closure_kind_origins` such that `hir::Place` is used instead of `Symbol`. Using `hir::Place` to describe which capture influenced the decision of selecting a trait a closure satisfies to (Fn/FnMut/FnOnce, Copy) allows us to show precise path in the diagnostics when `capture_disjoint_field` feature is enabled.
Closes rust-lang/project-rfc-2229/issues/21
r? ```@nikomatsakis```
2021-01-17 12:24:44 +00:00
Jack Huey
c76f47832a
Don't derive TyEncodable/TyDecodable for Binder
2021-01-17 04:13:51 -05:00
Jack Huey
674735b109
Impl EncodableWithShorthand for PredicateKind
2021-01-17 02:49:30 -05:00
Jack Huey
f2ed9a3a8c
Can't use EncodableWithShorthand for Predicate
2021-01-16 19:17:59 -05:00
Jack Huey
dcad9f1893
More review comments
2021-01-16 18:56:37 -05:00
Jack Huey
3dea68de1d
Review changes
2021-01-16 18:56:37 -05:00
Jack Huey
476bd53058
Cleanup
2021-01-16 18:50:34 -05:00
Jack Huey
e76476afe4
Cleanup
2021-01-16 18:40:47 -05:00
Jack Huey
876192e8cd
fold_with not super_fold_with in TypeFoldable impl for Predicate
2021-01-16 18:40:47 -05:00
Jack Huey
4cd6f85a07
Remove PredicateKind
2021-01-16 18:40:47 -05:00
Jack Huey
4cb3d6f983
Intermediate formatting and such
2021-01-16 18:40:47 -05:00
Jack Huey
8278314a8b
Remove PredicateKind::Atom
2021-01-16 18:40:47 -05:00
Bastian Kauschke
84b056d597
prevent potential bug in encode_with_shorthand
.
2021-01-17 00:34:54 +01:00
Aaron Hill
02952372c4
Implement Debug for DefIdForest
2021-01-16 17:56:32 -05:00
Aaron Hill
7afb32557d
Enforce that query results implement Debug
2021-01-16 17:53:02 -05:00
Bastian Kauschke
15f0921d0c
correctly deal with late-bound lifetimes in anon consts
2021-01-16 19:27:42 +01:00
Chris Pardy
2624b3e443
Improve diagnostics for Precise Capture
2021-01-15 19:39:24 -05:00
bors
fcbd305ee9
Auto merge of #80602 - tgnottingham:cratemetadata_you_aint_special, r=michaelwoerister
...
Remove DepKind::CrateMetadata and pre-allocation of DepNodes
Remove much of the special-case handling around crate metadata
dependency tracking by replacing `DepKind::CrateMetadata` and the
pre-allocation of corresponding `DepNodes` with on-demand invocation
of the `crate_hash` query.
2021-01-15 21:13:35 +00:00
Yuki Okushi
ce06df2e4a
Rollup merge of #81008 - tmiasko:generator-layout-err, r=tmandry
...
Don't ICE when computing a layout of a generator tainted by errors
Fixes #80998 .
2021-01-15 18:26:16 +09:00
Yuki Okushi
a584d87417
Rollup merge of #80944 - LingMan:map_or, r=nagisa
...
Use Option::map_or instead of `.map(..).unwrap_or(..)`
``@rustbot`` modify labels +C-cleanup +T-compiler
2021-01-15 18:26:14 +09:00
LingMan
a56bffb4f9
Use Option::map_or instead of .map(..).unwrap_or(..)
2021-01-14 19:23:59 +01:00
Mara Bos
9e9aba87af
Rollup merge of #80829 - jyn514:dep-constructor, r=michaelwoerister
...
Get rid of `DepConstructor`
This removes fully 235 unused functions.
Follow-up to https://github.com/rust-lang/rust/pull/80325#discussion_r548491999 .
r? ``@michaelwoerister``
cc ``@cjgillot``
2021-01-14 18:00:09 +00:00
bors
d03fe84169
Auto merge of #79328 - c410-f3r:hir-if, r=matthewjasper
...
Reintroduce hir::ExprKind::If
Basically copied and paste #59288/https://github.com/rust-lang/rust-clippy/pull/4080 with some modifications.
The vast majority of tests were fixed and now there are only a few remaining. Since I am still unable to figure out the missing pieces, any help with the following list is welcome.
- [ ] **Unnecessary `typeck` exception**: [Cheated on this one to make CI green.](https://github.com/rust-lang/rust/pull/79328/files#diff-3faee9ba23fc54a12b7c43364ba81f8c5660045c7e1d7989a02a0cee1c5b2051 )
- [x] **Incorrect span**: [Span should reference `then` and `else` separately.](https://github.com/rust-lang/rust/pull/79328/files#diff-cf2c46e82222ee4b1037a68fff8a1af3c4f1de7a6b3fd798aacbf3c0475abe3d )
- [x] **New note regarding `assert!`**: [Modified but not "wrong". Maybe can be a good thing?](https://github.com/rust-lang/rust/pull/79328/files#diff-9e0d7c89ed0224e2b62060c957177c27db43c30dfe3c2974cb6b5091cda9cfb5 )
- [x] **Inverted report location**: [Modified but not "wrong". Locations were inverted.](https://github.com/rust-lang/rust/pull/79328/files#diff-f637ce7c1f68d523a165aa9651765df05e36c4d7d279194b1a6b28b48a323691 )
- [x] **`src/test/ui/point-to-type-err-cause-on-impl-trait-return.rs` has weird errors**: [Not sure why this is happening.](https://github.com/rust-lang/rust/pull/79328/files#diff-c823c09660f5b112f95e97e8ff71f1797b6c7f37dbb3d16f8e98bbaea8072e95 )
- [x] **Missing diagnostic**: [???](https://github.com/rust-lang/rust/pull/79328/files#diff-6b8ab09360d725ba4513933827f9796b42ff9522b0690f80b76de067143af2fc )
2021-01-14 14:41:58 +00:00
Tomasz Miąsko
5ea1d0e865
Don't ICE when computing a layout of a generator tainted by errors
2021-01-14 13:13:13 +01:00
bors
180fdffa17
Auto merge of #80654 - Aaron1011:fix/dummy-span-ctxt, r=wesleywiser
...
Properly handle `SyntaxContext` of dummy spans in incr comp
Fixes #80336
Due to macro expansion, we may end up with spans with an invalid
location and non-root `SyntaxContext`. This commits preserves the
`SyntaxContext` of such spans in the incremental cache, and ensures
that we always hash the `SyntaxContext` when computing the `Fingerprint`
of a `Span`
Previously, we would discard the `SyntaxContext` during serialization to
the incremental cache, causing the span's `Fingerprint` to change across
compilation sessions.
2021-01-13 23:24:31 +00:00
Jacob Pratt
edf2e3725e
Use unsigned_abs throughout repository
2021-01-13 17:58:08 -05:00
bors
a62a76047e
Auto merge of #77524 - Patryk27:fixes/66228, r=estebank
...
Rework diagnostics for wrong number of generic args (fixes #66228 and #71924 )
This PR reworks the `wrong number of {} arguments` message, so that it provides more details and contextual hints.
2021-01-13 20:35:58 +00:00
Aaron Hill
482a67d20f
Properly handle SyntaxContext
of dummy spans in incr comp
...
Fixes #80336
Due to macro expansion, we may end up with spans with an invalid
location and non-root `SyntaxContext`. This commits preserves the
`SyntaxContext` of such spans in the incremental cache, and ensures
that we always hash the `SyntaxContext` when computing the `Fingerprint`
of a `Span`
Previously, we would discard the `SyntaxContext` during serialization to
the incremental cache, causing the span's `Fingerprint` to change across
compilation sessions.
2021-01-13 15:20:29 -05:00
bjorn3
7aca2fa7c6
Remove is_dllimport_foreign_item def from cg_ssa
...
It overwrites the definition from rustc_metadata
2021-01-13 18:47:26 +01:00
bors
fc93e4719c
Auto merge of #80960 - Dylan-DPC:rollup-89tri8x, r=Dylan-DPC
...
Rollup of 10 pull requests
Successful merges:
- #78901 (diagnostics: Note capturing closures can't be coerced to fns)
- #79588 (Provide more information for HRTB lifetime errors involving closures)
- #80232 (Remove redundant def_id lookups)
- #80662 (Added support for i386-unknown-linux-gnu and i486-unknown-linux-gnu)
- #80736 (use Once instead of Mutex to manage capture resolution)
- #80796 (Update to LLVM 11.0.1)
- #80859 (Fix --pretty=expanded with --remap-path-prefix)
- #80922 (Revert "Auto merge of #76896 - spastorino:codegen-inline-fns2)
- #80924 (Fix rustdoc --test-builder argument parsing)
- #80935 (Rename `rustc_middle::lint::LevelSource` to `LevelAndSource`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2021-01-13 04:29:45 +00:00
Dylan DPC
5b90fe1c30
Rollup merge of #80935 - pierwill:rustc_middle-levelandsource, r=petrochenkov
...
Rename `rustc_middle::lint::LevelSource` to `LevelAndSource`
This continues work in https://github.com/rust-lang/rust/pull/80274 to improve code readability.
This naming follows a pattern seen elsewhere in the compiler (e.g. [`rustc_middle::ty::TypeAndMut`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TypeAndMut.html )).
2021-01-13 03:20:27 +01:00
Dylan DPC
d64e703e4f
Rollup merge of #80922 - spastorino:revert-inline-always-in-debug, r=wesleywiser
...
Revert "Auto merge of #76896 - spastorino:codegen-inline-fns2
This reverts commit ddf2cc7f8e
, reversing
changes made to 937f629535
.
As `@alexcrichton` pointed out in https://github.com/rust-lang/rust/issues/80916 there's a problem with the taken approach.
2021-01-13 03:20:23 +01:00
Dylan DPC
ac7267a5e7
Rollup merge of #80232 - bugadani:roundtrip, r=estebank
...
Remove redundant def_id lookups
Simplify `DefId -> LocalDefId -> HirId -> LocalDefId -> DefId` chains.
2021-01-13 03:20:13 +01:00
bors
150d1fee04
Auto merge of #79322 - jyn514:refactor-impl, r=estebank
...
Separate out a `hir::Impl` struct
This makes it possible to pass the `Impl` directly to functions, instead
of having to pass each of the many fields one at a time. It also
simplifies matches in many cases.
See `rustc_save_analysis::dump_visitor::process_impl` or `rustdoc::clean::clean_impl` for a good example of how this makes `impl`s easier to work with.
r? `@petrochenkov` maybe?
2021-01-13 01:40:41 +00:00