Commit Graph

14081 Commits

Author SHA1 Message Date
klensy
78fbcca3e1 use cfg attribute instead of macro 2022-03-28 08:37:32 +03:00
Michael Goulet
928388bad2 Make fatal DiagnosticBuilder yield never 2022-03-27 22:25:32 -07:00
Takayuki Maeda
c26cfd1c53 use can_coerce instead of same_type_modulo_infer 2022-03-28 13:43:33 +09:00
Takayuki Maeda
9e4d019fee suggest replacing field when using the same type 2022-03-28 12:38:10 +09:00
bors
3badf5c51c Auto merge of #95333 - GuillaumeGomez:auto-trait-perf-issue, r=oli-obk
Fix perf issue for auto trait selection

Follow-up of https://github.com/rust-lang/rust/pull/95069 which fixes the perf issue introduced by it.

r? `@oli-obk`
2022-03-28 00:01:01 +00:00
Nicholas Nethercote
9967594346 Ignore doc comments in a declarative macro matcher.
Fixes #95267. Reverts to the old behaviour before #95159 introduced a
regression.
2022-03-28 10:45:24 +11:00
Michael Goulet
fc289a0796 suggest wrapping in struct tuples as well 2022-03-27 16:44:55 -07:00
Michael Goulet
07776c111f do not suggest enum tuple variant for named field variant 2022-03-27 16:10:02 -07:00
Michael Goulet
dd6683fcda suggest wrapping patterns with compatible enum variants 2022-03-27 16:10:02 -07:00
Nicholas Nethercote
364b908d57 Remove Nonterminal::NtTT.
It's only needed for macro expansion, not as a general element in the
AST. This commit removes it, adds `NtOrTt` for the parser and macro
expansion cases, and renames the variants in `NamedMatch` to better
match the new type.
2022-03-28 10:03:02 +11:00
bors
62523045ec Auto merge of #95382 - Dylan-DPC:rollup-bebyfd1, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #94939 (diagnostics: suggest missing comma in bad FRU syntax)
 - #95120 (Implement `apply_switch_int_edge_effects` for backward analyses)
 - #95364 (Add long error explanation for E0667)
 - #95366 (Remove test files with duplicated checksums)
 - #95368 (Fix typo in `String::try_reserve_exact` docs)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-03-27 21:36:42 +00:00
Noah Lev
4943688e9d Fix from rebase
I changed the test functions to be `pub` rather than called from a
`main` function too, for easier future modification of tests.
2022-03-27 13:54:34 -07:00
Dylan DPC
dafc29dd72 Rollup merge of #95364 - GuillaumeGomez:long-error-explanation-e0667, r=Dylan-DPC
Add long error explanation for E0667

Part of #61137.
2022-03-27 22:51:40 +02:00
Dylan DPC
a8be562bdf Rollup merge of #95120 - smoelius:backward-switch-int, r=ecstatic-morse
Implement `apply_switch_int_edge_effects` for backward analyses

See #94576 for some discussion.

r? `@ecstatic-morse`
2022-03-27 22:51:39 +02:00
DrMeepster
09ccc63624 fix other source of box deref 2022-03-27 13:35:29 -07:00
bors
ab0c2e18dc Auto merge of #94495 - estebank:missing-closing-gt, r=jackh726
Provide suggestion for missing `>` in a type parameter list

When encountering an inproperly terminated type parameter list, provide
a suggestion to close it after the last non-constraint type parameter
that was successfully parsed.

Fix #94058.
2022-03-27 18:55:58 +00:00
Dylan MacKenzie
241ec5b3b3 Nit 2022-03-27 10:58:55 -07:00
Michael Howell
301fc070ff diagnostics: suggest missing comma in bad FRU syntax
Fixes #51103
2022-03-27 10:01:29 -07:00
Guillaume Gomez
eae2903150 Add long error explanation for E0667 2022-03-27 14:09:52 +02:00
Esteban Kuber
157c67b7a8 Handle , to ; substitution in arg params 2022-03-27 06:05:18 +00:00
bors
185a3f0a11 Auto merge of #95351 - Dylan-DPC:rollup-o1il7tx, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #91981 (Recover suggestions and useful information lost in previous PR)
 - #93469 (Skip pointing out ambiguous impls in alloc/std crates too in inference errors)
 - #95335 (Move resolve_path to rustc_builtin_macros and make it private)
 - #95340 (interpret: with enforce_number_validity, ensure integers are truly Scalar::Int (i.e., no pointers))
 - #95341 (ARMv6K Horizon OS has_thread_local support)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-03-27 04:20:07 +00:00
Michael Goulet
8588f79802 Do not use ParamEnv::and to cache param-env with candidate 2022-03-26 21:11:06 -07:00
Dylan DPC
2ab4ad5f26 Rollup merge of #95341 - Meziu:armv6k-3ds-target, r=nagisa
ARMv6K Horizon OS has_thread_local support

cc. ```@ian-h-chamberlain```
cc. ```@AzureMarker```

Being an ARM target, it has always had built-in support for `#[thread_local]`. This PR comes in just now because we were testing `std::thread` support with `thread_local_dtor`s. This will hopefully be the last PR for the target specification, unless anymore features will be needed as time goes on.
2022-03-27 05:36:11 +02:00
Dylan DPC
178a09e672 Rollup merge of #95340 - RalfJung:pnvi, r=oli-obk
interpret: with enforce_number_validity, ensure integers are truly Scalar::Int (i.e., no pointers)

This is required for https://github.com/rust-lang/miri/pull/2040

r? ```@oli-obk```
2022-03-27 05:36:10 +02:00
Dylan DPC
979c8e885e Rollup merge of #95335 - Badel2:resolve-path, r=Dylan-DPC
Move resolve_path to rustc_builtin_macros and make it private

Fixing a FIXME introduced by `@jyn514` in #85457
2022-03-27 05:36:09 +02:00
Dylan DPC
c6bb219fc4 Rollup merge of #93469 - compiler-errors:issue-93450, r=estebank
Skip pointing out ambiguous impls in alloc/std crates too in inference errors

This generalizes the logic in `annotate_source_of_ambiguity` to skip printing ambiguity errors traits in `alloc` and `std` as well, not just `core`.

While this does spot-fix the issue mentioned below, it would be nicer to generalize this logic, for example to detect when the trait predicate's `self_ty` has any numerical inference variables. Is it worthwhile to scrap this solution for one like that?

Fixes #93450

r? `@estebank`
feel free to reassign
2022-03-27 05:36:08 +02:00
Dylan DPC
4435bb0704 Rollup merge of #91981 - estebank:tweakaroo, r=lcnr
Recover suggestions and useful information lost in previous PR

Follow up to #91898.
2022-03-27 05:36:08 +02:00
Esteban Kuber
6874bd27f5 Provide suggestion for missing > in a type parameter list
When encountering an inproperly terminated type parameter list, provide
a suggestion to close it after the last non-constraint type parameter
that was successfully parsed.

Fix #94058.
2022-03-27 02:50:04 +00:00
Esteban Kuber
f479e262d6 review comments and rebase 2022-03-27 02:40:07 +00:00
Esteban Kuber
1db02b8a43 Change wording of missing return type suggestion 2022-03-27 02:20:17 +00:00
Esteban Kuber
b09420f95a Drive by: handle references in same_type_modulo_infer 2022-03-27 02:20:17 +00:00
Esteban Kuber
1c85987274 Point (again) to more expressions with their type, even if not fully resolved 2022-03-27 02:20:17 +00:00
Esteban Kuber
c4d741fa16 Also resolve const param suggestion 2022-03-27 02:20:17 +00:00
Esteban Kuber
474626af50 Eagerly replace {integer}/{float} with i32/f64 for suggestion 2022-03-27 02:20:16 +00:00
bors
06c3c62a52 Auto merge of #95338 - bjorn3:sync_cg_gcc-2022-03-26, r=antoyo
Sync rustc_codegen_gcc

r? `@ghost`

`@rustbot` label +A-codegen +A-gcc +T-compiler

cc `@antoyo`
2022-03-27 01:55:15 +00:00
Guillaume Gomez
bd51f174ed Remove SelectionContext::allow_negative_impls field 2022-03-27 03:01:34 +02:00
Vadim Petrochenkov
a7d7a268e9 resolve: Simplify some diagnostic code to avoid an ICE 2022-03-27 02:43:29 +03:00
Aaron Hill
8035796b9a Stablize const_extern_fn for "Rust" and "C"
All other ABIs are left unstable for now.

cc #64926
2022-03-26 18:23:54 -04:00
David Tolnay
f383134acc Use str and char's Debug impl to format literals 2022-03-26 13:15:48 -07:00
Meziu
419b6309a9 Merge pull request #16 from ian-h-chamberlain/feature/target-thread-local
Enable #[thread_local] on armv6k-nintendo-3ds
2022-03-26 20:49:19 +01:00
Ralf Jung
3bbcf64fb3 interpret: with enforce_number_validity, ensure integers are truly Scalar::Int (i.e., no pointers) 2022-03-26 14:35:36 -04:00
bjorn3
bbff48e094 Merge commit '39683d8eb7a32a74bea96ecbf1e87675d3338506' into sync_cg_gcc-2022-03-26 2022-03-26 18:29:37 +01:00
Ralf Jung
78b680e14a interpret: mark a dead match arm as dead 2022-03-26 13:17:07 -04:00
Badel2
ea26d72710 Move resolve_path to rustc_builtin_macros and make it private 2022-03-26 16:47:13 +01:00
Guillaume Gomez
ad88732254 Fix perf issue for auto trait selection 2022-03-26 14:58:19 +01:00
Ian Chamberlain
78294371c4 Enable #[thread_local] on armv6k-nintendo-3ds 2022-03-26 09:29:01 -04:00
Samuel E. Moelius III
37ebd47ddb Address review comments
* Add lazily computed `switch_sources` data structure
* Don't assume a target has only one associated value
2022-03-26 08:01:51 -04:00
Vadim Petrochenkov
baa3ad4dc8 proc-macro: Stop wrapping ident matchers into groups 2022-03-26 12:38:46 +03:00
DrMeepster
ece64ed3f5 check the the right field 2022-03-26 00:08:51 -07:00
DrMeepster
46dadfc142 widen special case on deref to all non-zst allocators 2022-03-25 23:16:23 -07:00