]> git.lizzy.rs Git - rust.git/log
rust.git
22 months agoAuto merge of #100511 - compiler-errors:rollup-vrte4w5, r=compiler-errors
bors [Sun, 14 Aug 2022 01:29:58 +0000 (01:29 +0000)]
Auto merge of #100511 - compiler-errors:rollup-vrte4w5, r=compiler-errors

Rollup of 11 pull requests

Successful merges:

 - #100355 (rustdoc: Rename ``@has` FILE PATTERN` to ``@hasraw` FILE PATTERN`)
 - #100407 (avoid some int2ptr casts in thread_local_key tests)
 - #100434 (Fix HIR pretty printing of let else)
 - #100438 (Erase regions better in `promote_candidate`)
 - #100445 (adapt test for msan message change)
 - #100447 (Remove more Clean trait implementations)
 - #100464 (Make `[rust] use-lld=true` work on windows)
 - #100475 (Give a helpful diagnostic when the next struct field has an attribute)
 - #100490 (wf: correctly `shallow_resolve` consts)
 - #100501 (nicer Miri backtraces for from_exposed_addr)
 - #100509 (merge two test directories that mean the same thing)

Failed merges:

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

22 months agoDelay span bug when failing to normalize negative coherence impl subject due to other...
Michael Goulet [Sat, 13 Aug 2022 22:04:50 +0000 (22:04 +0000)]
Delay span bug when failing to normalize negative coherence impl subject due to other malformed impls

22 months agomake clean::Item::span return option instead of dummy span
Michael Goulet [Tue, 9 Aug 2022 02:48:01 +0000 (02:48 +0000)]
make clean::Item::span return option instead of dummy span

22 months agoRollup merge of #100509 - BoxyUwU:merge_hrtb_with_higher_rank_trait_bound, r=compiler...
Michael Goulet [Sat, 13 Aug 2022 21:10:15 +0000 (14:10 -0700)]
Rollup merge of #100509 - BoxyUwU:merge_hrtb_with_higher_rank_trait_bound, r=compiler-errors

merge two test directories that mean the same thing

hopefully `hrtb` doesnt have a secret second meaning that i'm not aware of :laughing:

r? `@compiler-errors`

22 months agoRollup merge of #100501 - RalfJung:miri-from-exposed-addr, r=Mark-Simulacrum
Michael Goulet [Sat, 13 Aug 2022 21:10:14 +0000 (14:10 -0700)]
Rollup merge of #100501 - RalfJung:miri-from-exposed-addr, r=Mark-Simulacrum

nicer Miri backtraces for from_exposed_addr

Miri by default warns about using from_exposed_addr; this makes the span for that a bit nicer.

22 months agoRollup merge of #100490 - lcnr:wf-consts, r=jackh726
Michael Goulet [Sat, 13 Aug 2022 21:10:13 +0000 (14:10 -0700)]
Rollup merge of #100490 - lcnr:wf-consts, r=jackh726

wf: correctly `shallow_resolve` consts

`shallow_resolve` on `InferConst` is always a noop. this is mostly irrelevant as inference vars should already be resolved at most - if not all - call sites. Haven't actually looked too deeply into whether this was a problem.

22 months agoRollup merge of #100475 - chenyukang:fix-100461, r=fee1-dead
Michael Goulet [Sat, 13 Aug 2022 21:10:12 +0000 (14:10 -0700)]
Rollup merge of #100475 - chenyukang:fix-100461, r=fee1-dead

Give a helpful diagnostic when the next struct field has an attribute

Fixes #100461

22 months agoRollup merge of #100464 - khyperia:lld-icf-on-windows, r=jyn514
Michael Goulet [Sat, 13 Aug 2022 21:10:11 +0000 (14:10 -0700)]
Rollup merge of #100464 - khyperia:lld-icf-on-windows, r=jyn514

Make `[rust] use-lld=true` work on windows

Before, it would fail with "error: ignoring unknown argument '-Wl,--icf=all'"

This option was introduced in https://github.com/rust-lang/rust/pull/99062 (well, technically https://github.com/rust-lang/rust/pull/99680)

See zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/rust-lld.3A.20error.3A.20ignoring.20unknown.20argument.20'-Wl.2C--icf.3Dall'

22 months agoRollup merge of #100447 - GuillaumeGomez:rm-clean-impl, r=Dylan-DPC
Michael Goulet [Sat, 13 Aug 2022 21:10:10 +0000 (14:10 -0700)]
Rollup merge of #100447 - GuillaumeGomez:rm-clean-impl, r=Dylan-DPC

Remove more Clean trait implementations

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

r? ``@Dylan-DPC``

22 months agoRollup merge of #100445 - krasimirgg:llvm-16-msan, r=tmiasko
Michael Goulet [Sat, 13 Aug 2022 21:10:08 +0000 (14:10 -0700)]
Rollup merge of #100445 - krasimirgg:llvm-16-msan, r=tmiasko

adapt test for msan message change

LLVM commit https://github.com/llvm/llvm-project/commit/057cabd997aeaef136e1e14f2ee645bd5bb197dd removed the function from the msan error message. This adapts our test accordingly.

Found via our experimental rust + llvm @ HEAD bot:
https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/12634#018289fe-b0bc-4bab-89b3-fb1d4e38f6db

22 months agoRollup merge of #100438 - compiler-errors:issue-100360, r=lcnr
Michael Goulet [Sat, 13 Aug 2022 21:10:07 +0000 (14:10 -0700)]
Rollup merge of #100438 - compiler-errors:issue-100360, r=lcnr

Erase regions better in `promote_candidate`

Use `tcx.erase_regions` instead of manually walking through the substs.... this also makes the code slightly simpler :see_no_evil:

Fixes #100360
Fixes #89851

22 months agoRollup merge of #100434 - compiler-errors:issue-100373, r=cjgillot
Michael Goulet [Sat, 13 Aug 2022 21:10:06 +0000 (14:10 -0700)]
Rollup merge of #100434 - compiler-errors:issue-100373, r=cjgillot

Fix HIR pretty printing of let else

Fixes #100373
Fixes #99318
Fixes #99319

22 months agoRollup merge of #100407 - RalfJung:no-int2ptr, r=Mark-Simulacrum
Michael Goulet [Sat, 13 Aug 2022 21:10:05 +0000 (14:10 -0700)]
Rollup merge of #100407 - RalfJung:no-int2ptr, r=Mark-Simulacrum

avoid some int2ptr casts in thread_local_key tests

22 months agoRollup merge of #100355 - camelid:has2-rename, r=GuillaumeGomez
Michael Goulet [Sat, 13 Aug 2022 21:10:04 +0000 (14:10 -0700)]
Rollup merge of #100355 - camelid:has2-rename, r=GuillaumeGomez

rustdoc: Rename `@has FILE PATTERN` to `@hasraw FILE PATTERN`

Fixes #100354.

22 months agofix span_extend_to_next_char docs
Goldstein [Sat, 13 Aug 2022 20:33:21 +0000 (23:33 +0300)]
fix span_extend_to_next_char docs

22 months agowf correctly shallow_resolve consts
lcnr [Sat, 13 Aug 2022 11:49:11 +0000 (13:49 +0200)]
wf correctly shallow_resolve consts

22 months agomove
Ellen [Sat, 13 Aug 2022 18:42:25 +0000 (19:42 +0100)]
move

22 months agoDo not inline non-simple argument type errors into labels
Michael Goulet [Sat, 13 Aug 2022 05:44:20 +0000 (05:44 +0000)]
Do not inline non-simple argument type errors into labels

22 months agoLabel argument coercion errors
Michael Goulet [Sat, 13 Aug 2022 05:22:47 +0000 (05:22 +0000)]
Label argument coercion errors

22 months agochange `InlineAsmCtxt` to not talk about `FnCtxt`
lcnr [Sat, 13 Aug 2022 17:57:22 +0000 (19:57 +0200)]
change `InlineAsmCtxt` to not talk about `FnCtxt`

22 months agoAdd Duration rounding change to release note
Jeong YunWon [Sat, 13 Aug 2022 06:51:48 +0000 (15:51 +0900)]
Add Duration rounding change to release note

22 months agonicer Miri backtraces for from_exposed_addr
Ralf Jung [Sat, 13 Aug 2022 16:55:43 +0000 (12:55 -0400)]
nicer Miri backtraces for from_exposed_addr

22 months agoupdate Miri
Ralf Jung [Sat, 13 Aug 2022 14:00:48 +0000 (10:00 -0400)]
update Miri

22 months agouse `span_suggestion` instead of `span_suggestion_verbose`
Takayuki Maeda [Sat, 13 Aug 2022 13:10:54 +0000 (22:10 +0900)]
use `span_suggestion` instead of `span_suggestion_verbose`

22 months agoAuto merge of #100380 - nicholasbishop:bishop-update-cb2, r=Mark-Simulacrum
bors [Sat, 13 Aug 2022 05:10:01 +0000 (05:10 +0000)]
Auto merge of #100380 - nicholasbishop:bishop-update-cb2, r=Mark-Simulacrum

Update compiler_builtins to 0.1.79

This pulls in a memcmp fix and some UEFI float-to-int fixes:
https://github.com/rust-lang/compiler-builtins/compare/0.1.78...0.1.79

22 months agorustdoc: Fix incorrect usage of `@!has` and `@!matches`
Noah Lev [Sat, 13 Aug 2022 04:56:16 +0000 (00:56 -0400)]
rustdoc: Fix incorrect usage of `@!has` and `@!matches`

`@!has` (and `@!matches`) with two arguments used to treat the second
argument as a literal string of HTML code. Now, that feature has been
renamed into `@!hasraw` (and `@!matchesraw`), and the arity-2 `@!has`
version is an error.

These uses thought the second argument was being treated as an XPath, as
with the arity-3 version, but in fact was being treated as literal HTML.
Because these were checking for the *absence* of the string, the tests
silently did nothing -- an XPath string won't ever be showing up in the
test's generated HTML!

22 months agoUpdate `@!has` name in tests
Noah Lev [Fri, 12 Aug 2022 04:44:07 +0000 (00:44 -0400)]
Update `@!has` name in tests

22 months agogive a helpful diagnostic even when the next struct field has an attribute
yukang [Sat, 13 Aug 2022 04:50:53 +0000 (12:50 +0800)]
give a helpful diagnostic even when the next struct field has an attribute

22 months agoFix line lengths
Noah Lev [Thu, 11 Aug 2022 15:09:48 +0000 (11:09 -0400)]
Fix line lengths

22 months agoRename `@hastext` to `@hasraw` (same for `matches`)
Noah Lev [Wed, 10 Aug 2022 20:13:18 +0000 (13:13 -0700)]
Rename `@hastext` to `@hasraw` (same for `matches`)

I think `@hasraw` is slightly clearer than `@hastext` since it is
actually matching against the raw HTML, not the text nodes.

22 months agoUpdate tests: arity-2 `@{has,matches}` -> `...text`
Noah Lev [Wed, 10 Aug 2022 20:10:04 +0000 (13:10 -0700)]
Update tests: arity-2 `@{has,matches}` -> `...text`

22 months agoRename `@{has,matches}-literal` to `...text`
Noah Lev [Wed, 10 Aug 2022 04:52:04 +0000 (21:52 -0700)]
Rename `@{has,matches}-literal` to `...text`

Reasons:
1. It's shorter.
2. `@matches-literal` seems to contradict itself: a regex is
   intrinsically not a literal match, while it is still a textual match.

22 months agoUse different name for arity-2 `@has` and `@matches`
Noah Lev [Wed, 10 Aug 2022 04:50:54 +0000 (21:50 -0700)]
Use different name for arity-2 `@has` and `@matches`

See #100354 for the rationale.

22 months agoAuto merge of #100341 - andrewpollack:fuchsia-llvm-libunwind, r=tmandry
bors [Sat, 13 Aug 2022 02:41:27 +0000 (02:41 +0000)]
Auto merge of #100341 - andrewpollack:fuchsia-llvm-libunwind, r=tmandry

Use llvm-libunwind="in-tree" for Fuchsia targets

With updates to Fuchsia CI's Zircon libraries #99833, we can introduce `llvm-libunwind="in-tree"` for Fuchsia targets. This PR restores functionality removed from https://github.com/rust-lang/rust/pull/93604#issuecomment-1136515651.

cc `@tmandry` `@djkoloski`

22 months agoAuto merge of #100324 - Mark-Simulacrum:bootstrap-bump, r=jyn514
bors [Sat, 13 Aug 2022 00:12:48 +0000 (00:12 +0000)]
Auto merge of #100324 - Mark-Simulacrum:bootstrap-bump, r=jyn514

Bump bootstrap compiler to 1.64

r? `@jyn514` perhaps?

22 months ago`assert_{inhabited,zero_valid,uninit_valid}` intrinsics are safe
Tomasz Miąsko [Sat, 13 Aug 2022 00:00:00 +0000 (00:00 +0000)]
`assert_{inhabited,zero_valid,uninit_valid}` intrinsics are safe

Those intrinsics either panic or do nothing. They are safe.

22 months agoUse an extensionless `x` script for non-Windows
Josh Stone [Fri, 12 Aug 2022 22:39:26 +0000 (15:39 -0700)]
Use an extensionless `x` script for non-Windows

22 months agoMake `[rust] use-lld=true` work on windows
khyperia [Fri, 12 Aug 2022 21:30:24 +0000 (23:30 +0200)]
Make `[rust] use-lld=true` work on windows

Before, it would fail with "error: ignoring unknown argument '-Wl,--icf=all'"

22 months agoApply changes from rustfmt bump
Mark Rousskov [Tue, 9 Aug 2022 14:16:52 +0000 (10:16 -0400)]
Apply changes from rustfmt bump

22 months agoAdjust cfgs
Mark Rousskov [Tue, 9 Aug 2022 13:56:13 +0000 (09:56 -0400)]
Adjust cfgs

22 months agoBump bootstrap compiler
Mark Rousskov [Tue, 9 Aug 2022 13:40:54 +0000 (09:40 -0400)]
Bump bootstrap compiler

22 months agoChange fluent_messages macro to expect _ slugs instead of - slugs
est31 [Wed, 10 Aug 2022 09:31:31 +0000 (11:31 +0200)]
Change fluent_messages macro to expect _ slugs instead of - slugs

For the most part, the macro actually worked with _ slugs, but the prefix_something -> prefix::something
conversion was not implemented.

We don't want to accept - slugs for consistency reasons.
We thus error if a name is found with - inside.
This ensures a consistent style.

22 months agoFix tests
est31 [Wed, 10 Aug 2022 20:03:45 +0000 (22:03 +0200)]
Fix tests

22 months agoRespond to PR comments. Cleanup documentation.
ridwanabdillahi [Fri, 12 Aug 2022 20:24:17 +0000 (13:24 -0700)]
Respond to PR comments. Cleanup documentation.

22 months agoUpdate rustdoc to new slug style
est31 [Wed, 10 Aug 2022 09:31:10 +0000 (11:31 +0200)]
Update rustdoc to new slug style

22 months agoReplace - with _ in ftl slugs for better grepability
est31 [Wed, 10 Aug 2022 07:42:10 +0000 (09:42 +0200)]
Replace - with _ in ftl slugs for better grepability

Having to replace - with _ (and vice versa) makes the slugs less greppable
and thus constitutes a contributor roadblock.

Result of running this repeatedly up until reaching a fixpoint:

find compiler/rustc_error_messages/locales/en-US/ -type f -exec sed -i 's/\(.+\)-\(.*\)=/\1_\2=/' {} \;

Plus some fixes to update usages of slugs leading with -.

22 months agoRespond to RFC comments.
ridwanabdillahi [Fri, 12 Aug 2022 18:34:31 +0000 (11:34 -0700)]
Respond to RFC comments.

22 months agoAuto merge of #100456 - Dylan-DPC:rollup-fn17z9f, r=Dylan-DPC
bors [Fri, 12 Aug 2022 16:32:24 +0000 (16:32 +0000)]
Auto merge of #100456 - Dylan-DPC:rollup-fn17z9f, r=Dylan-DPC

Rollup of 9 pull requests

Successful merges:

 - #100022 (Optimize thread ID generation)
 - #100030 (cleanup code w/ pointers in std a little)
 - #100229 (add -Zextra-const-ub-checks to enable more UB checking in const-eval)
 - #100247 (Generalize trait object generic param check to aliases.)
 - #100255 (Adding more verbose documentation for `std::fmt::Write`)
 - #100366 (errors: don't fail on broken primary translations)
 - #100396 (Suggest const and static for global variable)
 - #100409 (rustdoc: don't generate DOM element for operator)
 - #100443 (Add two let else regression tests)

Failed merges:

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

22 months agorustc_target: Update some old naming around self contained linking
Vadim Petrochenkov [Wed, 3 Aug 2022 22:43:17 +0000 (01:43 +0300)]
rustc_target: Update some old naming around self contained linking

The "fallback" naming pre-dates introduction of `-Clink-self-contained`

22 months agoAddress nit
Michael Goulet [Fri, 12 Aug 2022 15:35:27 +0000 (15:35 +0000)]
Address nit

22 months agoAdjust span of fn arguments
Michael Goulet [Fri, 12 Aug 2022 15:21:39 +0000 (15:21 +0000)]
Adjust span of fn arguments

22 months agoAdjust span of closure param
Michael Goulet [Sat, 23 Jul 2022 17:46:20 +0000 (17:46 +0000)]
Adjust span of closure param

22 months agoAnd for closures
Michael Goulet [Sat, 23 Jul 2022 17:43:21 +0000 (17:43 +0000)]
And for closures

22 months agoPoint out a single arg if we have a single arg incompatibility
Michael Goulet [Sat, 23 Jul 2022 17:17:19 +0000 (17:17 +0000)]
Point out a single arg if we have a single arg incompatibility

22 months ago[debuginfo] Update src/test/debuginfo/mutex.rs for new cpp-like enum debuginfo encoding.
Michael Woerister [Fri, 12 Aug 2022 15:16:55 +0000 (17:16 +0200)]
[debuginfo] Update src/test/debuginfo/mutex.rs for new cpp-like enum debuginfo encoding.

22 months agoCheck ctor for missing stability
Michael Goulet [Thu, 11 Aug 2022 22:25:16 +0000 (22:25 +0000)]
Check ctor for missing stability

22 months agoenum variant ctor inherits stability of variant
Michael Goulet [Thu, 11 Aug 2022 22:20:35 +0000 (22:20 +0000)]
enum variant ctor inherits stability of variant

22 months agoRollup merge of #100443 - est31:let_else_regression_tests, r=Mark-Simulacrum
Dylan DPC [Fri, 12 Aug 2022 15:09:18 +0000 (20:39 +0530)]
Rollup merge of #100443 - est31:let_else_regression_tests, r=Mark-Simulacrum

Add two let else regression tests

Adds a regression test for #94176, as it was fixed by #98574 but doesn't have a regression test. The PR also incorporates a commit from #94012 which added a test for an issue discovered in that PR.

Originally they have been part of #99291, but I've moved them out in the hopes of getting them merged more quickly, as that PR is already open since a month, and so that #99291 can focus on the drop order part of things.

Closes #94176
Closes #96961 -- dupe of #94176

22 months agoRollup merge of #100409 - jsha:highlight-lighter, r=GuillaumeGomez
Dylan DPC [Fri, 12 Aug 2022 15:09:17 +0000 (20:39 +0530)]
Rollup merge of #100409 - jsha:highlight-lighter, r=GuillaumeGomez

rustdoc: don't generate DOM element for operator

In our source page highlighting, we were generating `<span class="op">` tags for all "operators", including e.g. `<` `>` around generic parameters, `*`, `&`. This contributed significantly to DOM size, but we don't actually style `.op` except in the ayu theme.

Remove the styles for `.op` in ayu, and stop generating the `<span>`s.

This reduces DOM size of an example page[1] from 265,938 HTML elements to 242,165 elements, a 9% reduction.

r? ``@GuillaumeGomez``

Demo: (warning - slow!) https://rustdoc.crud.net/jsha/highlight-lighter/src/core/up/up/stdarch/crates/core_arch/src/x86/avx512f.rs.html

[1]:
https://doc.rust-lang.org/nightly/src/core/up/up/stdarch/crates/core_arch/src/x86/avx512f.rs.html

22 months agoRollup merge of #100396 - chenyukang:fix-100394, r=petrochenkov
Dylan DPC [Fri, 12 Aug 2022 15:09:16 +0000 (20:39 +0530)]
Rollup merge of #100396 - chenyukang:fix-100394, r=petrochenkov

Suggest const and static for global variable

Fixing #100394

22 months agoRollup merge of #100366 - davidtwco:translation-never-fail, r=compiler-errors
Dylan DPC [Fri, 12 Aug 2022 15:09:14 +0000 (20:39 +0530)]
Rollup merge of #100366 - davidtwco:translation-never-fail, r=compiler-errors

errors: don't fail on broken primary translations

If a primary bundle doesn't contain a message then the fallback bundle is used. However, if the primary bundle's message is broken (e.g. it refers to a interpolated variable that the compiler isn't providing) then this would just result in a compiler panic. While there aren't any primary bundles right now, this is the type of issue that could come up once translation is further along.

r? ```@compiler-errors``` (since this comes out of a in-person discussion we had at RustConf)

22 months agoRollup merge of #100255 - thedanvail:issue-98861-fix, r=joshtriplett
Dylan DPC [Fri, 12 Aug 2022 15:09:13 +0000 (20:39 +0530)]
Rollup merge of #100255 - thedanvail:issue-98861-fix, r=joshtriplett

Adding more verbose documentation for `std::fmt::Write`

Attempts to address #98861

22 months agoRollup merge of #100247 - cjgillot:verify-dyn-trait-alias-defaults, r=lcnr
Dylan DPC [Fri, 12 Aug 2022 15:09:12 +0000 (20:39 +0530)]
Rollup merge of #100247 - cjgillot:verify-dyn-trait-alias-defaults, r=lcnr

Generalize trait object generic param check to aliases.

The current algorithm only checks that `Self` does not appear in defaults for traits.  This is not sufficient for trait aliases.
This PR moves the check to trait object elaboration, which sees through trait aliases.

Fixes https://github.com/rust-lang/rust/issues/82927.
Fixes https://github.com/rust-lang/rust/issues/84789.

22 months agoRollup merge of #100229 - RalfJung:extra-const-ub-checks, r=lcnr
Dylan DPC [Fri, 12 Aug 2022 15:09:11 +0000 (20:39 +0530)]
Rollup merge of #100229 - RalfJung:extra-const-ub-checks, r=lcnr

add -Zextra-const-ub-checks to enable more UB checking in const-eval

Cc https://github.com/rust-lang/rust/issues/99923
r? `@oli-obk`

22 months agoRollup merge of #100030 - WaffleLapkin:nice_pointer_sis, r=scottmcm
Dylan DPC [Fri, 12 Aug 2022 15:09:10 +0000 (20:39 +0530)]
Rollup merge of #100030 - WaffleLapkin:nice_pointer_sis, r=scottmcm

cleanup code w/ pointers in std a little

Use pointer methods (`byte_add`, `null_mut`, etc) to make code in std a little nicer.

22 months agoRollup merge of #100022 - joboet:faster_threadid, r=joshtriplett
Dylan DPC [Fri, 12 Aug 2022 15:09:09 +0000 (20:39 +0530)]
Rollup merge of #100022 - joboet:faster_threadid, r=joshtriplett

Optimize thread ID generation

By using atomics where available, thread IDs can be generated without locking while still enforcing uniqueness.

22 months agoAuto merge of #100328 - davidtwco:perf-implications, r=nnethercote
bors [Fri, 12 Aug 2022 13:51:26 +0000 (13:51 +0000)]
Auto merge of #100328 - davidtwco:perf-implications, r=nnethercote

passes: load `defined_lib_features` query less

Hopefully addresses the perf regressions from #99212 (see #99905).

Re-structure the stability checks for library features to avoid calling `defined_lib_features` for any more crates than necessary for each of the implications or local feature attributes that need validation.

r? `@ghost` (just checking perf at first)

22 months agofill-in tracking issue for `feature(iter_array_chunks)`
Maybe Waffle [Fri, 12 Aug 2022 10:58:14 +0000 (14:58 +0400)]
fill-in tracking issue for `feature(iter_array_chunks)`

22 months agoaddress review comments
Maybe Waffle [Fri, 12 Aug 2022 10:57:15 +0000 (14:57 +0400)]
address review comments

22 months ago[debuginfo] Update codegen tests for new cpp-like enum debuginfo encoding.
Michael Woerister [Fri, 12 Aug 2022 10:00:02 +0000 (12:00 +0200)]
[debuginfo] Update codegen tests for new cpp-like enum debuginfo encoding.

22 months agoAuto merge of #99624 - vincenzopalazzo:macros/unix_error, r=Amanieu
bors [Fri, 12 Aug 2022 09:49:55 +0000 (09:49 +0000)]
Auto merge of #99624 - vincenzopalazzo:macros/unix_error, r=Amanieu

promote debug_assert to assert when possible and useful

This PR fixed a very old issue https://github.com/rust-lang/rust/issues/94705 to clarify and improve the POSIX error checking, and some of the checks are skipped because can have no benefit, but I'm sure that this can open some interesting discussion.

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

cc: `@tavianator`
cc: `@cuviper`

22 months agoremove Clean trait implementation for hir::BareFnTy
Guillaume Gomez [Fri, 12 Aug 2022 09:40:39 +0000 (11:40 +0200)]
remove Clean trait implementation for hir::BareFnTy

22 months agoremove Clean trait implementation for hir::PathSegment
Guillaume Gomez [Fri, 12 Aug 2022 09:37:32 +0000 (11:37 +0200)]
remove Clean trait implementation for hir::PathSegment

22 months agoimprove "try ignoring the field" diagnostic
Goldstein [Mon, 1 Aug 2022 18:49:12 +0000 (21:49 +0300)]
improve "try ignoring the field" diagnostic

Closes #95795

22 months agosuggest removing a semicolon after impl/trait items
Takayuki Maeda [Fri, 12 Aug 2022 09:11:01 +0000 (18:11 +0900)]
suggest removing a semicolon after impl/trait items

22 months agoadapt test for msan message change
Krasimir Georgiev [Fri, 12 Aug 2022 08:57:18 +0000 (08:57 +0000)]
adapt test for msan message change

LLVM commit https://github.com/llvm/llvm-project/commit/057cabd997aeaef136e1e14f2ee645bd5bb197dd removed the function from the msan error message. This adapts our test accordingly.

Found via our experimental rust + llvm @ HEAD bot:
https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/12634#018289fe-b0bc-4bab-89b3-fb1d4e38f6db

22 months ago[debuginfo] Use IndexMap instead of FxHashMap while generating cpp-like generator...
Michael Woerister [Thu, 11 Aug 2022 09:09:24 +0000 (11:09 +0200)]
[debuginfo] Use IndexMap instead of FxHashMap while generating cpp-like generator debuginfo.

22 months ago[debuginfo] Update cpp-like enum decoding docs to account for wrapping tag ranges.
Michael Woerister [Wed, 20 Jul 2022 14:15:02 +0000 (16:15 +0200)]
[debuginfo] Update cpp-like enum decoding docs to account for wrapping tag ranges.

22 months ago[debuginfo] Don't mark fields and types as artificial in CPP-like enum debuginfo...
Michael Woerister [Fri, 8 Jul 2022 15:15:43 +0000 (17:15 +0200)]
[debuginfo] Don't mark fields and types as artificial in CPP-like enum debuginfo encoding.

LLDB historically has had problems with "artificial" entries and there
is no real benefit to emitting that flag.

22 months ago[debuginfo] Remove the notion of a 'fallback variant' from the CPP-like enum debuginf...
Michael Woerister [Fri, 8 Jul 2022 15:09:32 +0000 (17:09 +0200)]
[debuginfo] Remove the notion of a 'fallback variant' from the CPP-like enum debuginfo encoding.

22 months ago[compiletest] Add compiler-bundled NatVis files to test input stamp.
Michael Woerister [Fri, 8 Jul 2022 09:46:39 +0000 (11:46 +0200)]
[compiletest] Add compiler-bundled NatVis files to test input stamp.

22 months agointrinsic.natvis: Add comments, make names more consistent.
Michael Woerister [Fri, 8 Jul 2022 09:44:25 +0000 (11:44 +0200)]
intrinsic.natvis: Add comments, make names more consistent.

22 months ago[debuginfo] Add more test cases cpp-like enum debuginfo.
Michael Woerister [Thu, 7 Jul 2022 15:22:04 +0000 (17:22 +0200)]
[debuginfo] Add more test cases cpp-like enum debuginfo.

22 months agointrinsic.natvis: Don't access fields from context object in <Intrinsic>.
Michael Woerister [Thu, 7 Jul 2022 15:20:45 +0000 (17:20 +0200)]
intrinsic.natvis: Don't access fields from context object in <Intrinsic>.

WinDbg supports that but Visual Studio doesn't. Pass the value as a parameter instead.

22 months agoRemove out-dated NatVis visualizer.
Michael Woerister [Thu, 7 Jul 2022 13:04:56 +0000 (15:04 +0200)]
Remove out-dated NatVis visualizer.

22 months agoSupport wrapping 128-bit tag ranges for cpp-like enum debuginfo.
Michael Woerister [Thu, 7 Jul 2022 13:04:23 +0000 (15:04 +0200)]
Support wrapping 128-bit tag ranges for cpp-like enum debuginfo.

22 months agoUse enum2<_> instead of enum<_> for Cpp-like debuginfo enum type names.
Michael Woerister [Thu, 7 Jul 2022 13:01:43 +0000 (15:01 +0200)]
Use enum2<_> instead of enum<_> for Cpp-like debuginfo enum type names.

And add more comments about niche tag enum encoding.

22 months agodebuginfo: Change C++-like encoding for enums.
Michael Woerister [Mon, 20 Jun 2022 15:50:27 +0000 (17:50 +0200)]
debuginfo: Change C++-like encoding for enums.

The updated encoding should be able to handle niche layouts where
more than one variant has fields.

22 months agoAdd regression test for #94176
est31 [Fri, 15 Jul 2022 16:53:23 +0000 (18:53 +0200)]
Add regression test for #94176

22 months agolet-else: add a test for warnings on let-else with diverging tail
Cormac Relf [Tue, 15 Feb 2022 06:42:50 +0000 (17:42 +1100)]
let-else: add a test for warnings on let-else with diverging tail

22 months agoAuto merge of #100435 - ehuss:update-cargo, r=ehuss
bors [Fri, 12 Aug 2022 06:45:35 +0000 (06:45 +0000)]
Auto merge of #100435 - ehuss:update-cargo, r=ehuss

Update cargo

8 commits in ce40690a5e4e315d3dab0aae1eae69d0252c52ac..efd4ca3dc0b89929dc8c5f5c023d25978d76cb61
2022-08-09 22:32:17 +0000 to 2022-08-12 01:28:28 +0000
- Use `std::thread::scope` to replace crossbeam (rust-lang/cargo#10977)
- [docs] Remove extra "in" from `cargo-test.md` (rust-lang/cargo#10978)
- Enable two windows tests (rust-lang/cargo#10930)
- Improve error msg for get target runner (rust-lang/cargo#10968)
- Ensure rustc-echo-wrapper works with an overridden build.target-dir (rust-lang/cargo#10962)
- Switch back to `available_parallelism` (rust-lang/cargo#10969)
- Only override published resolver when the workspace is different (rust-lang/cargo#10961)
- Add `CARGO_LOG` to "Environment variables Cargo reads" (rust-lang/cargo#10967)

22 months agoUpdate clippy for introduction of Node::ExprField
Eric Huss [Sun, 31 Jul 2022 21:22:27 +0000 (14:22 -0700)]
Update clippy for introduction of Node::ExprField

22 months agoFix diagnostic that was looking for a PatKind::Struct
Eric Huss [Sun, 31 Jul 2022 02:30:15 +0000 (19:30 -0700)]
Fix diagnostic that was looking for a PatKind::Struct

Now that fields are first-class HIR nodes, they appear before the struct pat.

22 months agoAdd missing visit_pat_field in early lint visitor.
Eric Huss [Wed, 6 Jul 2022 01:27:21 +0000 (18:27 -0700)]
Add missing visit_pat_field in early lint visitor.

This ensures that lint attributes on pattern fields can control
early lints.

22 months agoMake Node::ExprField a child of Node::Expr.
Eric Huss [Wed, 6 Jul 2022 00:42:39 +0000 (17:42 -0700)]
Make Node::ExprField a child of Node::Expr.

This was incorrectly inserting the ExprField as a sibling of the struct
expression.

This required adjusting various parts which were looking at parent node
of a field expression to find the struct.

22 months agoAdd visitors for PatField and ExprField.
Eric Huss [Mon, 23 May 2022 01:34:37 +0000 (18:34 -0700)]
Add visitors for PatField and ExprField.

This helps simplify the code. It also fixes it to use the correct parent
when lowering. One consequence is the `non_snake_case` lint needed
to change the way it looked for parent nodes in a struct pattern.

This also includes a small fix to use the correct `Target` for
expression field attribute validation.

22 months agoHonor lint level attributes in more places.
Eric Huss [Thu, 5 May 2022 20:44:12 +0000 (13:44 -0700)]
Honor lint level attributes in more places.

This extends the LintLevelBuilder to handle lint level attributes on
struct expression fields and pattern fields.

This also updates the early lints to honor lint levels on generic
parameters.

22 months agoCheck attributes on struct expression fields.
Eric Huss [Tue, 3 May 2022 20:23:03 +0000 (13:23 -0700)]
Check attributes on struct expression fields.

Attributes on struct expression fields were not being checked for
validity. This adds the fields as HIR nodes so that `CheckAttrVisitor`
can visit those nodes to check their attributes.

22 months agoCheck attributes on pattern fields.
Eric Huss [Tue, 3 May 2022 18:52:53 +0000 (11:52 -0700)]
Check attributes on pattern fields.

Attributes on pattern struct fields were not being checked for validity.
This adds the fields as HIR nodes so that the `CheckAttrVisitor` can
visit those nodes to check their attributes.

22 months agoErase regions better in promote_candidate
Michael Goulet [Fri, 12 Aug 2022 03:48:40 +0000 (03:48 +0000)]
Erase regions better in promote_candidate