diff options
| author | bors <bors@rust-lang.org> | 2024-05-21 19:29:59 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-05-21 19:29:59 +0000 |
| commit | 39e02f1bd1e53d009da382654139f7c0639172a8 (patch) | |
| tree | 5d30e39fef6aaf31366f0db20eb2af9c8bee77ff | |
| parent | 506512391b1a75ae450d36c9420978402a91abcc (diff) | |
| parent | d04e2e2858a3805f170a2934c9da45205965253c (diff) | |
| download | rust-39e02f1bd1e53d009da382654139f7c0639172a8.tar.gz rust-39e02f1bd1e53d009da382654139f7c0639172a8.zip | |
Auto merge of #125379 - matthiaskrgr:rollup-6149w01, r=matthiaskrgr
Rollup of 6 pull requests Successful merges: - #123122 (Fix incorrect suggestion for undeclared hrtb lifetimes in where clauses.) - #123492 (add pull request template asking for relevant tracking issues) - #125276 (Fix parsing of erroneously placed semicolons) - #125310 (Move ~100 tests from tests/ui to subdirs) - #125357 (Migrate `run-make/rustdoc-scrape-examples-multiple` to `rmake.rs`) - #125369 (Don't do cc detection for synthetic targets) r? `@ghost` `@rustbot` modify labels: rollup
| -rw-r--r-- | .github/pull_request_template.md | 10 | ||||
| -rw-r--r-- | compiler/rustc_parse/src/parser/item.rs | 12 | ||||
| -rw-r--r-- | compiler/rustc_resolve/src/late/diagnostics.rs | 101 | ||||
| -rw-r--r-- | src/bootstrap/src/core/build_steps/synthetic_targets.rs | 5 | ||||
| -rw-r--r-- | src/tools/tidy/src/allowed_run_make_makefiles.txt | 1 | ||||
| -rw-r--r-- | src/tools/tidy/src/ui_tests.rs | 2 | ||||
| -rw-r--r-- | tests/run-make/rustdoc-scrape-examples-multiple/Makefile | 5 | ||||
| -rw-r--r-- | tests/run-make/rustdoc-scrape-examples-multiple/rmake.rs | 6 | ||||
| -rw-r--r-- | tests/run-make/rustdoc-scrape-examples-multiple/scrape.mk | 21 | ||||
| -rw-r--r-- | tests/ui/asm/empty_global_asm.rs (renamed from tests/ui/empty_global_asm.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/asm/simple_global_asm.rs (renamed from tests/ui/simple_global_asm.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/backtrace/apple-no-dsymutil.rs (renamed from tests/ui/backtrace-apple-no-dsymutil.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/backtrace/auxiliary/dylib-dep-helper-aux.rs (renamed from tests/ui/debuginfo/auxiliary/dylib-dep-helper-aux.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/backtrace/auxiliary/dylib-dep-helper.rs (renamed from tests/ui/debuginfo/auxiliary/dylib-dep-helper.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/backtrace/auxiliary/line-tables-only-helper.rs (renamed from tests/ui/debuginfo/auxiliary/line-tables-only-helper.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/backtrace/backtrace.rs (renamed from tests/ui/backtrace.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/backtrace/dylib-dep.rs (renamed from tests/ui/debuginfo/backtrace-dylib-dep.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/backtrace/line-tables-only.rs (renamed from tests/ui/debuginfo/backtrace-line-tables-only.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/backtrace/std-backtrace.rs (renamed from tests/ui/std-backtrace.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/coherence/auxiliary/orphan-check-diagnostics.rs (renamed from tests/ui/auxiliary/orphan-check-diagnostics.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/coherence/orphan-check-diagnostics.rs (renamed from tests/ui/orphan-check-diagnostics.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/coherence/orphan-check-diagnostics.stderr (renamed from tests/ui/orphan-check-diagnostics.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/address-insignificant.rs (renamed from tests/ui/cross-crate/xcrate-address-insignificant.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/associated-type-defaults.rs (renamed from tests/ui/cross-crate/xcrate-associated-type-defaults.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/auxiliary/static_priv_by_default.rs (renamed from tests/ui/xcrate/auxiliary/static_priv_by_default.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/auxiliary/xcrate_unit_struct.rs (renamed from tests/ui/xcrate/auxiliary/xcrate_unit_struct.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/generic_fn_nested_return.rs (renamed from tests/ui/cross-crate/xcrate_generic_fn_nested_return.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/private-by-default.rs (renamed from tests/ui/xcrate/xcrate-private-by-default.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/private-by-default.stderr (renamed from tests/ui/xcrate/xcrate-private-by-default.stderr) | 20 | ||||
| -rw-r--r-- | tests/ui/cross-crate/static-addresses.rs (renamed from tests/ui/cross-crate/xcrate-static-addresses.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/trait-lifetime-param.rs (renamed from tests/ui/cross-crate/xcrate-trait-lifetime-param.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/unit-struct-2.rs (renamed from tests/ui/xcrate/xcrate-unit-struct-2.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/unit-struct.rs (renamed from tests/ui/xcrate/xcrate-unit-struct.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/cross-crate/unit-struct.stderr (renamed from tests/ui/xcrate/xcrate-unit-struct.stderr) | 4 | ||||
| -rw-r--r-- | tests/ui/expr/block-fn.rs (renamed from tests/ui/expr-block-fn.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/expr/block-generic.rs (renamed from tests/ui/expr-block-generic.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/expr/block.rs (renamed from tests/ui/expr-block.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/expr/copy.rs (renamed from tests/ui/expr-copy.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/expr/if-generic.rs (renamed from tests/ui/expr-if-generic.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/expr/if-panic-all.rs (renamed from tests/ui/expr-if-panic-all.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/expr/scope.rs (renamed from tests/ui/expr-scope.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/feature-gates/stmt_expr_attrs_no_feature.rs (renamed from tests/ui/stmt_expr_attrs_no_feature.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/feature-gates/stmt_expr_attrs_no_feature.stderr (renamed from tests/ui/stmt_expr_attrs_no_feature.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/ffi-attrs/ffi_const.rs (renamed from tests/ui/ffi_const.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/ffi-attrs/ffi_const.stderr (renamed from tests/ui/ffi_const.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/ffi-attrs/ffi_const2.rs (renamed from tests/ui/ffi_const2.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/ffi-attrs/ffi_const2.stderr (renamed from tests/ui/ffi_const2.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/ffi-attrs/ffi_pure.rs (renamed from tests/ui/ffi_pure.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/ffi-attrs/ffi_pure.stderr (renamed from tests/ui/ffi_pure.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/fn-main/wrong-location.rs (renamed from tests/ui/main-wrong-location.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/fn-main/wrong-location.stderr (renamed from tests/ui/main-wrong-location.stderr) | 8 | ||||
| -rw-r--r-- | tests/ui/fn-main/wrong-type.rs (renamed from tests/ui/main-wrong-type.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/fn-main/wrong-type.stderr (renamed from tests/ui/main-wrong-type.stderr) | 2 | ||||
| -rw-r--r-- | tests/ui/foreign/foreign-fn-return-lifetime.rs (renamed from tests/ui/foreign-fn-return-lifetime.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/foreign/foreign-fn-return-lifetime.stderr (renamed from tests/ui/foreign-fn-return-lifetime.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/fuel/optimization-fuel-0.rs (renamed from tests/ui/optimization-fuel-0.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/fuel/optimization-fuel-0.stderr (renamed from tests/ui/optimization-fuel-0.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/fuel/optimization-fuel-1.rs (renamed from tests/ui/optimization-fuel-1.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/fuel/optimization-fuel-1.stderr (renamed from tests/ui/optimization-fuel-1.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/fuel/print-fuel.rs (renamed from tests/ui/print-fuel/print-fuel.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/fuel/print-fuel.stderr (renamed from tests/ui/print-fuel/print-fuel.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/generics/generic-higher-ranked-lifetime-issue-122714.rs | 28 | ||||
| -rw-r--r-- | tests/ui/generics/generic-higher-ranked-lifetime-issue-122714.stderr | 92 | ||||
| -rw-r--r-- | tests/ui/inference/infer-fn-tail-expr.rs (renamed from tests/ui/infer-fn-tail-expr.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/inference/lambda-infer-unresolved.rs (renamed from tests/ui/lambda-infer-unresolved.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/inference/order-dependent-cast-inference.rs (renamed from tests/ui/order-dependent-cast-inference.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/inference/order-dependent-cast-inference.stderr (renamed from tests/ui/order-dependent-cast-inference.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/intrinsics/always-extern.rs (renamed from tests/ui/intrinsics-always-extern.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/intrinsics/always-extern.stderr (renamed from tests/ui/intrinsics-always-extern.stderr) | 8 | ||||
| -rw-r--r-- | tests/ui/intrinsics/reify-intrinsic.rs (renamed from tests/ui/reify-intrinsic.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/intrinsics/reify-intrinsic.stderr (renamed from tests/ui/reify-intrinsic.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/lint/group-denied-lint-allowed.rs (renamed from tests/ui/lint-group-denied-lint-allowed.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/lint/group-forbid-always-trumps-cli.rs (renamed from tests/ui/lint-group-forbid-always-trumps-cli.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/lint/group-forbid-always-trumps-cli.stderr (renamed from tests/ui/lint-group-forbid-always-trumps-cli.stderr) | 2 | ||||
| -rw-r--r-- | tests/ui/lint/unknown-lints-at-crate-level.rs (renamed from tests/ui/lint-unknown-lints-at-crate-level.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/macros/compile_error_macro.rs (renamed from tests/ui/compile_error_macro.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/macros/compile_error_macro.stderr (renamed from tests/ui/compile_error_macro.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/macros/module-macro_use-arguments.rs (renamed from tests/ui/module-macro_use-arguments.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/macros/module-macro_use-arguments.stderr (renamed from tests/ui/module-macro_use-arguments.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/macros/no-patterns-in-args-macro.rs (renamed from tests/ui/no-patterns-in-args-macro.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/macros/no-patterns-in-args-macro.stderr (renamed from tests/ui/no-patterns-in-args-macro.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/parser/issues/fn-no-semicolon-issue-124935-semi-after-item.rs | 6 | ||||
| -rw-r--r-- | tests/ui/parser/issues/fn-no-semicolon-issue-124935-semi-after-item.stderr | 8 | ||||
| -rw-r--r-- | tests/ui/parser/issues/issue-49040.rs | 2 | ||||
| -rw-r--r-- | tests/ui/parser/issues/issue-49040.stderr | 6 | ||||
| -rw-r--r-- | tests/ui/parser/issues/missing-main-issue-124935-semi-after-item.rs | 5 | ||||
| -rw-r--r-- | tests/ui/parser/issues/missing-main-issue-124935-semi-after-item.stderr | 10 | ||||
| -rw-r--r-- | tests/ui/parser/super-fast-paren-parsing.rs (renamed from tests/ui/super-fast-paren-parsing.rs) | 5 | ||||
| -rw-r--r-- | tests/ui/pattern/by-move-pattern-binding.rs (renamed from tests/ui/by-move-pattern-binding.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/pattern/by-move-pattern-binding.stderr (renamed from tests/ui/by-move-pattern-binding.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/pattern/fn-in-pat.rs (renamed from tests/ui/fn-in-pat.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/pattern/fn-in-pat.stderr (renamed from tests/ui/fn-in-pat.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/pattern/inc-range-pat.rs (renamed from tests/ui/inc-range-pat.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/pattern/no-patterns-in-args-2.rs (renamed from tests/ui/no-patterns-in-args-2.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/pattern/no-patterns-in-args-2.stderr (renamed from tests/ui/no-patterns-in-args-2.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/pattern/no-patterns-in-args.rs (renamed from tests/ui/no-patterns-in-args.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/pattern/no-patterns-in-args.stderr (renamed from tests/ui/no-patterns-in-args.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/process/env-args-reverse-iterator.rs (renamed from tests/ui/env-args-reverse-iterator.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/process/env-funky-keys.rs (renamed from tests/ui/env-funky-keys.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/process/env-null-vars.rs (renamed from tests/ui/env-null-vars.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/process/env-vars.rs (renamed from tests/ui/env-vars.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/process/exec-env.rs (renamed from tests/ui/exec-env.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/process/inherit-env.rs (renamed from tests/ui/inherit-env.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/range/impossible_range.fixed (renamed from tests/ui/impossible_range.fixed) | 0 | ||||
| -rw-r--r-- | tests/ui/range/impossible_range.rs (renamed from tests/ui/impossible_range.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/range/impossible_range.stderr (renamed from tests/ui/impossible_range.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/range/range_inclusive.rs (renamed from tests/ui/range_inclusive.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/repr/conflicting-repr-hints.rs (renamed from tests/ui/conflicting-repr-hints.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/repr/conflicting-repr-hints.stderr (renamed from tests/ui/conflicting-repr-hints.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/return/ret-bang.rs (renamed from tests/ui/ret-bang.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/return/ret-non-nil.rs (renamed from tests/ui/ret-non-nil.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/return/ret-non-nil.stderr (renamed from tests/ui/ret-non-nil.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/return/return-disjoint-regions.rs (renamed from tests/ui/return-disjoint-regions.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/return/return-disjoint-regions.stderr (renamed from tests/ui/return-disjoint-regions.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/return/return-nil.rs (renamed from tests/ui/return-nil.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/statics/auxiliary/check_static_recursion_foreign_helper.rs (renamed from tests/ui/auxiliary/check_static_recursion_foreign_helper.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/statics/check-immutable-mut-slices.rs (renamed from tests/ui/check-static-immutable-mut-slices.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/statics/check-immutable-mut-slices.stderr (renamed from tests/ui/check-static-immutable-mut-slices.stderr) | 2 | ||||
| -rw-r--r-- | tests/ui/statics/check-recursion-foreign.rs (renamed from tests/ui/check-static-recursion-foreign.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/statics/check-values-constraints.rs (renamed from tests/ui/check-static-values-constraints.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/statics/check-values-constraints.stderr (renamed from tests/ui/check-static-values-constraints.stderr) | 34 | ||||
| -rw-r--r-- | tests/ui/suggestions/dont-suggest-private-trait-method.rs (renamed from tests/ui/dont-suggest-private-trait-method.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/suggestions/dont-suggest-private-trait-method.stderr (renamed from tests/ui/dont-suggest-private-trait-method.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/suggestions/suggest-null-ptr.fixed (renamed from tests/ui/suggest-null-ptr.fixed) | 0 | ||||
| -rw-r--r-- | tests/ui/suggestions/suggest-null-ptr.rs (renamed from tests/ui/suggest-null-ptr.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/suggestions/suggest-null-ptr.stderr (renamed from tests/ui/suggest-null-ptr.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/suggestions/trait-impl-bound-suggestions.fixed (renamed from tests/ui/trait-impl-bound-suggestions.fixed) | 0 | ||||
| -rw-r--r-- | tests/ui/suggestions/trait-impl-bound-suggestions.rs (renamed from tests/ui/trait-impl-bound-suggestions.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/suggestions/trait-impl-bound-suggestions.stderr (renamed from tests/ui/trait-impl-bound-suggestions.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/tool_lints-fail.rs (renamed from tests/ui/tool_lints-fail.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/tool_lints-fail.stderr (renamed from tests/ui/tool_lints-fail.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/tool_lints-rpass.rs (renamed from tests/ui/tool_lints-rpass.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/tool_lints.rs (renamed from tests/ui/tool_lints.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/tool_lints.stderr (renamed from tests/ui/tool_lints.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/tool_lints_2018_preview.rs (renamed from tests/ui/tool_lints_2018_preview.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/unknown-lint-tool-name.rs (renamed from tests/ui/unknown-lint-tool-name.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/unknown-lint-tool-name.stderr (renamed from tests/ui/unknown-lint-tool-name.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/unknown-tool-name.rs (renamed from tests/ui/unknown-tool-name.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/tool-attributes/unknown-tool-name.stderr (renamed from tests/ui/unknown-tool-name.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/unop/unop-move-semantics.rs (renamed from tests/ui/unop-move-semantics.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/unop/unop-move-semantics.stderr (renamed from tests/ui/unop-move-semantics.stderr) | 0 | ||||
| -rw-r--r-- | tests/ui/unop/unop-neg-bool.rs (renamed from tests/ui/unop-neg-bool.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/unop/unop-neg-bool.stderr (renamed from tests/ui/unop-neg-bool.stderr) | 0 |
143 files changed, 308 insertions, 97 deletions
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000000..ca704082a3f --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,10 @@ +<!-- +If this PR is related to an unstable feature or an otherwise tracked effort, +please link to the relevant tracking issue here. If you don't know of a related +tracking issue or there are none, feel free to ignore this. + +This PR will get automatically assigned to a reviewer. In case you would like +a specific user to review your work, you can assign it to them by using + + r​? <reviewer name> +--> \ No newline at end of file diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs index a46c104b6d9..f43ddadc2ea 100644 --- a/compiler/rustc_parse/src/parser/item.rs +++ b/compiler/rustc_parse/src/parser/item.rs @@ -58,9 +58,15 @@ impl<'a> Parser<'a> { let attrs = self.parse_inner_attributes()?; let post_attr_lo = self.token.span; - let mut items = ThinVec::new(); - while let Some(item) = self.parse_item(ForceCollect::No)? { - self.maybe_consume_incorrect_semicolon(Some(&item)); + let mut items: ThinVec<P<_>> = ThinVec::new(); + + // There shouldn't be any stray semicolons before or after items. + // `parse_item` consumes the appropriate semicolons so any leftover is an error. + loop { + while self.maybe_consume_incorrect_semicolon(items.last().map(|x| &**x)) {} // Eat all bad semicolons + let Some(item) = self.parse_item(ForceCollect::No)? else { + break; + }; items.push(item); } diff --git a/compiler/rustc_resolve/src/late/diagnostics.rs b/compiler/rustc_resolve/src/late/diagnostics.rs index 1958fdf1cbc..980f43b0806 100644 --- a/compiler/rustc_resolve/src/late/diagnostics.rs +++ b/compiler/rustc_resolve/src/late/diagnostics.rs @@ -17,6 +17,7 @@ use rustc_ast::{ }; use rustc_ast_pretty::pprust::where_bound_predicate_to_string; use rustc_data_structures::fx::FxHashSet; +use rustc_data_structures::fx::FxIndexSet; use rustc_errors::{ codes::*, pluralize, struct_span_code_err, Applicability, Diag, ErrorGuaranteed, MultiSpan, SuggestionStyle, @@ -31,7 +32,7 @@ use rustc_span::edit_distance::find_best_match_for_name; use rustc_span::edition::Edition; use rustc_span::hygiene::MacroKind; use rustc_span::symbol::{kw, sym, Ident, Symbol}; -use rustc_span::Span; +use rustc_span::{Span, DUMMY_SP}; use rustc_middle::ty; @@ -2714,8 +2715,17 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> { self.suggest_introducing_lifetime( &mut err, Some(lifetime_ref.ident.name.as_str()), - |err, _, span, message, suggestion| { - err.span_suggestion(span, message, suggestion, Applicability::MaybeIncorrect); + |err, _, span, message, suggestion, span_suggs| { + err.multipart_suggestion_with_style( + message, + std::iter::once((span, suggestion)).chain(span_suggs.clone()).collect(), + Applicability::MaybeIncorrect, + if span_suggs.is_empty() { + SuggestionStyle::ShowCode + } else { + SuggestionStyle::ShowAlways + }, + ); true }, ); @@ -2726,13 +2736,20 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> { &self, err: &mut Diag<'_>, name: Option<&str>, - suggest: impl Fn(&mut Diag<'_>, bool, Span, Cow<'static, str>, String) -> bool, + suggest: impl Fn( + &mut Diag<'_>, + bool, + Span, + Cow<'static, str>, + String, + Vec<(Span, String)>, + ) -> bool, ) { let mut suggest_note = true; for rib in self.lifetime_ribs.iter().rev() { let mut should_continue = true; match rib.kind { - LifetimeRibKind::Generics { binder: _, span, kind } => { + LifetimeRibKind::Generics { binder, span, kind } => { // Avoid suggesting placing lifetime parameters on constant items unless the relevant // feature is enabled. Suggest the parent item as a possible location if applicable. if let LifetimeBinderKind::ConstItem = kind @@ -2761,11 +2778,53 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> { | LifetimeBinderKind::PolyTrait | LifetimeBinderKind::WhereBound ); + + let mut rm_inner_binders: FxIndexSet<Span> = Default::default(); let (span, sugg) = if span.is_empty() { + let mut binder_idents: FxIndexSet<Ident> = Default::default(); + binder_idents.insert(Ident::from_str(name.unwrap_or("'a"))); + + // We need to special case binders in the following situation: + // Change `T: for<'a> Trait<T> + 'b` to `for<'a, 'b> T: Trait<T> + 'b` + // T: for<'a> Trait<T> + 'b + // ^^^^^^^ remove existing inner binder `for<'a>` + // for<'a, 'b> T: Trait<T> + 'b + // ^^^^^^^^^^^ suggest outer binder `for<'a, 'b>` + if let LifetimeBinderKind::WhereBound = kind + && let Some(ast::WherePredicate::BoundPredicate( + ast::WhereBoundPredicate { bounded_ty, bounds, .. }, + )) = self.diag_metadata.current_where_predicate + && bounded_ty.id == binder + { + for bound in bounds { + if let ast::GenericBound::Trait(poly_trait_ref, _) = bound + && let span = poly_trait_ref + .span + .with_hi(poly_trait_ref.trait_ref.path.span.lo()) + && !span.is_empty() + { + rm_inner_binders.insert(span); + poly_trait_ref.bound_generic_params.iter().for_each(|v| { + binder_idents.insert(v.ident); + }); + } + } + } + + let binders_sugg = binder_idents.into_iter().enumerate().fold( + "".to_string(), + |mut binders, (i, x)| { + if i != 0 { + binders += ", "; + } + binders += x.as_str(); + binders + }, + ); let sugg = format!( "{}<{}>{}", if higher_ranked { "for" } else { "" }, - name.unwrap_or("'a"), + binders_sugg, if higher_ranked { " " } else { "" }, ); (span, sugg) @@ -2780,13 +2839,28 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> { let sugg = format!("{}, ", name.unwrap_or("'a")); (span, sugg) }; + if higher_ranked { let message = Cow::from(format!( "consider making the {} lifetime-generic with a new `{}` lifetime", kind.descr(), name.unwrap_or("'a"), )); - should_continue = suggest(err, true, span, message, sugg); + should_continue = suggest( + err, + true, + span, + message, + sugg, + if !rm_inner_binders.is_empty() { + rm_inner_binders + .into_iter() + .map(|v| (v, "".to_string())) + .collect::<Vec<_>>() + } else { + vec![] + }, + ); err.note_once( "for more information on higher-ranked polymorphism, visit \ https://doc.rust-lang.org/nomicon/hrtb.html", @@ -2794,10 +2868,10 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> { } else if let Some(name) = name { let message = Cow::from(format!("consider introducing lifetime `{name}` here")); - should_continue = suggest(err, false, span, message, sugg); + should_continue = suggest(err, false, span, message, sugg, vec![]); } else { let message = Cow::from("consider introducing a named lifetime parameter"); - should_continue = suggest(err, false, span, message, sugg); + should_continue = suggest(err, false, span, message, sugg, vec![]); } } LifetimeRibKind::Item | LifetimeRibKind::ConstParamTy => break, @@ -3033,11 +3107,11 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> { self.suggest_introducing_lifetime( err, None, - |err, higher_ranked, span, message, intro_sugg| { + |err, higher_ranked, span, message, intro_sugg, _| { err.multipart_suggestion_verbose( message, std::iter::once((span, intro_sugg)) - .chain(spans_suggs.iter().cloned()) + .chain(spans_suggs.clone()) .collect(), Applicability::MaybeIncorrect, ); @@ -3161,11 +3235,11 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> { self.suggest_introducing_lifetime( err, None, - |err, higher_ranked, span, message, intro_sugg| { + |err, higher_ranked, span, message, intro_sugg, _| { err.multipart_suggestion_verbose( message, std::iter::once((span, intro_sugg)) - .chain(spans_suggs.iter().cloned()) + .chain(spans_suggs.clone()) .collect(), Applicability::MaybeIncorrect, ); @@ -3309,7 +3383,6 @@ fn mk_where_bound_predicate( poly_trait_ref: &ast::PolyTraitRef, ty: &Ty, ) -> Option<ast::WhereBoundPredicate> { - use rustc_span::DUMMY_SP; let modified_segments = { let mut segments = path.segments.clone(); let [preceding @ .., second_last, last] = segments.as_mut_slice() else { diff --git a/src/bootstrap/src/core/build_steps/synthetic_targets.rs b/src/bootstrap/src/core/build_steps/synthetic_targets.rs index 89d50b5ffff..281a9b093b9 100644 --- a/src/bootstrap/src/core/build_steps/synthetic_targets.rs +++ b/src/bootstrap/src/core/build_steps/synthetic_targets.rs @@ -80,8 +80,5 @@ fn create_synthetic_target( customize(spec_map); std::fs::write(&path, serde_json::to_vec_pretty(&spec).unwrap()).unwrap(); - let target = TargetSelection::create_synthetic(&name, path.to_str().unwrap()); - crate::utils::cc_detect::find_target(builder, target); - - target + TargetSelection::create_synthetic(&name, path.to_str().unwrap()) } diff --git a/src/tools/tidy/src/allowed_run_make_makefiles.txt b/src/tools/tidy/src/allowed_run_make_makefiles.txt index 3f4fceccab0..96fb8e27e6d 100644 --- a/src/tools/tidy/src/allowed_run_make_makefiles.txt +++ b/src/tools/tidy/src/allowed_run_make_makefiles.txt @@ -234,7 +234,6 @@ run-make/rmeta-preferred/Makefile run-make/rustc-macro-dep-files/Makefile run-make/rustdoc-io-error/Makefile run-make/rustdoc-scrape-examples-macros/Makefile -run-make/rustdoc-scrape-examples-multiple/Makefile run-make/rustdoc-verify-output-files/Makefile run-make/rustdoc-with-output-option/Makefile run-make/rustdoc-with-short-out-dir-option/Makefile diff --git a/src/tools/tidy/src/ui_tests.rs b/src/tools/tidy/src/ui_tests.rs index 6e92dab1abc..e1c6c9a2dac 100644 --- a/src/tools/tidy/src/ui_tests.rs +++ b/src/tools/tidy/src/ui_tests.rs @@ -16,7 +16,7 @@ const ENTRY_LIMIT: usize = 900; // FIXME: The following limits should be reduced eventually. const ISSUES_ENTRY_LIMIT: usize = 1676; -const ROOT_ENTRY_LIMIT: usize = 859; +const ROOT_ENTRY_LIMIT: usize = 757; const EXPECTED_TEST_FILE_EXTENSIONS: &[&str] = &[ "rs", // test source files diff --git a/tests/run-make/rustdoc-scrape-examples-multiple/Makefile b/tests/run-make/rustdoc-scrape-examples-multiple/Makefile deleted file mode 100644 index 453a7d4bc8b..00000000000 --- a/tests/run-make/rustdoc-scrape-examples-multiple/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -deps := ex ex2 - -include ./scrape.mk - -all: scrape diff --git a/tests/run-make/rustdoc-scrape-examples-multiple/rmake.rs b/tests/run-make/rustdoc-scrape-examples-multiple/rmake.rs new file mode 100644 index 00000000000..e9c54fa3922 --- /dev/null +++ b/tests/run-make/rustdoc-scrape-examples-multiple/rmake.rs @@ -0,0 +1,6 @@ +#[path = "../rustdoc-scrape-examples-remap/scrape.rs"] +mod scrape; + +fn main() { + scrape::scrape(&[]); +} diff --git a/tests/run-make/rustdoc-scrape-examples-multiple/scrape.mk b/tests/run-make/rustdoc-scrape-examples-multiple/scrape.mk deleted file mode 100644 index 57220bc6635..00000000000 --- a/tests/run-make/rustdoc-scrape-examples-multiple/scrape.mk +++ /dev/null @@ -1,21 +0,0 @@ -include ../tools.mk - -OUTPUT_DIR := "$(TMPDIR)/rustdoc" - -$(TMPDIR)/%.calls: $(TMPDIR)/libfoobar.rmeta - $(RUSTDOC) examples/$*.rs --crate-name $* --crate-type bin --output $(OUTPUT_DIR) \ - --extern foobar=$(TMPDIR)/libfoobar.rmeta \ - -Z unstable-options \ - --scrape-examples-output-path $@ \ - --scrape-examples-target-crate foobar \ - $(extra_flags) - -$(TMPDIR)/lib%.rmeta: src/lib.rs - $(RUSTC) src/lib.rs --crate-name $* --crate-type lib --emit=metadata - -scrape: $(foreach d,$(deps),$(TMPDIR)/$(d).calls) - $(RUSTDOC) src/lib.rs --crate-name foobar --crate-type lib --output $(OUTPUT_DIR) \ - -Z unstable-options \ - $(foreach d,$(deps),--with-examples $(TMPDIR)/$(d).calls) - - $(HTMLDOCCK) $(OUTPUT_DIR) src/lib.rs diff --git a/tests/ui/empty_global_asm.rs b/tests/ui/asm/empty_global_asm.rs index 2517796ad10..2517796ad10 100644 --- a/tests/ui/empty_global_asm.rs +++ b/tests/ui/asm/empty_global_asm.rs diff --git a/tests/ui/simple_global_asm.rs b/tests/ui/asm/simple_global_asm.rs index 9b193b3e44c..9b193b3e44c 100644 --- a/tests/ui/simple_global_asm.rs +++ b/tests/ui/asm/simple_global_asm.rs diff --git a/tests/ui/backtrace-apple-no-dsymutil.rs b/tests/ui/backtrace/apple-no-dsymutil.rs index 9924cd13b0a..9924cd13b0a 100644 --- a/tests/ui/backtrace-apple-no-dsymutil.rs +++ b/tests/ui/backtrace/apple-no-dsymutil.rs diff --git a/tests/ui/debuginfo/auxiliary/dylib-dep-helper-aux.rs b/tests/ui/backtrace/auxiliary/dylib-dep-helper-aux.rs index d45e0bcd3b4..d45e0bcd3b4 100644 --- a/tests/ui/debuginfo/auxiliary/dylib-dep-helper-aux.rs +++ b/tests/ui/backtrace/auxiliary/dylib-dep-helper-aux.rs diff --git a/tests/ui/debuginfo/auxiliary/dylib-dep-helper.rs b/tests/ui/backtrace/auxiliary/dylib-dep-helper.rs index 565d8b65de0..565d8b65de0 100644 --- a/tests/ui/debuginfo/auxiliary/dylib-dep-helper.rs +++ b/tests/ui/backtrace/auxiliary/dylib-dep-helper.rs diff --git a/tests/ui/debuginfo/auxiliary/line-tables-only-helper.rs b/tests/ui/backtrace/auxiliary/line-tables-only-helper.rs index 65da2c3f5c7..65da2c3f5c7 100644 --- a/tests/ui/debuginfo/auxiliary/line-tables-only-helper.rs +++ b/tests/ui/backtrace/auxiliary/line-tables-only-helper.rs diff --git a/tests/ui/backtrace.rs b/tests/ui/backtrace/backtrace.rs index 2579ff5203b..2579ff5203b 100644 --- a/tests/ui/backtrace.rs +++ b/tests/ui/backtrace/backtrace.rs diff --git a/tests/ui/debuginfo/backtrace-dylib-dep.rs b/tests/ui/backtrace/dylib-dep.rs index fcd1f92e28e..fcd1f92e28e 100644 --- a/tests/ui/debuginfo/backtrace-dylib-dep.rs +++ b/tests/ui/backtrace/dylib-dep.rs diff --git a/tests/ui/debuginfo/backtrace-line-tables-only.rs b/tests/ui/backtrace/line-tables-only.rs index 044f59e483a..044f59e483a 100644 --- a/tests/ui/debuginfo/backtrace-line-tables-only.rs +++ b/tests/ui/backtrace/line-tables-only.rs diff --git a/tests/ui/std-backtrace.rs b/tests/ui/backtrace/std-backtrace.rs index b4806457877..b4806457877 100644 --- a/tests/ui/std-backtrace.rs +++ b/tests/ui/backtrace/std-backtrace.rs diff --git a/tests/ui/auxiliary/orphan-check-diagnostics.rs b/tests/ui/coherence/auxiliary/orphan-check-diagnostics.rs index 6b2c42b69b9..6b2c42b69b9 100644 --- a/tests/ui/auxiliary/orphan-check-diagnostics.rs +++ b/tests/ui/coherence/auxiliary/orphan-check-diagnostics.rs diff --git a/tests/ui/orphan-check-diagnostics.rs b/tests/ui/coherence/orphan-check-diagnostics.rs index 4b6557fc9c8..4b6557fc9c8 100644 --- a/tests/ui/orphan-check-diagnostics.rs +++ b/tests/ui/coherence/orphan-check-diagnostics.rs diff --git a/tests/ui/orphan-check-diagnostics.stderr b/tests/ui/coherence/orphan-check-diagnostics.stderr index b9fa7baf4c2..b9fa7baf4c2 100644 --- a/tests/ui/orphan-check-diagnostics.stderr +++ b/tests/ui/coherence/orphan-check-diagnostics.stderr diff --git a/tests/ui/cross-crate/xcrate-address-insignificant.rs b/tests/ui/cross-crate/address-insignificant.rs index 891fe14d9a0..891fe14d9a0 100644 --- a/tests/ui/cross-crate/xcrate-address-insignificant.rs +++ b/tests/ui/cross-crate/address-insignificant.rs diff --git a/tests/ui/cross-crate/xcrate-associated-type-defaults.rs b/tests/ui/cross-crate/associated-type-defaults.rs index 04eb90afae9..04eb90afae9 100644 --- a/tests/ui/cross-crate/xcrate-associated-type-defaults.rs +++ b/tests/ui/cross-crate/associated-type-defaults.rs diff --git a/tests/ui/xcrate/auxiliary/static_priv_by_default.rs b/tests/ui/cross-crate/auxiliary/static_priv_by_default.rs index 39f912066ec..39f912066ec 100644 --- a/tests/ui/xcrate/auxiliary/static_priv_by_default.rs +++ b/tests/ui/cross-crate/auxiliary/static_priv_by_default.rs diff --git a/tests/ui/xcrate/auxiliary/xcrate_unit_struct.rs b/tests/ui/cross-crate/auxiliary/xcrate_unit_struct.rs index 4f8b3508398..4f8b3508398 100644 --- a/tests/ui/xcrate/auxiliary/xcrate_unit_struct.rs +++ b/tests/ui/cross-crate/auxiliary/xcrate_unit_struct.rs diff --git a/tests/ui/cross-crate/xcrate_generic_fn_nested_return.rs b/tests/ui/cross-crate/generic_fn_nested_return.rs index dbfcdf8197a..dbfcdf8197a 100644 --- a/tests/ui/cross-crate/xcrate_generic_fn_nested_return.rs +++ b/tests/ui/cross-crate/generic_fn_nested_return.rs diff --git a/tests/ui/xcrate/xcrate-private-by-default.rs b/tests/ui/cross-crate/private-by-default.rs index 3a5d8131344..3a5d8131344 100644 --- a/tests/ui/xcrate/xcrate-private-by-default.rs +++ b/tests/ui/cross-crate/private-by-default.rs diff --git a/tests/ui/xcrate/xcrate-private-by-default.stderr b/tests/ui/cross-crate/private-by-default.stderr index 25bbbf5f62a..398c9088aae 100644 --- a/tests/ui/xcrate/xcrate-private-by-default.stderr +++ b/tests/ui/cross-crate/private-by-default.stderr @@ -1,5 +1,5 @@ error[E0603]: static `j` is private - --> $DIR/xcrate-private-by-default.rs:23:29 + --> $DIR/private-by-default.rs:23:29 | LL | static_priv_by_default::j; | ^ private static @@ -11,7 +11,7 @@ LL | static j: isize = 0; | ^^^^^^^^^^^^^^^ error[E0603]: function `k` is private - --> $DIR/xcrate-private-by-default.rs:25:29 + --> $DIR/private-by-default.rs:25:29 | LL | static_priv_by_default::k; | ^ private function @@ -23,7 +23,7 @@ LL | fn k() {} | ^^^^^^ error[E0603]: unit struct `l` is private - --> $DIR/xcrate-private-by-default.rs:27:29 + --> $DIR/private-by-default.rs:27:29 | LL | static_priv_by_default::l; | ^ private unit struct @@ -35,7 +35,7 @@ LL | struct l; | ^^^^^^^^ error[E0603]: enum `m` is private - --> $DIR/xcrate-private-by-default.rs:29:35 + --> $DIR/private-by-default.rs:29:35 | LL | foo::<static_priv_by_default::m>(); | ^ private enum @@ -47,7 +47,7 @@ LL | enum m {} | ^^^^^^ error[E0603]: type alias `n` is private - --> $DIR/xcrate-private-by-default.rs:31:35 + --> $DIR/private-by-default.rs:31:35 | LL | foo::<static_priv_by_default::n>(); | ^ private type alias @@ -59,7 +59,7 @@ LL | type n = isize; | ^^^^^^ error[E0603]: module `foo` is private - --> $DIR/xcrate-private-by-default.rs:35:29 + --> $DIR/private-by-default.rs:35:29 | LL | static_priv_by_default::foo::a; | ^^^ - static `a` is not publicly re-exported @@ -73,7 +73,7 @@ LL | mod foo { | ^^^^^^^ error[E0603]: module `foo` is private - --> $DIR/xcrate-private-by-default.rs:37:29 + --> $DIR/private-by-default.rs:37:29 | LL | static_priv_by_default::foo::b; | ^^^ - function `b` is not publicly re-exported @@ -87,7 +87,7 @@ LL | mod foo { | ^^^^^^^ error[E0603]: module `foo` is private - --> $DIR/xcrate-private-by-default.rs:39:29 + --> $DIR/private-by-default.rs:39:29 | LL | static_priv_by_default::foo::c; | ^^^ - unit struct `c` is not publicly re-exported @@ -101,7 +101,7 @@ LL | mod foo { | ^^^^^^^ error[E0603]: module `foo` is private - --> $DIR/xcrate-private-by-default.rs:41:35 + --> $DIR/private-by-default.rs:41:35 | LL | foo::<static_priv_by_default::foo::d>(); | ^^^ - enum `d` is not publicly re-exported @@ -115,7 +115,7 @@ LL | mod foo { | ^^^^^^^ error[E0603]: module `foo` is private - --> $DIR/xcrate-private-by-default.rs:43:35 + --> $DIR/private-by-default.rs:43:35 | LL | foo::<static_priv_by_default::foo::e>(); | ^^^ - type alias `e` is not publicly re-exported diff --git a/tests/ui/cross-crate/xcrate-static-addresses.rs b/tests/ui/cross-crate/static-addresses.rs index 66ac467e9ac..66ac467e9ac 100644 --- a/tests/ui/cross-crate/xcrate-static-addresses.rs +++ b/tests/ui/cross-crate/static-addresses.rs diff --git a/tests/ui/cross-crate/xcrate-trait-lifetime-param.rs b/tests/ui/cross-crate/trait-lifetime-param.rs index 28955e62d95..28955e62d95 100644 --- a/tests/ui/cross-crate/xcrate-trait-lifetime-param.rs +++ b/tests/ui/cross-crate/trait-lifetime-param.rs diff --git a/tests/ui/xcrate/xcrate-unit-struct-2.rs b/tests/ui/cross-crate/unit-struct-2.rs index c2e3a761129..c2e3a761129 100644 --- a/tests/ui/xcrate/xcrate-unit-struct-2.rs +++ b/tests/ui/cross-crate/unit-struct-2.rs diff --git a/tests/ui/xcrate/xcrate-unit-struct.rs b/tests/ui/cross-crate/unit-struct.rs index 1517f843eff..1517f843eff 100644 --- a/tests/ui/xcrate/xcrate-unit-struct.rs +++ b/tests/ui/cross-crate/unit-struct.rs diff --git a/tests/ui/xcrate/xcrate-unit-struct.stderr b/tests/ui/cross-crate/unit-struct.stderr index 7365170b69e..a7e3e4685a9 100644 --- a/tests/ui/xcrate/xcrate-unit-struct.stderr +++ b/tests/ui/cross-crate/unit-struct.stderr @@ -1,5 +1,5 @@ error[E0423]: expected value, found struct `xcrate_unit_struct::StructWithFields` - --> $DIR/xcrate-unit-struct.rs:9:13 + --> $DIR/unit-struct.rs:9:13 | LL | let _ = xcrate_unit_struct::StructWithFields; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `xcrate_unit_struct::StructWithFields { foo: val }` @@ -10,7 +10,7 @@ LL | pub struct StructWithFields { | --------------------------- `xcrate_unit_struct::StructWithFields` defined here error[E0423]: expected value, found struct `xcrate_unit_struct::StructWithPrivFields` - --> $DIR/xcrate-unit-struct.rs:11:13 + --> $DIR/unit-struct.rs:11:13 | LL | let _ = xcrate_unit_struct::StructWithPrivFields; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/ui/expr-block-fn.rs b/tests/ui/expr/block-fn.rs index 1d3689eb4f3..1d3689eb4f3 100644 --- a/tests/ui/expr-block-fn.rs +++ b/tests/ui/expr/block-fn.rs diff --git a/tests/ui/expr-block-generic.rs b/tests/ui/expr/block-generic.rs index b36bda917d6..b36bda917d6 100644 --- a/tests/ui/expr-block-generic.rs +++ b/tests/ui/expr/block-generic.rs diff --git a/tests/ui/expr-block.rs b/tests/ui/expr/block.rs index bf626c9ead3..bf626c9ead3 100644 --- a/tests/ui/expr-block.rs +++ b/tests/ui/expr/block.rs diff --git a/tests/ui/expr-copy.rs b/tests/ui/expr/copy.rs index cfe47ff6d93..cfe47ff6d93 100644 --- a/tests/ui/expr-copy.rs +++ b/tests/ui/expr/copy.rs diff --git a/tests/ui/expr-if-generic.rs b/tests/ui/expr/if-generic.rs index ed99ee63a51..ed99ee63a51 100644 --- a/tests/ui/expr-if-generic.rs +++ b/tests/ui/expr/if-generic.rs diff --git a/tests/ui/expr-if-panic-all.rs b/tests/ui/expr/if-panic-all.rs index 2ba2a36d165..2ba2a36d165 100644 --- a/tests/ui/expr-if-panic-all.rs +++ b/tests/ui/expr/if-panic-all.rs diff --git a/tests/ui/expr-scope.rs b/tests/ui/expr/scope.rs index 57321ce2aa0..57321ce2aa0 100644 --- a/tests/ui/expr-scope.rs +++ b/tests/ui/expr/scope.rs diff --git a/tests/ui/stmt_expr_attrs_no_feature.rs b/tests/ui/feature-gates/stmt_expr_attrs_no_feature.rs index a160a9bb082..a160a9bb082 100644 --- a/tests/ui/stmt_expr_attrs_no_feature.rs +++ b/tests/ui/feature-gates/stmt_expr_attrs_no_feature.rs diff --git a/tests/ui/stmt_expr_attrs_no_feature.stderr b/tests/ui/feature-gates/stmt_expr_attrs_no_feature.stderr index c801268c652..c801268c652 100644 --- a/tests/ui/stmt_expr_attrs_no_feature.stderr +++ b/tests/ui/feature-gates/stmt_expr_attrs_no_feature.stderr diff --git a/tests/ui/ffi_const.rs b/tests/ui/ffi-attrs/ffi_const.rs index aa20a4d4c65..aa20a4d4c65 100644 --- a/tests/ui/ffi_const.rs +++ b/tests/ui/ffi-attrs/ffi_const.rs diff --git a/tests/ui/ffi_const.stderr b/tests/ui/ffi-attrs/ffi_const.stderr index 394b98f8971..394b98f8971 100644 --- a/tests/ui/ffi_const.stderr +++ b/tests/ui/ffi-attrs/ffi_const.stderr diff --git a/tests/ui/ffi_const2.rs b/tests/ui/ffi-attrs/ffi_const2.rs index 82fe8a9c91d..82fe8a9c91d 100644 --- a/tests/ui/ffi_const2.rs +++ b/tests/ui/ffi-attrs/ffi_const2.rs diff --git a/tests/ui/ffi_const2.stderr b/tests/ui/ffi-attrs/ffi_const2.stderr index b8cbc296370..b8cbc296370 100644 --- a/tests/ui/ffi_const2.stderr +++ b/tests/ui/ffi-attrs/ffi_const2.stderr diff --git a/tests/ui/ffi_pure.rs b/tests/ui/ffi-attrs/ffi_pure.rs index 6d2f3a614ec..6d2f3a614ec 100644 --- a/tests/ui/ffi_pure.rs +++ b/tests/ui/ffi-attrs/ffi_pure.rs diff --git a/tests/ui/ffi_pure.stderr b/tests/ui/ffi-attrs/ffi_pure.stderr index 8b61a4b609f..8b61a4b609f 100644 --- a/tests/ui/ffi_pure.stderr +++ b/tests/ui/ffi-attrs/ffi_pure.stderr diff --git a/tests/ui/main-wrong-location.rs b/tests/ui/fn-main/wrong-location.rs index d7deeaed99d..d7deeaed99d 100644 --- a/tests/ui/main-wrong-location.rs +++ b/tests/ui/fn-main/wrong-location.rs diff --git a/tests/ui/main-wrong-location.stderr b/tests/ui/fn-main/wrong-location.stderr index 9486a940562..c47092bc47e 100644 --- a/tests/ui/main-wrong-location.stderr +++ b/tests/ui/fn-main/wrong-location.stderr @@ -1,11 +1,11 @@ -error[E0601]: `main` function not found in crate `main_wrong_location` - --> $DIR/main-wrong-location.rs:5:2 +error[E0601]: `main` function not found in crate `wrong_location` + --> $DIR/wrong-location.rs:5:2 | LL | } - | ^ the main function must be defined at the crate level (in `$DIR/main-wrong-location.rs`) + | ^ the main function must be defined at the crate level (in `$DIR/wrong-location.rs`) | note: here is a function named `main` - --> $DIR/main-wrong-location.rs:4:5 + --> $DIR/wrong-location.rs:4:5 | LL | fn main() { } | ^^^^^^^^^ diff --git a/tests/ui/main-wrong-type.rs b/tests/ui/fn-main/wrong-type.rs index 31deba72af4..31deba72af4 100644 --- a/tests/ui/main-wrong-type.rs +++ b/tests/ui/fn-main/wrong-type.rs diff --git a/tests/ui/main-wrong-type.stderr b/tests/ui/fn-main/wrong-type.stderr index d07fc09064f..2b0096431db 100644 --- a/tests/ui/main-wrong-type.stderr +++ b/tests/ui/fn-main/wrong-type.stderr @@ -1,5 +1,5 @@ error[E0580]: `main` function has wrong type - --> $DIR/main-wrong-type.rs:6:1 + --> $DIR/wrong-type.rs:6:1 | LL | fn main(foo: S) { | ^^^^^^^^^^^^^^^ incorrect number of function parameters diff --git a/tests/ui/foreign-fn-return-lifetime.rs b/tests/ui/foreign/foreign-fn-return-lifetime.rs index 35595bab36d..35595bab36d 100644 --- a/tests/ui/foreign-fn-return-lifetime.rs +++ b/tests/ui/foreign/foreign-fn-return-lifetime.rs diff --git a/tests/ui/foreign-fn-return-lifetime.stderr b/tests/ui/foreign/foreign-fn-return-lifetime.stderr index e24c0f23c35..e24c0f23c35 100644 --- a/tests/ui/foreign-fn-return-lifetime.stderr +++ b/tests/ui/foreign/foreign-fn-return-lifetime.stderr diff --git a/tests/ui/optimization-fuel-0.rs b/tests/ui/fuel/optimization-fuel-0.rs index cbcb1d329a3..cbcb1d329a3 100644 --- a/tests/ui/optimization-fuel-0.rs +++ b/tests/ui/fuel/optimization-fuel-0.rs diff --git a/tests/ui/optimization-fuel-0.stderr b/tests/ui/fuel/optimization-fuel-0.stderr index f0e2ebfc37a..f0e2ebfc37a 100644 --- a/tests/ui/optimization-fuel-0.stderr +++ b/tests/ui/fuel/optimization-fuel-0.stderr diff --git a/tests/ui/optimization-fuel-1.rs b/tests/ui/fuel/optimization-fuel-1.rs index 97edb0bd259..97edb0bd259 100644 --- a/tests/ui/optimization-fuel-1.rs +++ b/tests/ui/fuel/optimization-fuel-1.rs diff --git a/tests/ui/optimization-fuel-1.stderr b/tests/ui/fuel/optimization-fuel-1.stderr index 53eafb05830..53eafb05830 100644 --- a/tests/ui/optimization-fuel-1.stderr +++ b/tests/ui/fuel/optimization-fuel-1.stderr diff --git a/tests/ui/print-fuel/print-fuel.rs b/tests/ui/fuel/print-fuel.rs index fd7e568bea7..fd7e568bea7 100644 --- a/tests/ui/print-fuel/print-fuel.rs +++ b/tests/ui/fuel/print-fuel.rs diff --git a/tests/ui/print-fuel/print-fuel.stderr b/tests/ui/fuel/print-fuel.stderr index cc88cc077bb..cc88cc077bb 100644 --- a/tests/ui/print-fuel/print-fuel.stderr +++ b/tests/ui/fuel/print-fuel.stderr diff --git a/tests/ui/generics/generic-higher-ranked-lifetime-issue-122714.rs b/tests/ui/generics/generic-higher-ranked-lifetime-issue-122714.rs new file mode 100644 index 00000000000..b2ac332b4f0 --- /dev/null +++ b/tests/ui/generics/generic-higher-ranked-lifetime-issue-122714.rs @@ -0,0 +1,28 @@ +#![allow(dead_code)] + +trait Trait1<T> + where T: for<'a> Trait1<T> + 'b { } //~ ERROR use of undeclared lifetime name `'b` + +trait Trait2<T> +where + T: B<'b> + for<'a> A<'a>, //~ ERROR use of undeclared lifetime name `'b` +{ +} + +trait Trait3<T> +where + T: B<'b> + for<'a> A<'a> + 'c {} + //~^ ERROR use of undeclared lifetime name `'b` + //~| ERROR use of undeclared lifetime name `'c` + +trait Trait4<T> +where + T: for<'a> A<'a> + 'x + for<'b> B<'b>, //~ ERROR use of undeclared lifetime name `'x` +{ +} + +trait A<'a> {} +trait B<'a> {} + + +fn main() {} diff --git a/tests/ui/generics/generic-higher-ranked-lifetime-issue-122714.stderr b/tests/ui/generics/generic-higher-ranked-lifetime-issue-122714.stderr new file mode 100644 index 00000000000..40f0769964f --- /dev/null +++ b/tests/ui/generics/generic-higher-ranked-lifetime-issue-122714.stderr @@ -0,0 +1,92 @@ +error[E0261]: use of undeclared lifetime name `'b` + --> $DIR/generic-higher-ranked-lifetime-issue-122714.rs:4:32 + | +LL | where T: for<'a> Trait1<T> + 'b { } + | ^^ undeclared lifetime + | + = note: for more information on higher-ranked polymorphism, visit https://doc.rust-lang.org/nomicon/hrtb.html +help: consider making the bound lifetime-generic with a new `'b` lifetime + | +LL - where T: for<'a> Trait1<T> + 'b { } +LL + where for<'b, 'a> T: Trait1<T> + 'b { } + | +help: consider introducing lifetime `'b` here + | +LL | trait Trait1<'b, T> + | +++ + +error[E0261]: use of undeclared lifetime name `'b` + --> $DIR/generic-higher-ranked-lifetime-issue-122714.rs:8:10 + | +LL | T: B<'b> + for<'a> A<'a>, + | ^^ undeclared lifetime + | +help: consider making the bound lifetime-generic with a new `'b` lifetime + | +LL | T: for<'b> B<'b> + for<'a> A<'a>, + | +++++++ +help: consider making the bound lifetime-generic with a new `'b` lifetime + | +LL - T: B<'b> + for<'a> A<'a>, +LL + for<'b, 'a> T: B<'b> + A<'a>, + | +help: consider introducing lifetime `'b` here + | +LL | trait Trait2<'b, T> + | +++ + +error[E0261]: use of undeclared lifetime name `'b` + --> $DIR/generic-higher-ranked-lifetime-issue-122714.rs:14:10 + | +LL | T: B<'b> + for<'a> A<'a> + 'c {} + | ^^ undeclared lifetime + | +help: consider making the bound lifetime-generic with a new `'b` lifetime + | +LL | T: for<'b> B<'b> + for<'a> A<'a> + 'c {} + | +++++++ +help: consider making the bound lifetime-generic with a new `'b` lifetime + | +LL - T: B<'b> + for<'a> A<'a> + 'c {} +LL + for<'b, 'a> T: B<'b> + A<'a> + 'c {} + | +help: consider introducing lifetime `'b` here + | +LL | trait Trait3<'b, T> + | +++ + +error[E0261]: use of undeclared lifetime name `'c` + --> $DIR/generic-higher-ranked-lifetime-issue-122714.rs:14:32 + | +LL | T: B<'b> + for<'a> A<'a> + 'c {} + | ^^ undeclared lifetime + | +help: consider making the bound lifetime-generic with a new `'c` lifetime + | +LL - T: B<'b> + for<'a> A<'a> + 'c {} +LL + for<'c, 'a> T: B<'b> + A<'a> + 'c {} + | +help: consider introducing lifetime `'c` here + | +LL | trait Trait3<'c, T> + | +++ + +error[E0261]: use of undeclared lifetime name `'x` + --> $DIR/generic-higher-ranked-lifetime-issue-122714.rs:20:24 + | +LL | T: for<'a> A<'a> + 'x + for<'b> B<'b>, + | ^^ undeclared lifetime + | +help: consider making the bound lifetime-generic with a new `'x` lifetime + | +LL - T: for<'a> A<'a> + 'x + for<'b> B<'b>, +LL + for<'x, 'a, 'b> T: A<'a> + 'x + B<'b>, + | +help: consider introducing lifetime `'x` here + | +LL | trait Trait4<'x, T> + | +++ + +error: aborting due to 5 previous errors + +For more information about this error, try `rustc --explain E0261`. diff --git a/tests/ui/infer-fn-tail-expr.rs b/tests/ui/inference/infer-fn-tail-expr.rs index 31b71e49bd6..31b71e49bd6 100644 --- a/tests/ui/infer-fn-tail-expr.rs +++ b/tests/ui/inference/infer-fn-tail-expr.rs diff --git a/tests/ui/lambda-infer-unresolved.rs b/tests/ui/inference/lambda-infer-unresolved.rs index f30832044dc..f30832044dc 100644 --- a/tests/ui/lambda-infer-unresolved.rs +++ b/tests/ui/inference/lambda-infer-unresolved.rs diff --git a/tests/ui/order-dependent-cast-inference.rs b/tests/ui/inference/order-dependent-cast-inference.rs index e666209b912..e666209b912 100644 --- a/tests/ui/order-dependent-cast-inference.rs +++ b/tests/ui/inference/order-dependent-cast-inference.rs diff --git a/tests/ui/order-dependent-cast-inference.stderr b/tests/ui/inference/order-dependent-cast-inference.stderr index ab33b703a05..ab33b703a05 100644 --- a/tests/ui/order-dependent-cast-inference.stderr +++ b/tests/ui/inference/order-dependent-cast-inference.stderr diff --git a/tests/ui/intrinsics-always-extern.rs b/tests/ui/intrinsics/always-extern.rs index 0afd8353455..0afd8353455 100644 --- a/tests/ui/intrinsics-always-extern.rs +++ b/tests/ui/intrinsics/always-extern.rs diff --git a/tests/ui/intrinsics-always-extern.stderr b/tests/ui/intrinsics/always-extern.stderr index 1f7bb5a3b0d..44b889c6faa 100644 --- a/tests/ui/intrinsics-always-extern.stderr +++ b/tests/ui/intrinsics/always-extern.stderr @@ -1,11 +1,11 @@ error: intrinsic must be in `extern "rust-intrinsic" { ... }` block - --> $DIR/intrinsics-always-extern.rs:4:32 + --> $DIR/always-extern.rs:4:32 | LL | extern "rust-intrinsic" fn foo(&self); | ^^^ error[E0093]: unrecognized intrinsic function: `hello` - --> $DIR/intrinsics-always-extern.rs:12:28 + --> $DIR/always-extern.rs:12:28 | LL | extern "rust-intrinsic" fn hello() { | ^^^^^ unrecognized intrinsic @@ -13,7 +13,7 @@ LL | extern "rust-intrinsic" fn hello() { = help: if you're adding an intrinsic, be sure to update `check_intrinsic_type` error: intrinsic must be in `extern "rust-intrinsic" { ... }` block - --> $DIR/intrinsics-always-extern.rs:8:43 + --> $DIR/always-extern.rs:8:43 | LL | extern "rust-intrinsic" fn foo(&self) { | ___________________________________________^ @@ -21,7 +21,7 @@ LL | | } | |_____^ error: intrinsic must be in `extern "rust-intrinsic" { ... }` block - --> $DIR/intrinsics-always-extern.rs:12:36 + --> $DIR/always-extern.rs:12:36 | LL | extern "rust-intrinsic" fn hello() { | ____________________________________^ diff --git a/tests/ui/reify-intrinsic.rs b/tests/ui/intrinsics/reify-intrinsic.rs index 6c52651f060..6c52651f060 100644 --- a/tests/ui/reify-intrinsic.rs +++ b/tests/ui/intrinsics/reify-intrinsic.rs diff --git a/tests/ui/reify-intrinsic.stderr b/tests/ui/intrinsics/reify-intrinsic.stderr index 0119a1a6650..0119a1a6650 100644 --- a/tests/ui/reify-intrinsic.stderr +++ b/tests/ui/intrinsics/reify-intrinsic.stderr diff --git a/tests/ui/lint-group-denied-lint-allowed.rs b/tests/ui/lint/group-denied-lint-allowed.rs index 86b63bb31e3..86b63bb31e3 100644 --- a/tests/ui/lint-group-denied-lint-allowed.rs +++ b/tests/ui/lint/group-denied-lint-allowed.rs diff --git a/tests/ui/lint-group-forbid-always-trumps-cli.rs b/tests/ui/lint/group-forbid-always-trumps-cli.rs index 4b63452bf5d..4b63452bf5d 100644 --- a/tests/ui/lint-group-forbid-always-trumps-cli.rs +++ b/tests/ui/lint/group-forbid-always-trumps-cli.rs diff --git a/tests/ui/lint-group-forbid-always-trumps-cli.stderr b/tests/ui/lint/group-forbid-always-trumps-cli.stderr index 04a0f56c163..21674ebae9c 100644 --- a/tests/ui/lint-group-forbid-always-trumps-cli.stderr +++ b/tests/ui/lint/group-forbid-always-trumps-cli.stderr @@ -1,5 +1,5 @@ error: unused variable: `x` - --> $DIR/lint-group-forbid-always-trumps-cli.rs:4:9 + --> $DIR/group-forbid-always-trumps-cli.rs:4:9 | LL | let x = 1; | ^ help: if this is intentional, prefix it with an underscore: `_x` diff --git a/tests/ui/lint-unknown-lints-at-crate-level.rs b/tests/ui/lint/unknown-lints-at-crate-level.rs index c8cf65ce93a..c8cf65ce93a 100644 --- a/tests/ui/lint-unknown-lints-at-crate-level.rs +++ b/tests/ui/lint/unknown-lints-at-crate-level.rs diff --git a/tests/ui/compile_error_macro.rs b/tests/ui/macros/compile_error_macro.rs index 3f7b57cd078..3f7b57cd078 100644 --- a/tests/ui/compile_error_macro.rs +++ b/tests/ui/macros/compile_error_macro.rs diff --git a/tests/ui/compile_error_macro.stderr b/tests/ui/macros/compile_error_macro.stderr index 92d5564e8a7..92d5564e8a7 100644 --- a/tests/ui/compile_error_macro.stderr +++ b/tests/ui/macros/compile_error_macro.stderr diff --git a/tests/ui/module-macro_use-arguments.rs b/tests/ui/macros/module-macro_use-arguments.rs index 121b492e254..121b492e254 100644 --- a/tests/ui/module-macro_use-arguments.rs +++ b/tests/ui/macros/module-macro_use-arguments.rs diff --git a/tests/ui/module-macro_use-arguments.stderr b/tests/ui/macros/module-macro_use-arguments.stderr index 3ac645ad3a9..3ac645ad3a9 100644 --- a/tests/ui/module-macro_use-arguments.stderr +++ b/tests/ui/macros/module-macro_use-arguments.stderr diff --git a/tests/ui/no-patterns-in-args-macro.rs b/tests/ui/macros/no-patterns-in-args-macro.rs index b5109f9c286..b5109f9c286 100644 --- a/tests/ui/no-patterns-in-args-macro.rs +++ b/tests/ui/macros/no-patterns-in-args-macro.rs diff --git a/tests/ui/no-patterns-in-args-macro.stderr b/tests/ui/macros/no-patterns-in-args-macro.stderr index 0016c7953f3..0016c7953f3 100644 --- a/tests/ui/no-patterns-in-args-macro.stderr +++ b/tests/ui/macros/no-patterns-in-args-macro.stderr diff --git a/tests/ui/parser/issues/fn-no-semicolon-issue-124935-semi-after-item.rs b/tests/ui/parser/issues/fn-no-semicolon-issue-124935-semi-after-item.rs new file mode 100644 index 00000000000..3c0059ba3e3 --- /dev/null +++ b/tests/ui/parser/issues/fn-no-semicolon-issue-124935-semi-after-item.rs @@ -0,0 +1,6 @@ +// Regression test for issue #124935 +// Tests that we do not erroneously emit an error about +// missing main function when the mod starts with a `;` + +; //~ ERROR expected item, found `;` +fn main() { } diff --git a/tests/ui/parser/issues/fn-no-semicolon-issue-124935-semi-after-item.stderr b/tests/ui/parser/issues/fn-no-semicolon-issue-124935-semi-after-item.stderr new file mode 100644 index 00000000000..9776677589f --- /dev/null +++ b/tests/ui/parser/issues/fn-no-semicolon-issue-124935-semi-after-item.stderr @@ -0,0 +1,8 @@ +error: expected item, found `;` + --> $DIR/fn-no-semicolon-issue-124935-semi-after-item.rs:5:1 + | +LL | ; + | ^ help: remove this semicolon + +error: aborting due to 1 previous error + diff --git a/tests/ui/parser/issues/issue-49040.rs b/tests/ui/parser/issues/issue-49040.rs index b7a541dd664..68e7cc9f80e 100644 --- a/tests/ui/parser/issues/issue-49040.rs +++ b/tests/ui/parser/issues/issue-49040.rs @@ -1,3 +1,3 @@ #![allow(unused_variables)]; //~ ERROR expected item, found `;` -//~^ ERROR `main` function fn foo() {} +//~^ ERROR `main` function diff --git a/tests/ui/parser/issues/issue-49040.stderr b/tests/ui/parser/issues/issue-49040.stderr index 8af7838c791..11ef5e1aadf 100644 --- a/tests/ui/parser/issues/issue-49040.stderr +++ b/tests/ui/parser/issues/issue-49040.stderr @@ -5,10 +5,10 @@ LL | #![allow(unused_variables)]; | ^ help: remove this semicolon error[E0601]: `main` function not found in crate `issue_49040` - --> $DIR/issue-49040.rs:1:29 + --> $DIR/issue-49040.rs:2:12 | -LL | #![allow(unused_variables)]; - | ^ consider adding a `main` function to `$DIR/issue-49040.rs` +LL | fn foo() {} + | ^ consider adding a `main` function to `$DIR/issue-49040.rs` error: aborting due to 2 previous errors diff --git a/tests/ui/parser/issues/missing-main-issue-124935-semi-after-item.rs b/tests/ui/parser/issues/missing-main-issue-124935-semi-after-item.rs new file mode 100644 index 00000000000..3fbac5fae23 --- /dev/null +++ b/tests/ui/parser/issues/missing-main-issue-124935-semi-after-item.rs @@ -0,0 +1,5 @@ +// Regression test for issue #124935 +// Tests that we still emit an error after an item. + +fn main() { } +; //~ ERROR expected item, found `;` diff --git a/tests/ui/parser/issues/missing-main-issue-124935-semi-after-item.stderr b/tests/ui/parser/issues/missing-main-issue-124935-semi-after-item.stderr new file mode 100644 index 00000000000..2d7f540443d --- /dev/null +++ b/tests/ui/parser/issues/missing-main-issue-124935-semi-after-item.stderr @@ -0,0 +1,10 @@ +error: expected item, found `;` + --> $DIR/missing-main-issue-124935-semi-after-item.rs:5:1 + | +LL | ; + | ^ help: remove this semicolon + | + = help: function declarations are not followed by a semicolon + +error: aborting due to 1 previous error + diff --git a/tests/ui/super-fast-paren-parsing.rs b/tests/ui/parser/super-fast-paren-parsing.rs index ce7283eee03..5b7cd6fe47d 100644 --- a/tests/ui/super-fast-paren-parsing.rs +++ b/tests/ui/parser/super-fast-paren-parsing.rs @@ -3,10 +3,7 @@ #![allow(unused_parens)] #![allow(non_upper_case_globals)] #![allow(dead_code)] -//@ exec-env:RUST_MIN_STACK=16000000 -//@ rustc-env:RUST_MIN_STACK=16000000 -// -// Big stack is needed for pretty printing, a little sad... +#![cfg_attr(rustfmt, rustfmt::skip)] static a: isize = ((((((((((((((((((((((((((((((((((((((((((((((((((( diff --git a/tests/ui/by-move-pattern-binding.rs b/tests/ui/pattern/by-move-pattern-binding.rs index f68d181291d..f68d181291d 100644 --- a/tests/ui/by-move-pattern-binding.rs +++ b/tests/ui/pattern/by-move-pattern-binding.rs diff --git a/tests/ui/by-move-pattern-binding.stderr b/tests/ui/pattern/by-move-pattern-binding.stderr index 203e37dc387..203e37dc387 100644 --- a/tests/ui/by-move-pattern-binding.stderr +++ b/tests/ui/pattern/by-move-pattern-binding.stderr diff --git a/tests/ui/fn-in-pat.rs b/tests/ui/pattern/fn-in-pat.rs index 2d7c86b8666..2d7c86b8666 100644 --- a/tests/ui/fn-in-pat.rs +++ b/tests/ui/pattern/fn-in-pat.rs diff --git a/tests/ui/fn-in-pat.stderr b/tests/ui/pattern/fn-in-pat.stderr index 41ea4df72a2..41ea4df72a2 100644 --- a/tests/ui/fn-in-pat.stderr +++ b/tests/ui/pattern/fn-in-pat.stderr diff --git a/tests/ui/inc-range-pat.rs b/tests/ui/pattern/inc-range-pat.rs index 189dac4feed..189dac4feed 100644 --- a/tests/ui/inc-range-pat.rs +++ b/tests/ui/pattern/inc-range-pat.rs diff --git a/tests/ui/no-patterns-in-args-2.rs b/tests/ui/pattern/no-patterns-in-args-2.rs index 85b7fc5cdba..85b7fc5cdba 100644 --- a/tests/ui/no-patterns-in-args-2.rs +++ b/tests/ui/pattern/no-patterns-in-args-2.rs diff --git a/tests/ui/no-patterns-in-args-2.stderr b/tests/ui/pattern/no-patterns-in-args-2.stderr index 6adcbb9dccd..6adcbb9dccd 100644 --- a/tests/ui/no-patterns-in-args-2.stderr +++ b/tests/ui/pattern/no-patterns-in-args-2.stderr diff --git a/tests/ui/no-patterns-in-args.rs b/tests/ui/pattern/no-patterns-in-args.rs index 54836b0a3f5..54836b0a3f5 100644 --- a/tests/ui/no-patterns-in-args.rs +++ b/tests/ui/pattern/no-patterns-in-args.rs diff --git a/tests/ui/no-patterns-in-args.stderr b/tests/ui/pattern/no-patterns-in-args.stderr index 1c2ce866467..1c2ce866467 100644 --- a/tests/ui/no-patterns-in-args.stderr +++ b/tests/ui/pattern/no-patterns-in-args.stderr diff --git a/tests/ui/env-args-reverse-iterator.rs b/tests/ui/process/env-args-reverse-iterator.rs index 830e9535466..830e9535466 100644 --- a/tests/ui/env-args-reverse-iterator.rs +++ b/tests/ui/process/env-args-reverse-iterator.rs diff --git a/tests/ui/env-funky-keys.rs b/tests/ui/process/env-funky-keys.rs index 314ccaea015..314ccaea015 100644 --- a/tests/ui/env-funky-keys.rs +++ b/tests/ui/process/env-funky-keys.rs diff --git a/tests/ui/env-null-vars.rs b/tests/ui/process/env-null-vars.rs index 24d783553d1..24d783553d1 100644 --- a/tests/ui/env-null-vars.rs +++ b/tests/ui/process/env-null-vars.rs diff --git a/tests/ui/env-vars.rs b/tests/ui/process/env-vars.rs index 73068b5dfb8..73068b5dfb8 100644 --- a/tests/ui/env-vars.rs +++ b/tests/ui/process/env-vars.rs diff --git a/tests/ui/exec-env.rs b/tests/ui/process/exec-env.rs index 9054b378f56..9054b378f56 100644 --- a/tests/ui/exec-env.rs +++ b/tests/ui/process/exec-env.rs diff --git a/tests/ui/inherit-env.rs b/tests/ui/process/inherit-env.rs index 0eb61fcdd53..0eb61fcdd53 100644 --- a/tests/ui/inherit-env.rs +++ b/tests/ui/process/inherit-env.rs diff --git a/tests/ui/impossible_range.fixed b/tests/ui/range/impossible_range.fixed index 423dde94f4f..423dde94f4f 100644 --- a/tests/ui/impossible_range.fixed +++ b/tests/ui/range/impossible_range.fixed diff --git a/tests/ui/impossible_range.rs b/tests/ui/range/impossible_range.rs index 002ea792fbf..002ea792fbf 100644 --- a/tests/ui/impossible_range.rs +++ b/tests/ui/range/impossible_range.rs diff --git a/tests/ui/impossible_range.stderr b/tests/ui/range/impossible_range.stderr index 53c56065c2a..53c56065c2a 100644 --- a/tests/ui/impossible_range.stderr +++ b/tests/ui/range/impossible_range.stderr diff --git a/tests/ui/range_inclusive.rs b/tests/ui/range/range_inclusive.rs index 6e77f0d7767..6e77f0d7767 100644 --- a/tests/ui/range_inclusive.rs +++ b/tests/ui/range/range_inclusive.rs diff --git a/tests/ui/conflicting-repr-hints.rs b/tests/ui/repr/conflicting-repr-hints.rs index ed82b6a742c..ed82b6a742c 100644 --- a/tests/ui/conflicting-repr-hints.rs +++ b/tests/ui/repr/conflicting-repr-hints.rs diff --git a/tests/ui/conflicting-repr-hints.stderr b/tests/ui/repr/conflicting-repr-hints.stderr index 4dcd8f4fc28..4dcd8f4fc28 100644 --- a/tests/ui/conflicting-repr-hints.stderr +++ b/tests/ui/repr/conflicting-repr-hints.stderr diff --git a/tests/ui/ret-bang.rs b/tests/ui/return/ret-bang.rs index f0d529ad6a6..f0d529ad6a6 100644 --- a/tests/ui/ret-bang.rs +++ b/tests/ui/return/ret-bang.rs diff --git a/tests/ui/ret-non-nil.rs b/tests/ui/return/ret-non-nil.rs index 1d039ffe18c..1d039ffe18c 100644 --- a/tests/ui/ret-non-nil.rs +++ b/tests/ui/return/ret-non-nil.rs diff --git a/tests/ui/ret-non-nil.stderr b/tests/ui/return/ret-non-nil.stderr index 802900e61a3..802900e61a3 100644 --- a/tests/ui/ret-non-nil.stderr +++ b/tests/ui/return/ret-non-nil.stderr diff --git a/tests/ui/return-disjoint-regions.rs b/tests/ui/return/return-disjoint-regions.rs index d0feb3b65e1..d0feb3b65e1 100644 --- a/tests/ui/return-disjoint-regions.rs +++ b/tests/ui/return/return-disjoint-regions.rs diff --git a/tests/ui/return-disjoint-regions.stderr b/tests/ui/return/return-disjoint-regions.stderr index 7b5b032579a..7b5b032579a 100644 --- a/tests/ui/return-disjoint-regions.stderr +++ b/tests/ui/return/return-disjoint-regions.stderr diff --git a/tests/ui/return-nil.rs b/tests/ui/return/return-nil.rs index 403eae260dc..403eae260dc 100644 --- a/tests/ui/return-nil.rs +++ b/tests/ui/return/return-nil.rs diff --git a/tests/ui/auxiliary/check_static_recursion_foreign_helper.rs b/tests/ui/statics/auxiliary/check_static_recursion_foreign_helper.rs index bcab5f238c3..bcab5f238c3 100644 --- a/tests/ui/auxiliary/check_static_recursion_foreign_helper.rs +++ b/tests/ui/statics/auxiliary/check_static_recursion_foreign_helper.rs diff --git a/tests/ui/check-static-immutable-mut-slices.rs b/tests/ui/statics/check-immutable-mut-slices.rs index 8f9680778aa..8f9680778aa 100644 --- a/tests/ui/check-static-immutable-mut-slices.rs +++ b/tests/ui/statics/check-immutable-mut-slices.rs diff --git a/tests/ui/check-static-immutable-mut-slices.stderr b/tests/ui/statics/check-immutable-mut-slices.stderr index 402f9032b64..5cb35a7c21e 100644 --- a/tests/ui/check-static-immutable-mut-slices.stderr +++ b/tests/ui/statics/check-immutable-mut-slices.stderr @@ -1,5 +1,5 @@ error[E0764]: mutable references are not allowed in the final value of statics - --> $DIR/check-static-immutable-mut-slices.rs:3:37 + --> $DIR/check-immutable-mut-slices.rs:3:37 | LL | static TEST: &'static mut [isize] = &mut []; | ^^^^^^^ diff --git a/tests/ui/check-static-recursion-foreign.rs b/tests/ui/statics/check-recursion-foreign.rs index 5a0ff7b5962..5a0ff7b5962 100644 --- a/tests/ui/check-static-recursion-foreign.rs +++ b/tests/ui/statics/check-recursion-foreign.rs diff --git a/tests/ui/check-static-values-constraints.rs b/tests/ui/statics/check-values-constraints.rs index 005a7798895..005a7798895 100644 --- a/tests/ui/check-static-values-constraints.rs +++ b/tests/ui/statics/check-values-constraints.rs diff --git a/tests/ui/check-static-values-constraints.stderr b/tests/ui/statics/check-values-constraints.stderr index fe5f2a34272..45a699f575f 100644 --- a/tests/ui/check-static-values-constraints.stderr +++ b/tests/ui/statics/check-values-constraints.stderr @@ -1,5 +1,5 @@ error[E0493]: destructor of `SafeStruct` cannot be evaluated at compile-time - --> $DIR/check-static-values-constraints.rs:64:7 + --> $DIR/check-values-constraints.rs:64:7 | LL | ..SafeStruct { | _______^ @@ -12,7 +12,7 @@ LL | }; | - value is dropped here error[E0010]: allocations are not allowed in statics - --> $DIR/check-static-values-constraints.rs:81:33 + --> $DIR/check-values-constraints.rs:81:33 | LL | static STATIC11: Vec<MyOwned> = vec![MyOwned]; | ^^^^^^^^^^^^^ allocation not allowed in statics @@ -20,7 +20,7 @@ LL | static STATIC11: Vec<MyOwned> = vec![MyOwned]; = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics - --> $DIR/check-static-values-constraints.rs:81:33 + --> $DIR/check-values-constraints.rs:81:33 | LL | static STATIC11: Vec<MyOwned> = vec![MyOwned]; | ^^^^^^^^^^^^^ @@ -30,7 +30,7 @@ LL | static STATIC11: Vec<MyOwned> = vec![MyOwned]; = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0015]: cannot call non-const fn `<str as ToString>::to_string` in statics - --> $DIR/check-static-values-constraints.rs:92:38 + --> $DIR/check-values-constraints.rs:92:38 | LL | field2: SafeEnum::Variant4("str".to_string()), | ^^^^^^^^^^^ @@ -43,7 +43,7 @@ LL + #![feature(const_trait_impl)] | error[E0010]: allocations are not allowed in statics - --> $DIR/check-static-values-constraints.rs:96:5 + --> $DIR/check-values-constraints.rs:96:5 | LL | vec![MyOwned], | ^^^^^^^^^^^^^ allocation not allowed in statics @@ -51,7 +51,7 @@ LL | vec![MyOwned], = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics - --> $DIR/check-static-values-constraints.rs:96:5 + --> $DIR/check-values-constraints.rs:96:5 | LL | vec![MyOwned], | ^^^^^^^^^^^^^ @@ -61,7 +61,7 @@ LL | vec![MyOwned], = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0010]: allocations are not allowed in statics - --> $DIR/check-static-values-constraints.rs:98:5 + --> $DIR/check-values-constraints.rs:98:5 | LL | vec![MyOwned], | ^^^^^^^^^^^^^ allocation not allowed in statics @@ -69,7 +69,7 @@ LL | vec![MyOwned], = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics - --> $DIR/check-static-values-constraints.rs:98:5 + --> $DIR/check-values-constraints.rs:98:5 | LL | vec![MyOwned], | ^^^^^^^^^^^^^ @@ -79,7 +79,7 @@ LL | vec![MyOwned], = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0010]: allocations are not allowed in statics - --> $DIR/check-static-values-constraints.rs:103:6 + --> $DIR/check-values-constraints.rs:103:6 | LL | &vec![MyOwned], | ^^^^^^^^^^^^^ allocation not allowed in statics @@ -87,7 +87,7 @@ LL | &vec![MyOwned], = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics - --> $DIR/check-static-values-constraints.rs:103:6 + --> $DIR/check-values-constraints.rs:103:6 | LL | &vec![MyOwned], | ^^^^^^^^^^^^^ @@ -97,7 +97,7 @@ LL | &vec![MyOwned], = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0010]: allocations are not allowed in statics - --> $DIR/check-static-values-constraints.rs:105:6 + --> $DIR/check-values-constraints.rs:105:6 | LL | &vec![MyOwned], | ^^^^^^^^^^^^^ allocation not allowed in statics @@ -105,7 +105,7 @@ LL | &vec![MyOwned], = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics - --> $DIR/check-static-values-constraints.rs:105:6 + --> $DIR/check-values-constraints.rs:105:6 | LL | &vec![MyOwned], | ^^^^^^^^^^^^^ @@ -115,7 +115,7 @@ LL | &vec![MyOwned], = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0010]: allocations are not allowed in statics - --> $DIR/check-static-values-constraints.rs:111:31 + --> $DIR/check-values-constraints.rs:111:31 | LL | static STATIC19: Vec<isize> = vec![3]; | ^^^^^^^ allocation not allowed in statics @@ -123,7 +123,7 @@ LL | static STATIC19: Vec<isize> = vec![3]; = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0015]: cannot call non-const fn `slice::<impl [isize]>::into_vec::<std::alloc::Global>` in statics - --> $DIR/check-static-values-constraints.rs:111:31 + --> $DIR/check-values-constraints.rs:111:31 | LL | static STATIC19: Vec<isize> = vec![3]; | ^^^^^^^ @@ -133,7 +133,7 @@ LL | static STATIC19: Vec<isize> = vec![3]; = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0010]: allocations are not allowed in statics - --> $DIR/check-static-values-constraints.rs:117:32 + --> $DIR/check-values-constraints.rs:117:32 | LL | static x: Vec<isize> = vec![3]; | ^^^^^^^ allocation not allowed in statics @@ -141,7 +141,7 @@ LL | static x: Vec<isize> = vec![3]; = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0015]: cannot call non-const fn `slice::<impl [isize]>::into_vec::<std::alloc::Global>` in statics - --> $DIR/check-static-values-constraints.rs:117:32 + --> $DIR/check-values-constraints.rs:117:32 | LL | static x: Vec<isize> = vec![3]; | ^^^^^^^ @@ -151,7 +151,7 @@ LL | static x: Vec<isize> = vec![3]; = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0507]: cannot move out of static item `x` - --> $DIR/check-static-values-constraints.rs:119:9 + --> $DIR/check-values-constraints.rs:119:9 | LL | x | ^ move occurs because `x` has type `Vec<isize>`, which does not implement the `Copy` trait diff --git a/tests/ui/dont-suggest-private-trait-method.rs b/tests/ui/suggestions/dont-suggest-private-trait-method.rs index 6e2b1abd137..6e2b1abd137 100644 --- a/tests/ui/dont-suggest-private-trait-method.rs +++ b/tests/ui/suggestions/dont-suggest-private-trait-method.rs diff --git a/tests/ui/dont-suggest-private-trait-method.stderr b/tests/ui/suggestions/dont-suggest-private-trait-method.stderr index f251ad59a58..f251ad59a58 100644 --- a/tests/ui/dont-suggest-private-trait-method.stderr +++ b/tests/ui/suggestions/dont-suggest-private-trait-method.stderr diff --git a/tests/ui/suggest-null-ptr.fixed b/tests/ui/suggestions/suggest-null-ptr.fixed index 55c90859c83..55c90859c83 100644 --- a/tests/ui/suggest-null-ptr.fixed +++ b/tests/ui/suggestions/suggest-null-ptr.fixed diff --git a/tests/ui/suggest-null-ptr.rs b/tests/ui/suggestions/suggest-null-ptr.rs index f4f1269d512..f4f1269d512 100644 --- a/tests/ui/suggest-null-ptr.rs +++ b/tests/ui/suggestions/suggest-null-ptr.rs diff --git a/tests/ui/suggest-null-ptr.stderr b/tests/ui/suggestions/suggest-null-ptr.stderr index 66a79d0749e..66a79d0749e 100644 --- a/tests/ui/suggest-null-ptr.stderr +++ b/tests/ui/suggestions/suggest-null-ptr.stderr diff --git a/tests/ui/trait-impl-bound-suggestions.fixed b/tests/ui/suggestions/trait-impl-bound-suggestions.fixed index 9d3168f5acd..9d3168f5acd 100644 --- a/tests/ui/trait-impl-bound-suggestions.fixed +++ b/tests/ui/suggestions/trait-impl-bound-suggestions.fixed diff --git a/tests/ui/trait-impl-bound-suggestions.rs b/tests/ui/suggestions/trait-impl-bound-suggestions.rs index 342fb4416ad..342fb4416ad 100644 --- a/tests/ui/trait-impl-bound-suggestions.rs +++ b/tests/ui/suggestions/trait-impl-bound-suggestions.rs diff --git a/tests/ui/trait-impl-bound-suggestions.stderr b/tests/ui/suggestions/trait-impl-bound-suggestions.stderr index 6a75cbdf639..6a75cbdf639 100644 --- a/tests/ui/trait-impl-bound-suggestions.stderr +++ b/tests/ui/suggestions/trait-impl-bound-suggestions.stderr diff --git a/tests/ui/tool_lints-fail.rs b/tests/ui/tool-attributes/tool_lints-fail.rs index 5cbd63be597..5cbd63be597 100644 --- a/tests/ui/tool_lints-fail.rs +++ b/tests/ui/tool-attributes/tool_lints-fail.rs diff --git a/tests/ui/tool_lints-fail.stderr b/tests/ui/tool-attributes/tool_lints-fail.stderr index 7d80e0728f7..7d80e0728f7 100644 --- a/tests/ui/tool_lints-fail.stderr +++ b/tests/ui/tool-attributes/tool_lints-fail.stderr diff --git a/tests/ui/tool_lints-rpass.rs b/tests/ui/tool-attributes/tool_lints-rpass.rs index 458eca19ed6..458eca19ed6 100644 --- a/tests/ui/tool_lints-rpass.rs +++ b/tests/ui/tool-attributes/tool_lints-rpass.rs diff --git a/tests/ui/tool_lints.rs b/tests/ui/tool-attributes/tool_lints.rs index ef27532f6de..ef27532f6de 100644 --- a/tests/ui/tool_lints.rs +++ b/tests/ui/tool-attributes/tool_lints.rs diff --git a/tests/ui/tool_lints.stderr b/tests/ui/tool-attributes/tool_lints.stderr index f1d825caba1..f1d825caba1 100644 --- a/tests/ui/tool_lints.stderr +++ b/tests/ui/tool-attributes/tool_lints.stderr diff --git a/tests/ui/tool_lints_2018_preview.rs b/tests/ui/tool-attributes/tool_lints_2018_preview.rs index 458eca19ed6..458eca19ed6 100644 --- a/tests/ui/tool_lints_2018_preview.rs +++ b/tests/ui/tool-attributes/tool_lints_2018_preview.rs diff --git a/tests/ui/unknown-lint-tool-name.rs b/tests/ui/tool-attributes/unknown-lint-tool-name.rs index cd5d2f028af..cd5d2f028af 100644 --- a/tests/ui/unknown-lint-tool-name.rs +++ b/tests/ui/tool-attributes/unknown-lint-tool-name.rs diff --git a/tests/ui/unknown-lint-tool-name.stderr b/tests/ui/tool-attributes/unknown-lint-tool-name.stderr index 72731ab1e3d..72731ab1e3d 100644 --- a/tests/ui/unknown-lint-tool-name.stderr +++ b/tests/ui/tool-attributes/unknown-lint-tool-name.stderr diff --git a/tests/ui/unknown-tool-name.rs b/tests/ui/tool-attributes/unknown-tool-name.rs index 73fca61c65d..73fca61c65d 100644 --- a/tests/ui/unknown-tool-name.rs +++ b/tests/ui/tool-attributes/unknown-tool-name.rs diff --git a/tests/ui/unknown-tool-name.stderr b/tests/ui/tool-attributes/unknown-tool-name.stderr index 361d359a10e..361d359a10e 100644 --- a/tests/ui/unknown-tool-name.stderr +++ b/tests/ui/tool-attributes/unknown-tool-name.stderr diff --git a/tests/ui/unop-move-semantics.rs b/tests/ui/unop/unop-move-semantics.rs index 8168da8242f..8168da8242f 100644 --- a/tests/ui/unop-move-semantics.rs +++ b/tests/ui/unop/unop-move-semantics.rs diff --git a/tests/ui/unop-move-semantics.stderr b/tests/ui/unop/unop-move-semantics.stderr index bc9b3ea9903..bc9b3ea9903 100644 --- a/tests/ui/unop-move-semantics.stderr +++ b/tests/ui/unop/unop-move-semantics.stderr diff --git a/tests/ui/unop-neg-bool.rs b/tests/ui/unop/unop-neg-bool.rs index 6f1f1aba459..6f1f1aba459 100644 --- a/tests/ui/unop-neg-bool.rs +++ b/tests/ui/unop/unop-neg-bool.rs diff --git a/tests/ui/unop-neg-bool.stderr b/tests/ui/unop/unop-neg-bool.stderr index 9bc5e7dcf22..9bc5e7dcf22 100644 --- a/tests/ui/unop-neg-bool.stderr +++ b/tests/ui/unop/unop-neg-bool.stderr |
