Commit Graph

23335 Commits

Author SHA1 Message Date
bors
ef982929c0 Auto merge of #107372 - JohnTitor:rollup-zkl2ges, r=JohnTitor
Rollup of 9 pull requests

Successful merges:

 - #106806 (Replace format flags u32 by enums and bools.)
 - #107194 (Remove dependency on slice_internals feature in rustc_ast)
 - #107234 (Revisit fix_is_ci_llvm_available logic)
 - #107316 (Update snap from `1.0.1` to `1.1.0`)
 - #107321 (solver comments + remove `TyCtxt::evaluate_goal`)
 - #107332 (Fix wording from `rustbuild` to `bootstrap`)
 - #107347 (reduce rightward-drift)
 - #107352 (compiler: Fix E0587 explanation)
 - #107357 (Fix infinite loop in rustdoc get_all_import_attributes function)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-27 17:49:56 +00:00
Michael Woerister
e5995e6168 Don't merge vtables when full debuginfo is enabled. 2023-01-27 15:29:04 +00:00
Yuki Okushi
85dc93b4d3 Rollup merge of #107352 - sameo:topic/E0587, r=JohnTitor
compiler: Fix E0587 explanation

We meant to use 8 as the packed argument.

Signed-off-by: Samuel Ortiz <sameo@rivosinc.com>
2023-01-28 00:23:15 +09:00
Yuki Okushi
b247253edd Rollup merge of #107347 - tshepang:rightward-drift, r=Nilstrieb
reduce rightward-drift
2023-01-28 00:23:15 +09:00
Yuki Okushi
d62f6fdff9 Rollup merge of #107321 - lcnr:comment, r=compiler-errors
solver comments + remove `TyCtxt::evaluate_goal`

from the `RustcContributor::explore` session yesterday.

This also removes `TyCtxt::evaluate_goal` because to canonicalize you have to use an `InferCtxt` anyways at which point we should just always get people to use `evaluate_root_goal`.

r? ``@spastorino``
2023-01-28 00:23:14 +09:00
Yuki Okushi
bed113de49 Rollup merge of #107194 - xfix:remove-slice-internals-dependency-in-rustc-ast, r=Nilstrieb
Remove dependency on slice_internals feature in rustc_ast

This reduces dependency on unstable features by the compiler.
2023-01-28 00:23:12 +09:00
Yuki Okushi
1163279c3a Rollup merge of #106806 - m-ou-se:format-args-flags, r=oli-obk
Replace format flags u32 by enums and bools.

This gets rid of the `flags: u32` field where each bit has a special meaning, and replaces it by simple enums and booleans.

Part of #99012
2023-01-28 00:23:11 +09:00
bors
7919ef0ec5 Auto merge of #107055 - kylematsuda:eb-fn-sig, r=lcnr
Switch to `EarlyBinder` for `fn_sig` query

Part of the work to finish #105779 (also see https://github.com/rust-lang/types-team/issues/78).

Several queries `X` have a `bound_X` variant that wraps the output in [`EarlyBinder`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/subst/struct.EarlyBinder.html). This adds `EarlyBinder` to the return type of the `fn_sig` query and removes `bound_fn_sig`.

r? `@lcnr`
2023-01-27 15:02:44 +00:00
bjorn3
de363d54c4 Revert back to LlvmArchiveBuilder on all platforms
ArArchiveBuilder doesn't support reading thin archives, causing a
regression.
2023-01-27 11:48:36 +00:00
bjorn3
2cf101c3e7 Revert "Remove macOS fat archive support from LlvmArchiveBuilder"
This reverts commit 047c7cc60c.
2023-01-27 11:46:27 +00:00
bjorn3
b2e2988531 Revert "Avoid a temporary file when processing macOS fat archives"
This reverts commit bd8e476d8b.
2023-01-27 11:46:20 +00:00
clubby789
0ae0d87c5d Fix some Fluent typos 2023-01-27 11:27:37 +00:00
clubby789
ed707a106c Detect references to non-existant messages in Fluent resources 2023-01-27 11:27:22 +00:00
Mara Bos
21cf9dbc85 Destructure format_options in make_format_spec. 2023-01-27 11:43:38 +01:00
Samuel Ortiz
706132d409 compiler: Fix E0587 explanation
We meant to use 8 as the packed argument.

Signed-off-by: Samuel Ortiz <sameo@rivosinc.com>
2023-01-27 10:59:51 +01:00
yukang
cd233231aa Improve unexpected close and mismatch delimiter hint in TokenTreesReader 2023-01-27 17:45:41 +08:00
Ali MJ Al-Nasrawy
43cb610464 update comment on trait objects 2023-01-27 12:43:29 +03:00
lcnr
85e6f38e79 assert that solver results are stable 2023-01-27 10:05:14 +01:00
bors
6874f4e3fc Auto merge of #107054 - petrochenkov:effvisdoc3, r=GuillaumeGomez
rustdoc: Collect "rustdoc-reachable" items during early doc link resolution

This pass only needs to know about visibilities, attributes and reexports, so it can be run early, similarly to `compute_effective_visibilities` in rustc.
Results of this pass can be used to prune the list of extern impls early thus improving performance of https://github.com/rust-lang/rust/pull/94857.
2023-01-27 09:01:05 +00:00
Amanieu d'Antras
52f7a218fb Relax ordering rules for asm! operands
The `asm!` and `global_asm!` macros require their operands to appear
strictly in the following order:
- Template strings
- Positional operands
- Named operands
- Explicit register operands
- `clobber_abi`
- `options`

This is overly strict and can be inconvienent when building complex
`asm!` statements with macros. This PR relaxes the ordering requirements
as follows:
- Template strings must still come before all other operands.
- Positional operands must still come before named and explicit register
operands.
- Named and explicit register operands can be freely mixed.
- `options` and `clobber_abi` can appear in any position.
2023-01-27 08:15:38 +00:00
Mara Bos
0abf8a0617 Replace format flags u32 by enums and bools. 2023-01-27 08:53:39 +01:00
imWildCat
5209d6f5fd Remove hardcoded clang target: ios13 or ios14 for Mac Catalyst [fixed] 2023-01-26 23:29:08 -08:00
lcnr
9c3fe58917 small refactor to new projection code 2023-01-27 08:26:28 +01:00
bors
18890f05f6 Auto merge of #107343 - JohnTitor:rollup-s6l94aj, r=JohnTitor
Rollup of 8 pull requests

Successful merges:

 - #105784 (update stdarch)
 - #106856 (core: Support variety of atomic widths in width-agnostic functions)
 - #107171 (rustc_metadata: Fix `encode_attrs`)
 - #107242 (rustdoc: make item links consistently use `title="{shortty} {path}"`)
 - #107279 (Use new solver during selection)
 - #107284 (rustdoc: use smarter encoding for playground URL)
 - #107325 (rustdoc: Stop using `HirId`s)
 - #107336 (rustdoc: remove mostly-unused CSS classes `import-item` and `module-item`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-27 06:10:19 +00:00
Tshepang Mbambo
cce452d8c8 reduce rightward-drift 2023-01-27 07:52:44 +02:00
Yuki Okushi
5683915ca4 Rollup merge of #107279 - compiler-errors:new-solver-evaluate, r=lcnr
Use new solver during selection

r? ``@lcnr``
2023-01-27 12:57:55 +09:00
Yuki Okushi
eb5e63e3f0 Rollup merge of #107171 - petrochenkov:encattrs, r=cjgillot
rustc_metadata: Fix `encode_attrs`

This function didn't do what the authors intended it to do.

- Due to `move` in the closure `is_public` wasn't captured by mutalbe reference and wasn't used as a cache.
- Due to iterator cloning all the `should_encode_attr` logic run for the second time to calculate `may_have_doc_links`

This PR fixes these issues, and calculates all the needed attribute flags in one go.

(Noticed while implementing https://github.com/rust-lang/rust/pull/107136.)
2023-01-27 12:57:54 +09:00
Yuki Okushi
bf321ece1e Rollup merge of #106856 - vadorovsky:fix-atomic-annotations, r=joshtriplett
core: Support variety of atomic widths in width-agnostic functions

Before this change, the following functions and macros were annotated with `#[cfg(target_has_atomic = "8")]` or
`#[cfg(target_has_atomic_load_store = "8")]`:

* `atomic_int`
* `strongest_failure_ordering`
* `atomic_swap`
* `atomic_add`
* `atomic_sub`
* `atomic_compare_exchange`
* `atomic_compare_exchange_weak`
* `atomic_and`
* `atomic_nand`
* `atomic_or`
* `atomic_xor`
* `atomic_max`
* `atomic_min`
* `atomic_umax`
* `atomic_umin`

However, none of those functions and macros actually depend on 8-bit width and they are needed for all atomic widths (16-bit, 32-bit, 64-bit etc.). Some targets might not support 8-bit atomics (i.e. BPF, if we would enable atomic CAS for it).

This change fixes that by removing the `"8"` argument from annotations, which results in accepting the whole variety of widths.

Fixes #106845
Fixes #106795

Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2023-01-27 12:57:54 +09:00
Kyle Matsuda
dc1216bc06 fixup new usages of fn_sig, bound_fn_sig after rebasing 2023-01-26 20:33:27 -07:00
Kyle Matsuda
4a7d0e9754 add method_substs to CallKind 2023-01-26 20:28:31 -07:00
Kyle Matsuda
a969c194d8 fix up subst_identity vs skip_binder; add some FIXMEs as identified in review 2023-01-26 20:28:31 -07:00
Kyle Matsuda
ab40ba2fb1 add EarlyBinder::no_bound_vars 2023-01-26 20:28:31 -07:00
Kyle Matsuda
c2414dfaa4 change fn_sig query to use EarlyBinder; remove bound_fn_sig query; add EarlyBinder to fn_sig in metadata 2023-01-26 20:28:25 -07:00
bors
db137ba7d4 Auto merge of #106959 - tmiasko:opt-funclets, r=davidtwco
Omit needless funclet partitioning
2023-01-27 03:25:16 +00:00
Kyle Matsuda
e982971ff2 replace usages of fn_sig query with bound_fn_sig 2023-01-26 20:15:36 -07:00
Ali MJ Al-Nasrawy
381187dc76 internally change regions to be covariant 2023-01-27 04:04:22 +03:00
bors
a2d002afe7 Auto merge of #107269 - bjorn3:sync_cg_clif-2023-01-24, r=bjorn3
Sync rustc_codegen_cranelift

For cg_clif itself there have been a couple of bug fixes since the last sync, a Cranelift update and implemented all remaining simd platform intrinsics used by `std::simd`. (`std::arch` still misses a lot though) Most of the diff is from reworking of the cg_clif build system though.

r? `@ghost`

`@rustbot` label +A-codegen +A-cranelift +T-compiler
2023-01-27 00:03:09 +00:00
Tomasz Miąsko
e489971902 Fix def-use dominance check
A definition does not dominate a use in the same statement. For example
in MIR generated for compound assignment x += a (when overflow checks
are disabled).
2023-01-27 00:54:31 +01:00
b-naber
9438126fd1 previous thir unpretty output through thir-flat 2023-01-26 23:39:57 +01:00
Michael Goulet
2d5591df00 Make make_identity take CanonicalVarInfos 2023-01-26 20:33:40 +00:00
Michael Goulet
4ff674f942 Intern CanonicalVarValues 2023-01-26 20:33:40 +00:00
bors
d7948c843d Auto merge of #106812 - oli-obk:output_filenames, r=petrochenkov
make `output_filenames` a real query

part of #105462

This may be a perf regression and is not obviously the right way forward. We may store this information in the resolver after freezing it for example.
2023-01-26 20:32:28 +00:00
Michael Goulet
9b5a2a4a48 Use new solver during selection 2023-01-26 20:09:39 +00:00
bors
c62665e09c Auto merge of #107328 - matthiaskrgr:rollup-lfqwo0o, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #106904 (Preserve split DWARF files when building archives.)
 - #106971 (Handle diagnostics customization on the fluent side (for one specific diagnostic))
 - #106978 (Migrate mir_build's borrow conflicts)
 - #107150 (`ty::tls` cleanups)
 - #107168 (Use a type-alias-impl-trait in `ObligationForest`)
 - #107189 (Encode info for Adt in a single place.)
 - #107322 (Custom mir: Add support for some remaining, easy to support constructs)
 - #107323 (Disable ConstGoto opt in cleanup blocks)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-26 15:58:08 +00:00
Matthias Krüger
4ed8cfc202 Rollup merge of #107323 - JakobDegen:const-goto, r=tmiasko
Disable ConstGoto opt in cleanup blocks

Fixes #107315 .

There is probably a smaller hammer that we could use here, but none that is super obviously correct. We can always revisit this in the future.

Could not add a test because custom mir does not support cleanup blocks. However, did check that the fallible_iterator crate no longer ICEs with the other PR cherry picked.

r? `@tmiasko`
2023-01-26 15:02:22 +01:00
Matthias Krüger
c87996a8ad Rollup merge of #107322 - JakobDegen:custom-mir, r=tmiasko
Custom mir: Add support for some remaining, easy to support constructs

Some documentation for previous changes and support for `Deinit`, checked binops, len, and array repetition

r? ```@oli-obk``` or ```@tmiasko```
2023-01-26 15:02:22 +01:00
Matthias Krüger
82455a799e Rollup merge of #107189 - cjgillot:meta-adt, r=compiler-errors
Encode info for Adt in a single place.

Split from https://github.com/rust-lang/rust/pull/98867
2023-01-26 15:02:21 +01:00
Matthias Krüger
3c145ff283 Rollup merge of #107168 - Nilstrieb:if-a-tait-falls-in-the-forest,can-we-know-it-wasnt-revealed, r=oli-obk
Use a type-alias-impl-trait in `ObligationForest`
2023-01-26 15:02:21 +01:00
Matthias Krüger
70a665a005 Rollup merge of #107150 - Nilstrieb:thread-local-cleanups, r=cjgillot
`ty::tls` cleanups

Pull it out into a separate file, make the conditional compilation more obvious and give the internal functions better names.

Pulled out of #106311

r? cjgillot
2023-01-26 15:02:20 +01:00
Matthias Krüger
e8c17de11d Rollup merge of #106978 - mejrs:mir_build3, r=davidtwco
Migrate mir_build's borrow conflicts

This also changes the error message slightly, for two reasons:

- I'm not a fan of saying "value borrowed, by `x`, here"
- it simplifies the error implementation significantly.
2023-01-26 15:02:20 +01:00