Esteban Kuber
b825b0fe63
Fix rebase and clippy tests
2021-12-13 17:09:16 +00:00
Esteban Kuber
f640438b40
Keep info on pre-desugaring expression for better "incorrect .await" suggestion
...
Keep the `HirId` of `.await`ed expressions so in the case of a `fn` call
on on a sync `fn`, we can suggest maybe turning it into an `async fn`.
2021-12-13 17:09:16 +00:00
Esteban Kuber
d45e030c04
Fix mistake
2021-12-13 17:09:15 +00:00
Esteban Kuber
4f2b1c0650
Remove unnecessary argument
2021-12-13 17:09:15 +00:00
Esteban Kuber
79749d64fa
Remove yet more output from for-loop and ? errors
2021-12-13 17:09:15 +00:00
Esteban Kuber
81a3b90afd
Further silence ? errors
2021-12-13 17:09:15 +00:00
Esteban Kuber
caf0c1bb1c
Reduce verbosity for ? on non-Try expressions
2021-12-13 17:09:15 +00:00
Esteban Kuber
75b62757e4
Reduce verbosity when calling for-loop on non-Iterator expression
2021-12-13 17:09:15 +00:00
Esteban Kuber
7227a87371
When .await is called on a non-Future expression, suggest removal
...
Keep track of the origin of a `T: Future` obligation when caused by an
`.await` expression.
Address #66731 .
2021-12-13 17:09:15 +00:00
pierwill
535278aa51
Add run-make-fulldeps test
...
Implement RUSTC_FORCE_INCR_COMP_ARTIFACT_HEADER
Also makes minor docs edits.
2021-12-13 10:24:06 -06:00
pierwill
7d7dfba350
Include rustc version in rustc_span::StableCrateId
...
Normalize symbol hashes in compiletest.
Remove DefId sorting
2021-12-13 10:24:05 -06:00
Jakub Beránek
ac08f13948
Remove sort from hashing hashset, treeset and treemap
2021-12-13 16:11:28 +01:00
Jack Huey
48974158f1
Adjust wording for review
2021-12-13 10:06:57 -05:00
Alan Egerton
5920a1d948
Avoid cloning refcounted types during folding
2021-12-13 14:27:26 +00:00
Lucas Kent
fae40c5070
Suggest to specify a target triple when eh_personality lang item is missing
2021-12-14 00:04:15 +11:00
Andy Wang
5e481d07d2
Provide object files to llvm-dwp instead of .dwo
2021-12-13 12:09:10 +00:00
Andy Wang
707f72c1df
Revert "Produce .dwo file for Packed as well"
...
This reverts commit 32810223c6 .
2021-12-13 11:40:59 +00:00
bors
a737592a3d
Auto merge of #91654 - nikic:llvmbc-section-flags, r=nagisa
...
Use module inline assembly to embed bitcode
In LLVM 14, our current method of setting section flags to avoid
embedding the `.llvmbc` section into final compilation artifacts
will no longer work, see issue #90326 . The upstream recommendation
is to instead embed the entire bitcode using module-level inline
assembly, which is what this change does.
I've kept the existing code for platforms where we do not need to
set section flags, but possibly we should always be using the
inline asm approach (which would have to look a bit different for MachO).
r? `@nagisa`
2021-12-13 10:35:28 +00:00
ouz-a
a01b13dede
formatting
2021-12-13 12:59:31 +03:00
Axel Cohen
75d1208df8
Fix conditions for using legacy or new pm plugins
2021-12-13 10:43:02 +01:00
Axel Cohen
c4f29fa0ed
Use the existing llvm-plugins option for both legacy and new pm registration
2021-12-13 10:41:43 +01:00
Axel Cohen
97cf461b8f
Add a codegen option to allow loading LLVM pass plugins
2021-12-13 10:40:44 +01:00
ouz-a
01948e2f45
Looser check for binary_op_overflow
2021-12-13 12:35:55 +03:00
Konrad Borowski
23e4aeb140
Stabilize const_cstr_unchecked
2021-12-13 08:43:19 +01:00
bors
6d6d0899c8
Auto merge of #91626 - klensy:json-less-alloc, r=petrochenkov
...
rustc_serialize: don't allocate `String`s as key for `BTreeMap`, when `str` is enough
2021-12-13 07:30:38 +00:00
Jack Huey
7cbd0dcf93
I wrote these functions, I should use them dang it
2021-12-13 01:10:39 -05:00
Jack Huey
8a28c172a1
Instead of checking for exact bounds, try to prove them
2021-12-13 00:48:46 -05:00
bors
4a7fb971c9
Auto merge of #91569 - erikdesjardins:vt-align, r=nikic
...
Attach range metadata to alignment loads from vtables
...because alignment is always nonzero[0].
This helps eliminate redundant runtime alignment checks, when a DST
is a field of a struct whose remaining fields have alignment 1.
Fixes #91438 .
---
[0]:
The [reference](https://doc.rust-lang.org/reference/type-layout.html ) says that alignment must be at least 1.
And in practice, the alignment field for all vtables is generated here: 772d51f887/compiler/rustc_middle/src/ty/vtable.rs (L68-L90) and is nonzero because [`Align::bytes()`](772d51f887/compiler/rustc_target/src/abi/mod.rs (L547-L549) ) is always nonzero.
2021-12-13 04:29:20 +00:00
Ellen
5ab1329b58
hurray for portable simd finding a nice test for this FIXME
2021-12-13 03:16:00 +00:00
Cormac Relf
9b45713b6c
let-else: fix attribute aliasing + add test for issue 89807
2021-12-13 14:02:41 +11:00
Cormac Relf
af2f0e6b7c
let-else: add hir::Let and type check it like a hir::Local
...
unify typeck of hir::Local and hir::Let
remove extraneous pub(crate/super)
2021-12-13 14:02:19 +11:00
Tomasz Miąsko
3f2a1c9c17
Use OutputFilenames to generate output file for -Zllvm-time-trace
...
The resulting profile will include the crate name and will be stored in
the `--out-dir` directory.
This implementation makes it convenient to use LLVM time trace together
with cargo, in the contrast to the previous implementation which would
overwrite profiles or store them in `.cargo/registry/..`.
2021-12-13 00:00:00 +00:00
Jakub Beránek
6e33d3ecc2
Use modular arithmetic
2021-12-12 23:48:11 +01:00
bors
22f8bde876
Auto merge of #91549 - fee1-dead:const_env, r=spastorino
...
Eliminate ConstnessAnd again
Closes #91489 .
Closes #89432 .
Reverts #91491 .
Reverts #89450 .
r? `@spastorino`
2021-12-12 22:15:32 +00:00
Jakub Beránek
a5f5f6b689
Avoid sorting in hash map stable hashing
2021-12-12 20:57:24 +01:00
bors
6bda5b331c
Auto merge of #90716 - euclio:libloading, r=cjgillot
...
replace dynamic library module with libloading
This PR deletes the `rustc_metadata::dynamic_lib` module in favor of the popular and better tested [`libloading` crate](https://github.com/nagisa/rust_libloading/ ).
We don't benefit from `libloading`'s symbol lifetimes since we end up leaking the loaded library in all cases, but the call-sites look much nicer by improving error handling and abstracting away some transmutes. We also can remove `rustc_metadata`'s direct dependencies on `libc` and `winapi`.
This PR also adds an exception for `libloading` (and its license) to tidy, so this will need sign-off from the compiler team.
2021-12-12 17:28:52 +00:00
bors
753e569c9c
Auto merge of #90207 - BoxyUwU:stabilise_cg_defaults, r=lcnr
...
Stabilise `feature(const_generics_defaults)`
`feature(const_generics_defaults)` is complete implementation wise and has a pretty extensive test suite so I think is ready for stabilisation.
needs stabilisation report and maybe an RFC 😅
r? `@lcnr`
cc `@rust-lang/project-const-generics`
2021-12-12 14:24:23 +00:00
Amanieu d'Antras
1c48025685
Address review feedback
2021-12-12 11:26:59 +00:00
bors
4c9bdf4cbb
Auto merge of #90423 - Aaron1011:deduplicate-projection, r=jackh726
...
Deduplicate projection sub-obligations
2021-12-12 11:24:20 +00:00
Amanieu d'Antras
44a3a66ee8
Stabilize asm! and global_asm!
...
They are also removed from the prelude as per the decision in
https://github.com/rust-lang/rust/issues/87228 .
stdarch and compiler-builtins are updated to work with the new, stable
asm! and global_asm! macros.
2021-12-12 11:20:03 +00:00
Amanieu d'Antras
b3a55371a7
Remove automatic rustfix of asm! to llvm_asm!
...
This no longer works now that asm! needs an explicit import. Also, it's
been over a year since asm! landed, everyone should have transitioned by
now.
2021-12-12 11:20:03 +00:00
Dániel Buga
f3a08fd8e7
Avoid suggesting self in visibility spec
...
Co-authored-by: Esteban Kuber <estebank@users.noreply.github.com >
2021-12-12 11:14:10 +01:00
bors
a0a4c7d1e4
Auto merge of #91825 - matthiaskrgr:rollup-e4s8lwp, r=matthiaskrgr
...
Rollup of 6 pull requests
Successful merges:
- #91746 (Btree: assert more API compatibility)
- #91748 (rustdoc: Add regression test for Iterator as notable trait on &mut T)
- #91811 (bootstrap: Change unwrap() to expect() for WIX path)
- #91814 (doc: fix typo in comments)
- #91815 (better span for unexpected normalization failure in CTFE engine)
- #91817 (rustbot: Add autolabeling for `T-rustdoc`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2021-12-12 06:54:28 +00:00
Matthias Krüger
6d9d8de029
Rollup merge of #91815 - RalfJung:span, r=oli-obk
...
better span for unexpected normalization failure in CTFE engine
No reason to use `DUMMY_SP` here.
2021-12-12 07:45:31 +01:00
Matthias Krüger
955e552d31
Rollup merge of #91814 - japm48:spelling-fix, r=RalfJung
...
doc: fix typo in comments
`dereferencable -> dereferenceable`
Fixes #91802 .
2021-12-12 07:45:30 +01:00
Deadbeef
ffc9082d97
Remove function from rebase
2021-12-12 12:52:30 +08:00
Deadbeef
83587e8d30
Small performance tweaks
2021-12-12 12:35:01 +08:00
Deadbeef
17b53b9645
Remap more env constness for queries
2021-12-12 12:35:00 +08:00
Deadbeef
2bea3b3aa3
Remap predicate/env constness before querying
2021-12-12 12:35:00 +08:00
Deadbeef
42963f4d50
Query modifier
2021-12-12 12:35:00 +08:00