Commit Graph

233332 Commits

Author SHA1 Message Date
Ed Page
9aee1de612 feat(std): Stabilize 'os_str_bytes' feature
Closes #111544
2023-09-01 11:13:45 -05:00
klensy
6950689030 remove some unused crate deps 2023-09-01 19:13:09 +03:00
bors
361f8ba847 Auto merge of #114065 - lukas-code:u16_from_char, r=dtolnay
`impl TryFrom<char> for u16`

This PR implements the final missing `char` -> unsigned integer conversion.

ACP: https://github.com/rust-lang/libs-team/issues/146

r? libs-api
`@rustbot` label +T-libs-api +needs-fcp -T-libs
2023-09-01 16:01:06 +00:00
León Orell Valerian Liehr
f5a68f63aa
rustdoc: correctly deal with self ty params when eliding default object lifetimes 2023-09-01 16:17:53 +02:00
Guillaume Gomez
36fa557a5e Merge all loops into one when generating search index 2023-09-01 15:16:11 +02:00
Guillaume Gomez
05eda41658 Add tests for type-based search 2023-09-01 15:16:11 +02:00
Guillaume Gomez
09160b3f45 [rustdoc] Fix path in type-based search 2023-09-01 15:16:11 +02:00
bors
1accf068d8 Auto merge of #113126 - Bryanskiy:delete_old, r=petrochenkov
Replace old private-in-public diagnostic with type privacy lints

Next part of RFC https://github.com/rust-lang/rust/issues/48054.

r? `@petrochenkov`
2023-09-01 12:40:01 +00:00
bors
f4555ef5e1 Auto merge of #111752 - dingxiangfei2009:lower-or-pattern, r=cjgillot
Lower `Or` pattern without allocating place

cc `@azizghuloum` `@cjgillot`

Related to #111583 and #111644

While reviewing #111644, it occurs to me that while we directly lower conjunctive predicates, which are connected with `&&`, into the desirable control flow, today we don't directly lower the disjunctive predicates, which are connected with `||`, in the similar fashion. Instead, we allocate a place for the boolean temporary to hold the result of evaluating the `||` expression.

Usually I would expect optimization at later stages to "inline" the evaluation of boolean predicates into simple CFG, but #111583 is an example where `&&` is failing to be optimized away and the assembly shows that both the expensive operands are evaluated. Therefore, I would like to make a small change to make the CFG a bit more straight-forward without invoking the `as_temp` machinery, and plus avoid allocating the place to hold the boolean result as well.
2023-09-01 10:54:56 +00:00
bors
d6b4d35d5e Auto merge of #115415 - c410-f3r:t3st3ss, r=flip1995
[`Clippy`] Use symbols intended for `arithmetic_side_effects`

#115177 added the symbols for `arithmetic_side_effects` and now this PR actually uses them to prevent an eventual removal. All because #115183 was recently merged and next Clippy update will probably take some time to happen.

Fixes https://github.com/rust-lang/rust-clippy/issues/11392
2023-09-01 09:07:01 +00:00
Caio
0164f7e8b2
[clippy] Use symbols intended for arithmetic_side_effects 2023-09-01 10:28:55 +02:00
Michael Goulet
b62eeb2aac Fall through when resolving elided assoc const lifetimes 2023-09-01 07:23:39 +00:00
bors
96f62fce00 Auto merge of #113201 - oli-obk:recursive_type_alias, r=estebank,compiler-errors
Permit recursive weak type aliases

I saw #63097 and thought "we can do ~~better~~ funnier". So here it is. It's not useful, but it's certainly something. This may actually become feasible with lazy norm (so in 5 years (constant, not reducing over time)).

r? `@estebank`

cc `@GuillaumeGomez`
2023-09-01 07:10:21 +00:00
bors
cae8f934f5 Auto merge of #3048 - RalfJung:fmt-skip-children, r=RalfJung
add '--skip-children' to rustfmt invocation

This finally fixes the issue that we format the same file many times (and `./miri fmt --check` shows duplicate diffs). :)
2023-09-01 06:31:39 +00:00
Ralf Jung
f28772f968 add '--skip-children' to rustfmt invocation 2023-09-01 08:30:31 +02:00
Michael Howell
ba9af10846
Use terminology more sensibly 2023-08-31 22:40:43 -07:00
bors
dc348dbd90 Auto merge of #114448 - SteveLauC:std_fs_read_doc, r=Mark-Simulacrum
docs: improve std::fs::read doc

#### What does this PR do

1. Rephrase a confusing sentence in the document of `std::fs::read()`

-----

Closes #114432

cc `@Dexus0` `@saethlin`
2023-09-01 05:25:44 +00:00
bors
88d9b37a15 Auto merge of #115400 - gurry:issue-115264-ice, r=compiler-errors
Return ident for ExprField and PatField HIR nodes

Fixes #115264
2023-09-01 03:36:48 +00:00
Michael Howell
62835c9531 diagnostics: avoid wrong unused_parens on x as (T) < y 2023-08-31 20:14:49 -07:00
Tomoaki Kawada
eb627ea339 kmc-solid: Refactor is_interrupted to avoid integer overflow 2023-09-01 11:55:48 +09:00
Steve Lau
0e270b1a97 docs: improve std::fs::read doc 2023-09-01 10:54:37 +08:00
Tomoaki Kawada
dc37959ce8 kmc-solid: Directly delegate to net::is_interrupted in std::sys::solid::is_interrupted 2023-09-01 11:53:15 +09:00
XXIV
9adc6a49aa
remove unnecessary heap allocation 2023-09-01 05:22:22 +03:00
John Kåre Alsaker
90f5f94699 Use OnceLock for SingleCache 2023-09-01 03:11:51 +02:00
Gurinder Singh
19574d216a Return ident for ExprField and PatField HIR nodes 2023-09-01 06:36:02 +05:30
bors
2f5df8a94b Auto merge of #115366 - compiler-errors:associated-type-bound-implicit-lifetimes, r=jackh726
Capture lifetimes for associated type bounds destined to be lowered to opaques

Some associated type bounds get lowered to opaques, but they're not represented in the AST as opaques.

That means that we never collect lifetimes for them (`record_lifetime_params_for_impl_trait`) which are used currently for RPITITs, which capture all of their in-scope lifetimes[^1]. This means that the nested RPITITs that arise from some type like `impl Foo<Type: Bar>` (~> `impl Foo<Type = impl Bar>`) don't capture any lifetimes, leading to ICEs.

This PR makes sure we collect the lifetimes for associated type bounds as well, and make sure that they are set up correctly for opaque type lowering later.

Fixes #115360

[^1]: #114489
2023-08-31 21:13:54 +00:00
Ding Xiang Fei
67553e8a11
update tests that are ignored by debug 2023-09-01 04:01:54 +08:00
bors
91942134c6 Auto merge of #115389 - bvanjoi:fix-115380, r=petrochenkov
fix(resolve): update def if binding is warning ambiguity

Fixes #115380
2023-08-31 16:57:11 +00:00
Guillaume Gomez
539957130d Improve search.js code 2023-08-31 18:51:18 +02:00
Ralf Jung
efc759238d miri ABI check: fix handling of 1-ZST; don't accept sign differences 2023-08-31 17:27:23 +02:00
Ralf Jung
cbe8a05903 update abi_compat.rs 2023-08-31 17:27:23 +02:00
bors
4b71f03039 Auto merge of #115384 - lqd:default-universe-info, r=matthewjasper
Work around ICE in diagnostics for local super-universes missing `UniverseInfo`s

In issue #114907, canonicalization of liveness dropck-outlives results (IIUC) encounters universes absent from the original query.  Some local universes [are created](f3a1bae88c/compiler/rustc_infer/src/infer/canonical/query_response.rs (L417-L425)) for the mapping, but importantly, they won't have associated causes.

These missing `UniverseInfo`s can be [needed](f3a1bae88c/compiler/rustc_borrowck/src/diagnostics/region_errors.rs (L376)) during diagnostics, [causing the `IndexMap: key not found` ICE](d55522aad8/compiler/rustc_borrowck/src/region_infer/mod.rs (L2252)) seen in the issue.

This PR works around this by returning the suboptimal catch-all cause, to avoid the ICE. It does results in suboptimal diagnostics right now, but it's better than an ICE.

r? `@matthewjasper.`

Let me know if there's a good easy-ish way to fix this, but I believe that for some of these erroneous cases and diagnostics, that inference/canonicalization/higher-ranked subtyping/etc may not behave exactly the same with the new trait solver? If that's the case then it'd probably be best to wait a bit more to do the correct fix.

Fixes #114907.

cc `@aliemjay`
2023-08-31 15:13:05 +00:00
bors
a346b299d3 Auto merge of #3047 - RalfJung:target-support, r=saethlin
update target support section

The MIPS targets were demoted to tier 3, so let's recommend a different big-endian target.

Also instead of listing the targets we test individually, just say we test all tier 1 targets.

r? `@rust-lang/miri`
2023-08-31 15:05:08 +00:00
Ralf Jung
fd92d956c8 don't ignore sign for ABI check 2023-08-31 17:02:53 +02:00
Ralf Jung
3e66914fc8 update target support section 2023-08-31 16:56:59 +02:00
Ralf Jung
270f777a30 bootstrap: use git merge-base for LLVM CI download logic 2023-08-31 15:45:15 +02:00
bors
b30b535124 Auto merge of #115408 - RalfJung:miri, r=RalfJung
update Miri

r? `@ghost`
2023-08-31 13:01:59 +00:00
bohan
107152141b fix(resolve): update def if binding is warning ambiguity 2023-08-31 20:00:04 +08:00
Rémy Rakic
10ef8d9bf7 remove dummy UniverseInfo causes from type checker fully_perform_op
This was backfilling causes for new universes that may have been created
by an op, when there was no error info to use for improved
diagnostics. We don't need to do that anymore: `other()` is the default when
there is no registered universe cause.
2023-08-31 11:41:58 +00:00
bors
873a7a384f Auto merge of #3046 - RalfJung:rustup, r=RalfJung
Rustup

also more ABI compat tests
2023-08-31 11:22:30 +00:00
Ralf Jung
c2b0ca75aa more ABI compat tests 2023-08-31 13:21:55 +02:00
bors
784916ce24 Auto merge of #115290 - compiler-errors:ctor-unsafe, r=cjgillot
`rustc_layout_scalar_valid_range` makes ctors unsafe

We already validate this when we use the ctor in a call, e.g. `Variant(1)`, but not if we use the ctor as a fn ptr, e.g. `.map(Variant)`. The easiest way to fix the latter is (afaict) is by marking the ctor as unsafe itself.

Fixes #115284
2023-08-31 11:16:37 +00:00
Rémy Rakic
ae963b560f remove dummy UniverseInfo causes from type checker type_check
This was pre-filling causes for universes that could already exist in
the InferCtxt. We don't need to do that anymore: `other()` is the default when
there is no registered universe cause.
2023-08-31 11:16:35 +00:00
Rémy Rakic
407695132c remove dummy UniverseInfo causes from type checker instantiate_canonical_with_fresh_inference_vars
This was backfilling causes for the new universes that can be created by
the InferCtxt. We don't need to do that anymore: `other()` is the default when
there is no registered universe cause.
2023-08-31 11:10:54 +00:00
Ralf Jung
9db09c571f fmt 2023-08-31 11:34:43 +02:00
Ralf Jung
2de09d8ae4 Merge from rustc 2023-08-31 11:34:36 +02:00
Ralf Jung
4ea6a4bfe3 Preparing for merge from rustc 2023-08-31 11:32:11 +02:00
bors
2bd81316f2 Auto merge of #115346 - oli-obk:smir_const, r=spastorino
Some SMIR Const cleanups

Only e1def3bd41b021ce87a5d639b10cdf4a7df1d0b5 is new logic, everywhere else I just used the implementations that y'all had already written.

r? `@spastorino`

cc `@ouz-a`
2023-08-31 09:30:58 +00:00
bors
dca2d1ff00 Auto merge of #115374 - RalfJung:miri-fn-abi, r=oli-obk
miri function ABI check: accept repr(transparent) wrappers as compatible
2023-08-31 07:43:23 +00:00
bors
6f03674342 Auto merge of #3045 - RalfJung:tier1-ci, r=RalfJung
make sure we test all tier 1 targets

i686-pc-windows-gnu was missing (and i686-pc-windows-msvc was being tested twice, as host and foreign target).
2023-08-31 07:23:55 +00:00