]> git.lizzy.rs Git - rust.git/log
rust.git
22 months agoExtract record_elided_anchor
Santiago Pastorino [Thu, 4 Aug 2022 13:10:04 +0000 (10:10 -0300)]
Extract record_elided_anchor

22 months agoMove new_remapping inside with_hir_id_owner
Santiago Pastorino [Thu, 4 Aug 2022 13:05:04 +0000 (10:05 -0300)]
Move new_remapping inside with_hir_id_owner

22 months agoAdd documentation for create_lifetime_defs
Santiago Pastorino [Thu, 4 Aug 2022 13:02:52 +0000 (10:02 -0300)]
Add documentation for create_lifetime_defs

22 months agoAdd more debug calls
Santiago Pastorino [Thu, 4 Aug 2022 12:58:37 +0000 (09:58 -0300)]
Add more debug calls

22 months agoAdd documentation about lifetime args
Santiago Pastorino [Thu, 4 Aug 2022 12:56:12 +0000 (09:56 -0300)]
Add documentation about lifetime args

22 months agoAdd documentation about lifetime_defs
Santiago Pastorino [Thu, 4 Aug 2022 12:52:15 +0000 (09:52 -0300)]
Add documentation about lifetime_defs

22 months agoMove hir_bounds after lifetime_defs
Santiago Pastorino [Thu, 4 Aug 2022 12:44:18 +0000 (09:44 -0300)]
Move hir_bounds after lifetime_defs

22 months agocaptures -> collected_lifetimes
Santiago Pastorino [Thu, 4 Aug 2022 02:26:10 +0000 (23:26 -0300)]
captures -> collected_lifetimes

22 months agoMove lifetimes_in_bounds call to outside with_hir_id_owner block in lower_async_fn_ret_ty
Santiago Pastorino [Thu, 4 Aug 2022 02:24:13 +0000 (23:24 -0300)]
Move lifetimes_in_bounds call to outside with_hir_id_owner block in lower_async_fn_ret_ty

22 months agoMove lifetimes_in_bounds call to outside with_hir_id_owner block in lower_opaque_impl...
Santiago Pastorino [Thu, 4 Aug 2022 02:16:03 +0000 (23:16 -0300)]
Move lifetimes_in_bounds call to outside with_hir_id_owner block in lower_opaque_impl_trait

22 months agoDocument what collected_lifetimes vec containts
Santiago Pastorino [Wed, 3 Aug 2022 22:40:54 +0000 (19:40 -0300)]
Document what collected_lifetimes vec containts

22 months agoDocument lower_opaque_impl_trait
Santiago Pastorino [Wed, 3 Aug 2022 22:34:00 +0000 (19:34 -0300)]
Document lower_opaque_impl_trait

22 months agowith_lifetime_binder is now lower_lifetime_binder and doesn't need a closure
Santiago Pastorino [Wed, 3 Aug 2022 22:09:14 +0000 (19:09 -0300)]
with_lifetime_binder is now lower_lifetime_binder and doesn't need a closure

22 months agoAdd comments on with_remapping
Santiago Pastorino [Wed, 3 Aug 2022 20:32:24 +0000 (17:32 -0300)]
Add comments on with_remapping

22 months agoDocument opt_local_def_id
Santiago Pastorino [Wed, 3 Aug 2022 20:26:38 +0000 (17:26 -0300)]
Document opt_local_def_id

22 months agoDocument generics_def_id_map field and record/get methods on it
Santiago Pastorino [Wed, 3 Aug 2022 20:16:33 +0000 (17:16 -0300)]
Document generics_def_id_map field and record/get methods on it

22 months agoAdd comments about lifetime collect and create lifetime defs for RPITs
Santiago Pastorino [Wed, 3 Aug 2022 20:06:30 +0000 (17:06 -0300)]
Add comments about lifetime collect and create lifetime defs for RPITs

22 months agoAvoid explicitly handling res when is not needed
Santiago Pastorino [Wed, 3 Aug 2022 02:06:38 +0000 (23:06 -0300)]
Avoid explicitly handling res when is not needed

22 months agocreate_and_capture_lifetime_defs -> create_lifetime_defs
Santiago Pastorino [Tue, 2 Aug 2022 23:15:15 +0000 (20:15 -0300)]
create_and_capture_lifetime_defs -> create_lifetime_defs

22 months agoRemove captured_lifetimes and LifetimeCaptureContext and make create_lifetime_defs...
Santiago Pastorino [Tue, 2 Aug 2022 23:14:24 +0000 (20:14 -0300)]
Remove captured_lifetimes and LifetimeCaptureContext and make create_lifetime_defs return the captures

22 months agoImplement def_id based remapping
Santiago Pastorino [Tue, 2 Aug 2022 23:01:40 +0000 (20:01 -0300)]
Implement def_id based remapping

22 months agoRemove local_def_id from captured_lifetimes
Santiago Pastorino [Wed, 3 Aug 2022 02:20:15 +0000 (23:20 -0300)]
Remove local_def_id from captured_lifetimes

22 months agoCapture things as Lifetime object to simplify things
Santiago Pastorino [Tue, 2 Aug 2022 21:04:37 +0000 (18:04 -0300)]
Capture things as Lifetime object to simplify things

22 months agoCreate new_mapping local structure and avoid checking def_ids on captures
Santiago Pastorino [Tue, 2 Aug 2022 20:17:34 +0000 (17:17 -0300)]
Create new_mapping local structure and avoid checking def_ids on captures

22 months agoRemove binders_to_ignore from LifetimeCaptureContext
Santiago Pastorino [Tue, 2 Aug 2022 18:46:03 +0000 (15:46 -0300)]
Remove binders_to_ignore from LifetimeCaptureContext

22 months agoNo need to store parent_def_id in LifetimeCaptureContext
Santiago Pastorino [Tue, 2 Aug 2022 18:34:32 +0000 (15:34 -0300)]
No need to store parent_def_id in LifetimeCaptureContext

22 months agoNo need to check binders to ignore on new_named_lifetime_with_res's LifetimeRes:...
Santiago Pastorino [Tue, 2 Aug 2022 18:27:52 +0000 (15:27 -0300)]
No need to check binders to ignore on new_named_lifetime_with_res's LifetimeRes::Fresh

22 months agoNo need to check binders to ignore on new_named_lifetime_with_res's LifetimeRes:...
Santiago Pastorino [Tue, 2 Aug 2022 18:27:46 +0000 (15:27 -0300)]
No need to check binders to ignore on new_named_lifetime_with_res's LifetimeRes::Param

22 months agonew_named_lifetime_with_res's LifetimeRes::Fresh should have created def_id already
Santiago Pastorino [Tue, 2 Aug 2022 18:14:53 +0000 (15:14 -0300)]
new_named_lifetime_with_res's LifetimeRes::Fresh should have created def_id already

22 months agonew_named_lifetime_with_res's LifetimeRes::Param should have created def_id already
Santiago Pastorino [Tue, 2 Aug 2022 18:14:42 +0000 (15:14 -0300)]
new_named_lifetime_with_res's LifetimeRes::Param should have created def_id already

22 months agoFail if LifetimeRes is Infer when creating def ids for lifetimes copies
Santiago Pastorino [Tue, 2 Aug 2022 14:39:40 +0000 (11:39 -0300)]
Fail if LifetimeRes is Infer when creating def ids for lifetimes copies

22 months agoRecord RPITs elided lifetimes in Rptr Tys
Santiago Pastorino [Tue, 2 Aug 2022 18:06:12 +0000 (15:06 -0300)]
Record RPITs elided lifetimes in Rptr Tys

22 months agoRecord RPITs elided lifetimes in path segments
Santiago Pastorino [Tue, 2 Aug 2022 14:03:29 +0000 (11:03 -0300)]
Record RPITs elided lifetimes in path segments

22 months agoRestructure visit_ty in a more clear way
Santiago Pastorino [Tue, 2 Aug 2022 14:00:34 +0000 (11:00 -0300)]
Restructure visit_ty in a more clear way

22 months agoSkip lifetimes in binders when visiting
Santiago Pastorino [Mon, 1 Aug 2022 19:03:49 +0000 (16:03 -0300)]
Skip lifetimes in binders when visiting

22 months agoMove LifetimeCollectVisitor to rustc_ast_lowering
Santiago Pastorino [Sat, 30 Jul 2022 01:38:07 +0000 (22:38 -0300)]
Move LifetimeCollectVisitor to rustc_ast_lowering

22 months agoCompletely remove captures flag
Santiago Pastorino [Tue, 26 Jul 2022 18:50:25 +0000 (15:50 -0300)]
Completely remove captures flag

22 months agoDo not execute captures code when lowering lifetimes as GenericArg
Santiago Pastorino [Tue, 26 Jul 2022 18:30:58 +0000 (15:30 -0300)]
Do not execute captures code when lowering lifetimes as GenericArg

22 months agoDo not execute captures code for async fns
Santiago Pastorino [Tue, 26 Jul 2022 18:23:26 +0000 (15:23 -0300)]
Do not execute captures code for async fns

22 months agoThere's no need to check binders_to_ignore using the old code anymore
Santiago Pastorino [Tue, 26 Jul 2022 18:11:44 +0000 (15:11 -0300)]
There's no need to check binders_to_ignore using the old code anymore

22 months agoExplicitly gather lifetimes and definitions for bare async fns
Santiago Pastorino [Tue, 26 Jul 2022 18:11:15 +0000 (15:11 -0300)]
Explicitly gather lifetimes and definitions for bare async fns

22 months agoExtract create_and_capture_lifetime_defs function
Santiago Pastorino [Tue, 26 Jul 2022 17:49:24 +0000 (14:49 -0300)]
Extract create_and_capture_lifetime_defs function

22 months agoRemove NEW_COLLECT_LIFETIMES env var
Santiago Pastorino [Tue, 26 Jul 2022 14:56:26 +0000 (11:56 -0300)]
Remove NEW_COLLECT_LIFETIMES env var

22 months agoAdd debug! calls
Santiago Pastorino [Tue, 26 Jul 2022 14:39:06 +0000 (11:39 -0300)]
Add debug! calls

22 months agoExplicitly gather lifetimes and definitions in RPIT
Santiago Pastorino [Wed, 20 Jul 2022 19:30:37 +0000 (16:30 -0300)]
Explicitly gather lifetimes and definitions in RPIT

22 months agoUnroll while_capturing_lifetimes into lower_opaque_impl_trait
Santiago Pastorino [Wed, 20 Jul 2022 01:16:32 +0000 (22:16 -0300)]
Unroll while_capturing_lifetimes into lower_opaque_impl_trait

22 months agoAdd captures flag to capture or not while lowering
Santiago Pastorino [Wed, 20 Jul 2022 15:58:48 +0000 (12:58 -0300)]
Add captures flag to capture or not while lowering

22 months agoMake lower_generic_bound_predicate receive AST bounds instead of HIR bounds
Santiago Pastorino [Tue, 19 Jul 2022 21:10:27 +0000 (18:10 -0300)]
Make lower_generic_bound_predicate receive AST bounds instead of HIR bounds

22 months agoRemove old docs on lower_async_fn_ret_ty
Santiago Pastorino [Fri, 15 Jul 2022 15:58:22 +0000 (12:58 -0300)]
Remove old docs on lower_async_fn_ret_ty

22 months agoAuto merge of #99953 - cjgillot:in-path-always, r=petrochenkov
bors [Thu, 4 Aug 2022 10:21:40 +0000 (10:21 +0000)]
Auto merge of #99953 - cjgillot:in-path-always, r=petrochenkov

Always create elided lifetimes, even if inferred.

`PathSource` gives the context in which a path is encountered.  The same `PathSource` is used for the full path and the `QSelf` part.

Therefore, we can only rely on `PathSource` to know whether typechecking will be able to infer the lifetimes, not whether we need to insert them at all.

Fixes https://github.com/rust-lang/rust/issues/99949

22 months agoAuto merge of #99843 - oli-obk:is_useful_perf, r=compiler-errors
bors [Thu, 4 Aug 2022 07:35:33 +0000 (07:35 +0000)]
Auto merge of #99843 - oli-obk:is_useful_perf, r=compiler-errors

Some `is_useful` cleanups

#98582 was reverted because it was a perf regression.

https://github.com/rust-lang/rust/pull/99806 reintroduces the changes, but this PR picks individual ones that have no regressions.

22 months agoAuto merge of #100120 - matthiaskrgr:rollup-g6ycykq, r=matthiaskrgr
bors [Thu, 4 Aug 2022 03:52:29 +0000 (03:52 +0000)]
Auto merge of #100120 - matthiaskrgr:rollup-g6ycykq, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #98771 (Add support for link-flavor rust-lld for iOS, tvOS and watchOS)
 - #98835 (relate `closure_substs.parent_substs()` to parent fn in NLL)
 - #99746 (Use `TraitEngine` in more places that don't specifically need `FulfillmentContext::new_in_snapshot`)
 - #99786 (Recover from C++ style `enum struct`)
 - #99795 (Delay a bug when failed to normalize trait ref during specialization)
 - #100029 (Prevent ICE for `doc_alias` on match arm, statement, expression)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

22 months agoAuto merge of #100123 - matthiaskrgr:rollup-aylwvyc, r=matthiaskrgr
bors [Thu, 4 Aug 2022 01:10:08 +0000 (01:10 +0000)]
Auto merge of #100123 - matthiaskrgr:rollup-aylwvyc, r=matthiaskrgr

Rollup of 9 pull requests

Successful merges:

 - #98877 (Set llvm configs when building lld)
 - #100068 (Fix backwards-compatibility check for tests with `+whole-archive`)
 - #100083 (rustdoc: use a more compact encoding for source-files.js)
 - #100102 (Fix typo)
 - #100104 (Remove more Clean trait implementations)
 - #100105 (Add regression test for #90871)
 - #100107 (fix trailing whitespace in error message)
 - #100111 (Provide suggestion on missing `let` in binding statement)
 - #100119 (FilesTimes support does not build for ESP-IDF)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

22 months agoAuto merge of #100065 - ehuss:update-cargo, r=ehuss
bors [Wed, 3 Aug 2022 22:16:07 +0000 (22:16 +0000)]
Auto merge of #100065 - ehuss:update-cargo, r=ehuss

Update cargo, rls

14 commits in 85b500ccad8cd0b63995fd94a03ddd4b83f7905b..4fd148c47e733770c537efac5220744945d572ef
2022-07-24 21:10:46 +0000 to 2022-08-03 15:03:52 +0000
- Revert "Drop check for mingw32-make." (rust-lang/cargo#10934)
- Add reasons to all ignored tests. (rust-lang/cargo#10929)
- Grammar fixup unused patch message (rust-lang/cargo#10933)
- Always allow hg to be missing on CI. (rust-lang/cargo#10931)
- Fix formats_source test requiring rustfmt. (rust-lang/cargo#10918)
- Disable scrape_examples_complex_reverse_dependencies (rust-lang/cargo#10921)
- Contrib: Add docs on the rustbot ready command (rust-lang/cargo#10916)
- Support for negative --jobs parameter, counting backwards from max CPUs (rust-lang/cargo#10844)
- Add requirements to cargo_test. (rust-lang/cargo#9892)
- Contrib: Document submodule update process (rust-lang/cargo#10913)
- Contrib: Add docs on how to use crater (rust-lang/cargo#10912)
- Contrib: Document new-release process (rust-lang/cargo#10914)
- Override to resolver=1 in published package (rust-lang/cargo#10911)
- fix(add): Update the lock file (rust-lang/cargo#10902)

1 commits in fcf1f94c9ab2acc18cfd4368a4aeb38e77da9649..4d8b0a19986a4daab37287a5b5fe2da0775d1873
2022-07-14 17:19:11 +0200 to 2022-08-02 22:34:34 -0400
- Update cargo (rust-lang/rls#1782)

22 months agoRollup merge of #100119 - ivmarkov:master, r=joshtriplett
Matthias Krüger [Wed, 3 Aug 2022 20:30:50 +0000 (22:30 +0200)]
Rollup merge of #100119 - ivmarkov:master, r=joshtriplett

FilesTimes support does not build for ESP-IDF

Commit https://github.com/rust-lang/rust/commit/1f5d8d49eb6111931091f700d07518cd2b80bc18 broke STD for `target_os = "espidf"`.

In future, we might come up with something more sophisticated (as in using the `utime` function which *is* available on the ESP-IDF platform), but for now we are treating ESP-IDF just like `Redox` in that the new API fails at runtime. Most important for us ATM is to restore successful compilation of STD on our platform.

22 months agoRollup merge of #100111 - estebank:missing-let, r=compiler-errors
Matthias Krüger [Wed, 3 Aug 2022 20:30:49 +0000 (22:30 +0200)]
Rollup merge of #100111 - estebank:missing-let, r=compiler-errors

Provide suggestion on missing `let` in binding statement

Fix #78907.

Fallout from the type ascription syntax.

22 months agoRollup merge of #100107 - klensy:tr-w, r=compiler-errors
Matthias Krüger [Wed, 3 Aug 2022 20:30:49 +0000 (22:30 +0200)]
Rollup merge of #100107 - klensy:tr-w, r=compiler-errors

fix trailing whitespace in error message

22 months agoRollup merge of #100105 - TaKO8Ki:add-regression-test-for-90871, r=compiler-errors
Matthias Krüger [Wed, 3 Aug 2022 20:30:48 +0000 (22:30 +0200)]
Rollup merge of #100105 - TaKO8Ki:add-regression-test-for-90871, r=compiler-errors

Add regression test for #90871

closes #90871

22 months agoRollup merge of #100104 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC
Matthias Krüger [Wed, 3 Aug 2022 20:30:47 +0000 (22:30 +0200)]
Rollup merge of #100104 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC

Remove more Clean trait implementations

Follow-up of https://github.com/rust-lang/rust/pull/99638.

r? ``@notriddle``

22 months agoRollup merge of #100102 - b-naber:typo-higher-ranked-sub, r=Dylan-DPC
Matthias Krüger [Wed, 3 Aug 2022 20:30:46 +0000 (22:30 +0200)]
Rollup merge of #100102 - b-naber:typo-higher-ranked-sub, r=Dylan-DPC

Fix typo

r? ```@jackh726```

22 months agoRollup merge of #100083 - notriddle:notriddle/source-files-js, r=GuillaumeGomez
Matthias Krüger [Wed, 3 Aug 2022 20:30:46 +0000 (22:30 +0200)]
Rollup merge of #100083 - notriddle:notriddle/source-files-js, r=GuillaumeGomez

rustdoc: use a more compact encoding for source-files.js

This reduces the compiler-doc file from 40K to 36K, a 10% reduction in size.

22 months agoRollup merge of #100068 - dcsommer:master, r=petrochenkov
Matthias Krüger [Wed, 3 Aug 2022 20:30:45 +0000 (22:30 +0200)]
Rollup merge of #100068 - dcsommer:master, r=petrochenkov

Fix backwards-compatibility check for tests with `+whole-archive`

Fixes #100066

22 months agoRollup merge of #98877 - topjohnwu:fix-lld, r=jyn514
Matthias Krüger [Wed, 3 Aug 2022 20:30:44 +0000 (22:30 +0200)]
Rollup merge of #98877 - topjohnwu:fix-lld, r=jyn514

Set llvm configs when building lld

Several LLVM configs applied when building LLVM should also be applied when building LLD.

For example, without the fix, setting both `llvm.thin-lto=true` and `rust.lld=true` when building on Linux will fail, since we need to manually override the compiler and linker to `clang`, but those will not be used when building LLD, causing link errors.

r? ```@jyn514```

22 months agoRollup merge of #100029 - hdelc:master, r=cjgillot
Matthias Krüger [Wed, 3 Aug 2022 20:29:31 +0000 (22:29 +0200)]
Rollup merge of #100029 - hdelc:master, r=cjgillot

Prevent ICE for `doc_alias` on match arm, statement, expression

Fixes #99777.

This is a pretty minimal fix that should be safe, since rustdoc doesn't generate documentation for match arms, statements, or expressions. I mentioned in the linked issue that the `doc_alias` target checking should probably be improved to avoid future ICEs, but as a new contributor, I'm not confident enough with the HIR types to make a larger change.

22 months agoRollup merge of #99795 - compiler-errors:delay-specialization-normalize-error, r...
Matthias Krüger [Wed, 3 Aug 2022 20:29:30 +0000 (22:29 +0200)]
Rollup merge of #99795 - compiler-errors:delay-specialization-normalize-error, r=spastorino

Delay a bug when failed to normalize trait ref during specialization

The error messages still kinda suck here but they don't ICE anymore...

Fixes #45814
Fixes #43037

r? types

22 months agoRollup merge of #99786 - obeis:issue-99625, r=compiler-errors
Matthias Krüger [Wed, 3 Aug 2022 20:29:29 +0000 (22:29 +0200)]
Rollup merge of #99786 - obeis:issue-99625, r=compiler-errors

Recover from C++ style `enum struct`

Closes #99625

22 months agoRollup merge of #99746 - compiler-errors:more-trait-engine, r=jackh726
Matthias Krüger [Wed, 3 Aug 2022 20:29:27 +0000 (22:29 +0200)]
Rollup merge of #99746 - compiler-errors:more-trait-engine, r=jackh726

Use `TraitEngine` in more places that don't specifically need `FulfillmentContext::new_in_snapshot`

Not sure if this change is worthwhile, but couldn't hurt re: chalkification

r? types

22 months agoRollup merge of #98835 - aliemjay:relate_closure_substs, r=nikomatsakis
Matthias Krüger [Wed, 3 Aug 2022 20:29:26 +0000 (22:29 +0200)]
Rollup merge of #98835 - aliemjay:relate_closure_substs, r=nikomatsakis

relate `closure_substs.parent_substs()` to parent fn in NLL

Fixes #98589

The discrepancy between early- and late-bound lifetimes is because we map early-bound lifetimes into those found in the `closure_substs` while late-bound lifetimes are mapped into liberated free regions:
https://github.com/rust-lang/rust/blob/5f98537eb7b5f42c246a52c550813c3cff336069/compiler/rustc_borrowck/src/universal_regions.rs#L255-L261

r? `@rust-lang/types`

22 months agoRollup merge of #98771 - Thog:rust-lld-apple-target, r=petrochenkov
Matthias Krüger [Wed, 3 Aug 2022 20:29:25 +0000 (22:29 +0200)]
Rollup merge of #98771 - Thog:rust-lld-apple-target, r=petrochenkov

Add support for link-flavor rust-lld for iOS, tvOS and watchOS

This adds support for rust-lld for Apple *OS targets.

This was tested against targets ``aarch64-apple-ios`` and ``aarch64-apple-ios-sim`` with [a simple test program](https://github.com/Thog/rust-lld-apple-target_test).

It currently doesn't work with targets ``armv7-apple-ios`` and ``armv7s-apple-ios`` because of ``symbols.o`` not being generated with the correct CPU subtype. This will require changes in the ``object`` crate to expose an API.

As ``ld64.lld`` requires ``-platform_version`` with the minimal version supported and an sdk version, I made ``rustc_target::apple_base`` public to get access to ``*os_deployment_target``  helper functions and also added ``tvos_deployment_target`` as it was missing.

22 months agoUpdate cargo
Eric Huss [Wed, 3 Aug 2022 19:57:28 +0000 (12:57 -0700)]
Update cargo

22 months agoAuto merge of #100088 - RalfJung:anyhow, r=Mark-Simulacrum
bors [Wed, 3 Aug 2022 19:34:24 +0000 (19:34 +0000)]
Auto merge of #100088 - RalfJung:anyhow, r=Mark-Simulacrum

update anyhow

Fixes https://github.com/rust-lang/rust/issues/100062 by incorporating https://github.com/dtolnay/anyhow/pull/249

22 months agoFilesTimes support does not build for ESP-IDF
Ivan Markov [Wed, 3 Aug 2022 19:07:25 +0000 (19:07 +0000)]
FilesTimes support does not build for ESP-IDF

22 months agoProvide suggestion on missing `let` in binding statement
Esteban Küber [Wed, 3 Aug 2022 16:29:29 +0000 (09:29 -0700)]
Provide suggestion on missing `let` in binding statement

Fix #78907.

22 months agoAuto merge of #100064 - RalfJung:disaligned, r=petrochenkov
bors [Wed, 3 Aug 2022 16:09:56 +0000 (16:09 +0000)]
Auto merge of #100064 - RalfJung:disaligned, r=petrochenkov

fix is_disaligned logic for nested packed structs

https://github.com/rust-lang/rust/pull/83605 broke the `is_disaligned` logic by bailing out of the loop in `is_within_packed` early. This PR fixes that problem and adds suitable tests.

Fixes https://github.com/rust-lang/rust/issues/99838

22 months agoAdd support for link-flavor rust-lld for iOS, tvOS and watchOS
mary [Fri, 1 Jul 2022 15:12:46 +0000 (15:12 +0000)]
Add support for link-flavor rust-lld for iOS, tvOS and watchOS

This adds support for rust-lld for Apple *OS targets.

This was tested against targets "aarch64-apple-ios" and "aarch64-apple-ios-sim".

For targets "armv7-apple-ios" and "armv7s-apple-ios", it doesn't link because of
"symbols.o" not being generated with the correct CPU subtype (changes in
the "object" crate needs to be done to support it).

22 months agofix is_disaligned logic for nested packed structs
Ralf Jung [Tue, 2 Aug 2022 16:21:38 +0000 (12:21 -0400)]
fix is_disaligned logic for nested packed structs

22 months agoAuto merge of #100023 - saethlin:send-sync-chunksmut, r=m-ou-se
bors [Wed, 3 Aug 2022 13:17:58 +0000 (13:17 +0000)]
Auto merge of #100023 - saethlin:send-sync-chunksmut, r=m-ou-se

Add back Send and Sync impls on ChunksMut iterators

Fixes https://github.com/rust-lang/rust/issues/100014

These were accidentally removed in #94247 because the representation was changed from `&mut [T]` to `*mut T`, which has `!Send + !Sync`.

22 months agofix trailing whitespace in error message
klensy [Wed, 3 Aug 2022 12:46:34 +0000 (15:46 +0300)]
fix trailing whitespace in error message

22 months agoAuto merge of #100100 - Dylan-DPC:rollup-llcaaq8, r=Dylan-DPC
bors [Wed, 3 Aug 2022 10:26:01 +0000 (10:26 +0000)]
Auto merge of #100100 - Dylan-DPC:rollup-llcaaq8, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #99371 (Remove synchronization from Windows `hashmap_random_keys`)
 - #99614 (do not claim that transmute is like memcpy)
 - #99738 (rustdoc: avoid inlining modules with duplicate names)
 - #99800 (Fix futex module imports on wasm+atomics)
 - #100079 (Replace `* -> vec` with `-> vec` in docs)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

22 months agoadd regression test for #90871
Takayuki Maeda [Wed, 3 Aug 2022 09:51:21 +0000 (18:51 +0900)]
add regression test for #90871

22 months agocosmetic changes
Ali MJ Al-Nasrawy [Wed, 3 Aug 2022 09:46:04 +0000 (12:46 +0300)]
cosmetic changes

22 months agoremove Clean trait implementation for hir::IsAuto
Guillaume Gomez [Wed, 3 Aug 2022 09:38:18 +0000 (11:38 +0200)]
remove Clean trait implementation for hir::IsAuto

22 months agoremove Clean trait implementation for ty::Region
Guillaume Gomez [Wed, 3 Aug 2022 09:35:32 +0000 (11:35 +0200)]
remove Clean trait implementation for ty::Region

22 months agofix typo
b-naber [Wed, 3 Aug 2022 09:04:10 +0000 (11:04 +0200)]
fix typo

22 months agoSet llvm configs when building lld
topjohnwu [Wed, 3 Aug 2022 08:54:24 +0000 (01:54 -0700)]
Set llvm configs when building lld

22 months agoRollup merge of #100079 - camelid:fix-doc-star-search, r=Dylan-DPC
Dylan DPC [Wed, 3 Aug 2022 08:15:53 +0000 (13:45 +0530)]
Rollup merge of #100079 - camelid:fix-doc-star-search, r=Dylan-DPC

Replace `* -> vec` with `-> vec` in docs

Fixes #100078.

Rustdoc's current syntax is `-> vec`.

22 months agoRollup merge of #99800 - sandydoo:bugfix/wasm-futex, r=m-ou-se
Dylan DPC [Wed, 3 Aug 2022 08:15:52 +0000 (13:45 +0530)]
Rollup merge of #99800 - sandydoo:bugfix/wasm-futex, r=m-ou-se

Fix futex module imports on wasm+atomics

The futex modules were rearranged a bit in #98707, which meant that wasm+atomics would no longer compile on nightly. I don’t believe any other targets were impacted by this.

22 months agoRollup merge of #99738 - notriddle:notriddle/multiple-modules-w-same-name, r=camelid
Dylan DPC [Wed, 3 Aug 2022 08:15:51 +0000 (13:45 +0530)]
Rollup merge of #99738 - notriddle:notriddle/multiple-modules-w-same-name, r=camelid

rustdoc: avoid inlining modules with duplicate names

Fixes rust-lang/rust#99734

22 months agoRollup merge of #99614 - RalfJung:transmute-is-not-memcpy, r=thomcc
Dylan DPC [Wed, 3 Aug 2022 08:15:50 +0000 (13:45 +0530)]
Rollup merge of #99614 - RalfJung:transmute-is-not-memcpy, r=thomcc

do not claim that transmute is like memcpy

Saying transmute is like memcpy is not a well-formed statement, since memcpy is by-ref whereas transmute is by-val. The by-val nature of transmute inherently means that padding is lost along the way. (This is not specific to transmute, this is how all by-value operations work.) So adjust the docs to clarify this aspect.

Cc `@workingjubilee`

22 months agoRollup merge of #99371 - ChrisDenton:simplify-gen-random-keys, r=thomcc
Dylan DPC [Wed, 3 Aug 2022 08:15:49 +0000 (13:45 +0530)]
Rollup merge of #99371 - ChrisDenton:simplify-gen-random-keys, r=thomcc

Remove synchronization from Windows `hashmap_random_keys`

Unfortunately using synchronization when generating hashmap keys can prevent it being used in `DllMain`.

~~Fixes #99341~~

22 months agoAuto merge of #100082 - matthiaskrgr:rollup-ywu4iux, r=matthiaskrgr
bors [Wed, 3 Aug 2022 04:50:42 +0000 (04:50 +0000)]
Auto merge of #100082 - matthiaskrgr:rollup-ywu4iux, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #99933 (parallelize HTML checking tool)
 - #99958 (Improve position named arguments lint underline and formatting names)
 - #100008 (Update all pre-cloned submodules on startup)
 - #100049 (:arrow_up: rust-analyzer)
 - #100070 (Clarify Cargo.toml comments)
 - #100074 (rustc-docs: Be less specific about the representation of `+bundle`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

22 months agoAdd items to `DocAliasBadLocation` check error match arm
hdelc [Wed, 3 Aug 2022 03:11:22 +0000 (23:11 -0400)]
Add items to `DocAliasBadLocation` check error match arm

- Added `Impl`, `Closure`, ForeignMod` targets
- `Target::name` changed for `Target::Impl`
- Error output for `Target::ForeignMod` changed to "foreign module"

22 months agoUpdate rls
Eric Huss [Wed, 3 Aug 2022 03:08:30 +0000 (20:08 -0700)]
Update rls

22 months agoupdate anyhow
Ralf Jung [Wed, 3 Aug 2022 02:14:48 +0000 (22:14 -0400)]
update anyhow

22 months agoAuto merge of #99509 - lcnr:commit_unconditionally, r=jackh726
bors [Wed, 3 Aug 2022 01:55:20 +0000 (01:55 +0000)]
Auto merge of #99509 - lcnr:commit_unconditionally, r=jackh726

remove `commit_unconditionally`

`commit_unconditionally` is a noop unless we somehow inspect the current state of our snapshot. The only thing which does that is the leak check which was only used in one place where `commit_if_ok` is probably at least as, or even more, correct.

r? rust-lang/types

22 months agoDelay a bug when failed to normalize trait ref during specialization
Michael Goulet [Wed, 27 Jul 2022 05:06:46 +0000 (05:06 +0000)]
Delay a bug when failed to normalize trait ref during specialization

22 months agowordsmithing
Ralf Jung [Wed, 3 Aug 2022 00:43:28 +0000 (20:43 -0400)]
wordsmithing

22 months agoRemove CARGO_TEST_DISABLE_GIT_CLI
Eric Huss [Tue, 2 Aug 2022 16:25:35 +0000 (09:25 -0700)]
Remove CARGO_TEST_DISABLE_GIT_CLI

This was a leftover from the Appveyor days.

22 months agoUpdate cargo
Eric Huss [Tue, 2 Aug 2022 16:24:03 +0000 (09:24 -0700)]
Update cargo

22 months agoFix backwards-compatibility check for tests with `+whole-archive`
Daniel Sommermann [Mon, 1 Aug 2022 18:47:32 +0000 (11:47 -0700)]
Fix backwards-compatibility check for tests with `+whole-archive`

Fixes #100066