summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lint
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/lint')
-rw-r--r--src/test/ui/lint/auxiliary/add-impl.rs22
-rw-r--r--src/test/ui/lint/auxiliary/external_extern_fn.rs3
-rw-r--r--src/test/ui/lint/auxiliary/inherited_stability.rs47
-rw-r--r--src/test/ui/lint/auxiliary/lint_output_format.rs20
-rw-r--r--src/test/ui/lint/auxiliary/lint_stability.rs188
-rw-r--r--src/test/ui/lint/auxiliary/lint_stability_fields.rs66
-rw-r--r--src/test/ui/lint/auxiliary/lints-in-foreign-macros.rs14
-rw-r--r--src/test/ui/lint/auxiliary/stability-cfg2.rs5
-rw-r--r--src/test/ui/lint/auxiliary/stability_cfg1.rs3
-rw-r--r--src/test/ui/lint/auxiliary/stability_cfg2.rs5
-rw-r--r--src/test/ui/lint/auxiliary/trivial-cast-ice.rs7
-rw-r--r--src/test/ui/lint/auxiliary/unaligned_references_external_crate.rs28
-rw-r--r--src/test/ui/lint/bad-lint-cap.rs4
-rw-r--r--src/test/ui/lint/bad-lint-cap.stderr2
-rw-r--r--src/test/ui/lint/bad-lint-cap2.rs8
-rw-r--r--src/test/ui/lint/bad-lint-cap2.stderr15
-rw-r--r--src/test/ui/lint/bad-lint-cap3.rs9
-rw-r--r--src/test/ui/lint/bad-lint-cap3.stderr15
-rw-r--r--src/test/ui/lint/bare-trait-objects-path.rs26
-rw-r--r--src/test/ui/lint/bare-trait-objects-path.stderr62
-rw-r--r--src/test/ui/lint/clashing-extern-fn-recursion.rs119
-rw-r--r--src/test/ui/lint/clashing-extern-fn-wasm.rs21
-rw-r--r--src/test/ui/lint/clashing-extern-fn.rs417
-rw-r--r--src/test/ui/lint/clashing-extern-fn.stderr236
-rw-r--r--src/test/ui/lint/cli-lint-override.forbid_warn.stderr11
-rw-r--r--src/test/ui/lint/cli-lint-override.force_warn_deny.stderr11
-rw-r--r--src/test/ui/lint/cli-lint-override.rs17
-rw-r--r--src/test/ui/lint/cli-lint-override.warn_deny.stderr11
-rw-r--r--src/test/ui/lint/cli-unknown-force-warn.rs7
-rw-r--r--src/test/ui/lint/cli-unknown-force-warn.stderr11
-rw-r--r--src/test/ui/lint/command-line-lint-group-allow.rs6
-rw-r--r--src/test/ui/lint/command-line-lint-group-deny.rs5
-rw-r--r--src/test/ui/lint/command-line-lint-group-deny.stderr10
-rw-r--r--src/test/ui/lint/command-line-lint-group-forbid.rs5
-rw-r--r--src/test/ui/lint/command-line-lint-group-forbid.stderr10
-rw-r--r--src/test/ui/lint/command-line-lint-group-warn.rs7
-rw-r--r--src/test/ui/lint/command-line-lint-group-warn.stderr10
-rw-r--r--src/test/ui/lint/command-line-register-lint-tool.rs7
-rw-r--r--src/test/ui/lint/command-line-register-unknown-lint-tool.rs4
-rw-r--r--src/test/ui/lint/command-line-register-unknown-lint-tool.stderr11
-rw-r--r--src/test/ui/lint/crate_level_only_lint.rs22
-rw-r--r--src/test/ui/lint/crate_level_only_lint.stderr62
-rw-r--r--src/test/ui/lint/dead-code/alias-in-pat.rs10
-rw-r--r--src/test/ui/lint/dead-code/anon-const-in-pat.rs45
-rw-r--r--src/test/ui/lint/dead-code/associated-type.rs19
-rw-r--r--src/test/ui/lint/dead-code/basic.rs15
-rw-r--r--src/test/ui/lint/dead-code/basic.stderr14
-rw-r--r--src/test/ui/lint/dead-code/closure-bang.rs9
-rw-r--r--src/test/ui/lint/dead-code/const-and-self.rs54
-rw-r--r--src/test/ui/lint/dead-code/const-and-self.stderr19
-rw-r--r--src/test/ui/lint/dead-code/empty-unused-enum.rs5
-rw-r--r--src/test/ui/lint/dead-code/empty-unused-enum.stderr15
-rw-r--r--src/test/ui/lint/dead-code/empty-unused-public-enum.rs6
-rw-r--r--src/test/ui/lint/dead-code/enum-variants.rs14
-rw-r--r--src/test/ui/lint/dead-code/impl-trait.rs18
-rw-r--r--src/test/ui/lint/dead-code/impl-trait.stderr14
-rw-r--r--src/test/ui/lint/dead-code/issue-68408-false-positive.rs22
-rw-r--r--src/test/ui/lint/dead-code/issue-85071-2.rs22
-rw-r--r--src/test/ui/lint/dead-code/issue-85071-2.stderr34
-rw-r--r--src/test/ui/lint/dead-code/issue-85071.rs19
-rw-r--r--src/test/ui/lint/dead-code/issue-85071.stderr34
-rw-r--r--src/test/ui/lint/dead-code/issue-85255.rs50
-rw-r--r--src/test/ui/lint/dead-code/issue-85255.stderr74
-rw-r--r--src/test/ui/lint/dead-code/leading-underscore.rs31
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-1.rs110
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-1.stderr71
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-2.rs41
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-2.stderr26
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-3.rs90
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-3.stderr50
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-4.rs83
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-4.stderr66
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-5.rs50
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-5.stderr34
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-6.rs20
-rw-r--r--src/test/ui/lint/dead-code/lint-dead-code-6.stderr32
-rw-r--r--src/test/ui/lint/dead-code/multiple-dead-codes-in-the-same-struct.rs29
-rw-r--r--src/test/ui/lint/dead-code/multiple-dead-codes-in-the-same-struct.stderr55
-rw-r--r--src/test/ui/lint/dead-code/newline-span.rs19
-rw-r--r--src/test/ui/lint/dead-code/newline-span.stderr26
-rw-r--r--src/test/ui/lint/dead-code/self-assign.rs52
-rw-r--r--src/test/ui/lint/dead-code/self-assign.stderr44
-rw-r--r--src/test/ui/lint/dead-code/trait-impl.rs19
-rw-r--r--src/test/ui/lint/dead-code/tuple-struct-field.rs37
-rw-r--r--src/test/ui/lint/dead-code/tuple-struct-field.stderr33
-rw-r--r--src/test/ui/lint/dead-code/type-alias.rs10
-rw-r--r--src/test/ui/lint/dead-code/type-alias.stderr14
-rw-r--r--src/test/ui/lint/dead-code/type-in-foreign.rs19
-rw-r--r--src/test/ui/lint/dead-code/unused-enum.rs12
-rw-r--r--src/test/ui/lint/dead-code/unused-enum.stderr27
-rw-r--r--src/test/ui/lint/dead-code/unused-struct-variant.rs13
-rw-r--r--src/test/ui/lint/dead-code/unused-struct-variant.stderr18
-rw-r--r--src/test/ui/lint/dead-code/unused-variant-pub.rs14
-rw-r--r--src/test/ui/lint/dead-code/unused-variant.rs12
-rw-r--r--src/test/ui/lint/dead-code/unused-variant.stderr17
-rw-r--r--src/test/ui/lint/dead-code/with-core-crate.rs18
-rw-r--r--src/test/ui/lint/dead-code/with-core-crate.stderr14
-rw-r--r--src/test/ui/lint/dead-code/with-impl.rs17
-rw-r--r--src/test/ui/lint/deny-overflowing-literals.rs7
-rw-r--r--src/test/ui/lint/deny-overflowing-literals.stderr17
-rw-r--r--src/test/ui/lint/empty-lint-attributes.rs17
-rw-r--r--src/test/ui/lint/enable-unstable-lib-feature.rs13
-rw-r--r--src/test/ui/lint/enable-unstable-lib-feature.stderr14
-rw-r--r--src/test/ui/lint/expansion-time-include.rs4
-rw-r--r--src/test/ui/lint/expansion-time.rs33
-rw-r--r--src/test/ui/lint/expansion-time.stderr56
-rw-r--r--src/test/ui/lint/expr_attr_paren_order.rs22
-rw-r--r--src/test/ui/lint/expr_attr_paren_order.stderr14
-rw-r--r--src/test/ui/lint/fn_must_use.rs76
-rw-r--r--src/test/ui/lint/fn_must_use.stderr69
-rw-r--r--src/test/ui/lint/for_loop_over_fallibles.rs43
-rw-r--r--src/test/ui/lint/for_loop_over_fallibles.stderr101
-rw-r--r--src/test/ui/lint/forbid-error-capped.rs15
-rw-r--r--src/test/ui/lint/forbid-group-group-1.rs13
-rw-r--r--src/test/ui/lint/forbid-group-group-1.stderr15
-rw-r--r--src/test/ui/lint/forbid-group-group-2.rs26
-rw-r--r--src/test/ui/lint/forbid-group-group-2.stderr115
-rw-r--r--src/test/ui/lint/forbid-group-member.rs17
-rw-r--r--src/test/ui/lint/forbid-group-member.stderr39
-rw-r--r--src/test/ui/lint/forbid-member-group.rs11
-rw-r--r--src/test/ui/lint/forbid-member-group.stderr21
-rw-r--r--src/test/ui/lint/force-warn/allow-warnings.rs11
-rw-r--r--src/test/ui/lint/force-warn/allow-warnings.stderr10
-rw-r--r--src/test/ui/lint/force-warn/allowed-by-default-lint.rs12
-rw-r--r--src/test/ui/lint/force-warn/allowed-by-default-lint.stderr14
-rw-r--r--src/test/ui/lint/force-warn/allowed-cli-deny-by-default-lint.rs10
-rw-r--r--src/test/ui/lint/force-warn/allowed-cli-deny-by-default-lint.stderr10
-rw-r--r--src/test/ui/lint/force-warn/allowed-deny-by-default-lint.rs11
-rw-r--r--src/test/ui/lint/force-warn/allowed-deny-by-default-lint.stderr10
-rw-r--r--src/test/ui/lint/force-warn/allowed-group-warn-by-default-lint.rs18
-rw-r--r--src/test/ui/lint/force-warn/allowed-group-warn-by-default-lint.stderr42
-rw-r--r--src/test/ui/lint/force-warn/allowed-warn-by-default-lint.rs11
-rw-r--r--src/test/ui/lint/force-warn/allowed-warn-by-default-lint.stderr10
-rw-r--r--src/test/ui/lint/force-warn/cap-lints-allow.rs16
-rw-r--r--src/test/ui/lint/force-warn/cap-lints-allow.stderr42
-rw-r--r--src/test/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.rs17
-rw-r--r--src/test/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.stderr12
-rw-r--r--src/test/ui/lint/force-warn/deny-by-default-lint.rs9
-rw-r--r--src/test/ui/lint/force-warn/deny-by-default-lint.stderr10
-rw-r--r--src/test/ui/lint/force-warn/lint-group-allow-warnings.rs12
-rw-r--r--src/test/ui/lint/force-warn/lint-group-allow-warnings.stderr10
-rw-r--r--src/test/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.rs16
-rw-r--r--src/test/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.stderr42
-rw-r--r--src/test/ui/lint/force-warn/lint-group-allowed-lint-group.rs18
-rw-r--r--src/test/ui/lint/force-warn/lint-group-allowed-lint-group.stderr42
-rw-r--r--src/test/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.rs18
-rw-r--r--src/test/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.stderr42
-rw-r--r--src/test/ui/lint/force-warn/warn-by-default-lint-two-modules.rs18
-rw-r--r--src/test/ui/lint/force-warn/warn-by-default-lint-two-modules.stderr16
-rw-r--r--src/test/ui/lint/force-warn/warnings-lint-group.rs5
-rw-r--r--src/test/ui/lint/force-warn/warnings-lint-group.stderr7
-rw-r--r--src/test/ui/lint/function-item-references.rs169
-rw-r--r--src/test/ui/lint/function-item-references.stderr206
-rw-r--r--src/test/ui/lint/future-incompat-test.rs10
-rw-r--r--src/test/ui/lint/future-incompat-test.stderr9
-rw-r--r--src/test/ui/lint/inclusive-range-pattern-syntax.fixed21
-rw-r--r--src/test/ui/lint/inclusive-range-pattern-syntax.rs21
-rw-r--r--src/test/ui/lint/inclusive-range-pattern-syntax.stderr25
-rw-r--r--src/test/ui/lint/inert-attr-macro.rs20
-rw-r--r--src/test/ui/lint/inert-attr-macro.stderr44
-rw-r--r--src/test/ui/lint/inline-trait-and-foreign-items.rs37
-rw-r--r--src/test/ui/lint/inline-trait-and-foreign-items.stderr74
-rw-r--r--src/test/ui/lint/invalid_value.rs169
-rw-r--r--src/test/ui/lint/invalid_value.stderr679
-rw-r--r--src/test/ui/lint/issue-101284.rs15
-rw-r--r--src/test/ui/lint/issue-102705.rs22
-rw-r--r--src/test/ui/lint/issue-103317.fixed14
-rw-r--r--src/test/ui/lint/issue-103317.rs14
-rw-r--r--src/test/ui/lint/issue-103317.stderr17
-rw-r--r--src/test/ui/lint/issue-103435-extra-parentheses.fixed18
-rw-r--r--src/test/ui/lint/issue-103435-extra-parentheses.rs18
-rw-r--r--src/test/ui/lint/issue-103435-extra-parentheses.stderr61
-rw-r--r--src/test/ui/lint/issue-104392.rs11
-rw-r--r--src/test/ui/lint/issue-104392.stderr27
-rw-r--r--src/test/ui/lint/issue-104897.rs6
-rw-r--r--src/test/ui/lint/issue-104897.stderr43
-rw-r--r--src/test/ui/lint/issue-14309.rs39
-rw-r--r--src/test/ui/lint/issue-14309.stderr77
-rw-r--r--src/test/ui/lint/issue-14837.rs11
-rw-r--r--src/test/ui/lint/issue-17718-const-naming.rs8
-rw-r--r--src/test/ui/lint/issue-17718-const-naming.stderr23
-rw-r--r--src/test/ui/lint/issue-1866.rs29
-rw-r--r--src/test/ui/lint/issue-1866.stderr19
-rw-r--r--src/test/ui/lint/issue-20343.rs32
-rw-r--r--src/test/ui/lint/issue-30302.rs20
-rw-r--r--src/test/ui/lint/issue-30302.stderr26
-rw-r--r--src/test/ui/lint/issue-31924-non-snake-ffi.rs15
-rw-r--r--src/test/ui/lint/issue-34798.rs25
-rw-r--r--src/test/ui/lint/issue-35075.rs9
-rw-r--r--src/test/ui/lint/issue-35075.stderr25
-rw-r--r--src/test/ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs27
-rw-r--r--src/test/ui/lint/issue-54099-camel-case-underscore-types.rs14
-rw-r--r--src/test/ui/lint/issue-57410-1.rs18
-rw-r--r--src/test/ui/lint/issue-57410.rs17
-rw-r--r--src/test/ui/lint/issue-63364.rs10
-rw-r--r--src/test/ui/lint/issue-63364.stderr11
-rw-r--r--src/test/ui/lint/issue-66362-no-snake-case-warning-for-field-puns.rs29
-rw-r--r--src/test/ui/lint/issue-66362-no-snake-case-warning-for-field-puns.stderr32
-rw-r--r--src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs50
-rw-r--r--src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.stderr18
-rw-r--r--src/test/ui/lint/issue-79546-fuel-ice.rs8
-rw-r--r--src/test/ui/lint/issue-79744.rs13
-rw-r--r--src/test/ui/lint/issue-79744.stderr12
-rw-r--r--src/test/ui/lint/issue-80988.rs14
-rw-r--r--src/test/ui/lint/issue-80988.stderr39
-rw-r--r--src/test/ui/lint/issue-81218.rs14
-rw-r--r--src/test/ui/lint/issue-83477.rs16
-rw-r--r--src/test/ui/lint/issue-83477.stderr30
-rw-r--r--src/test/ui/lint/issue-86600-lint-twice.rs15
-rw-r--r--src/test/ui/lint/issue-86600-lint-twice.stderr12
-rw-r--r--src/test/ui/lint/issue-87274-paren-parent.rs9
-rw-r--r--src/test/ui/lint/issue-87274-paren-parent.stderr10
-rw-r--r--src/test/ui/lint/issue-89469.rs20
-rw-r--r--src/test/ui/lint/issue-90614-accept-allow-text-direction-codepoint-in-comment-lint.rs9
-rw-r--r--src/test/ui/lint/issue-97094.rs50
-rw-r--r--src/test/ui/lint/issue-97094.stderr53
-rw-r--r--src/test/ui/lint/issue-99387.rs24
-rw-r--r--src/test/ui/lint/known-tool-in-submodule/root.rs10
-rw-r--r--src/test/ui/lint/known-tool-in-submodule/submodule.rs4
-rw-r--r--src/test/ui/lint/let_underscore/let_underscore_drop.rs14
-rw-r--r--src/test/ui/lint/let_underscore/let_underscore_drop.stderr22
-rw-r--r--src/test/ui/lint/let_underscore/let_underscore_lock.rs7
-rw-r--r--src/test/ui/lint/let_underscore/let_underscore_lock.stderr20
-rw-r--r--src/test/ui/lint/lint-attr-everywhere-early.rs176
-rw-r--r--src/test/ui/lint/lint-attr-everywhere-early.stderr486
-rw-r--r--src/test/ui/lint/lint-attr-everywhere-late.rs197
-rw-r--r--src/test/ui/lint/lint-attr-everywhere-late.stderr428
-rw-r--r--src/test/ui/lint/lint-attr-non-item-node.rs9
-rw-r--r--src/test/ui/lint/lint-attr-non-item-node.stderr16
-rw-r--r--src/test/ui/lint/lint-cap.rs8
-rw-r--r--src/test/ui/lint/lint-change-warnings.rs21
-rw-r--r--src/test/ui/lint/lint-change-warnings.stderr36
-rw-r--r--src/test/ui/lint/lint-const-item-mutation.rs66
-rw-r--r--src/test/ui/lint/lint-const-item-mutation.stderr121
-rw-r--r--src/test/ui/lint/lint-ctypes-66202.rs17
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-1.rs21
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-2.rs29
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-2.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-3.rs23
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-3.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-4.rs24
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-5.rs23
-rw-r--r--src/test/ui/lint/lint-ctypes-73249-5.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73249.rs21
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-1.rs26
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-1.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-2.rs39
-rw-r--r--src/test/ui/lint/lint-ctypes-73251-2.stderr15
-rw-r--r--src/test/ui/lint/lint-ctypes-73251.rs22
-rw-r--r--src/test/ui/lint/lint-ctypes-73747.rs14
-rw-r--r--src/test/ui/lint/lint-ctypes-enum.rs92
-rw-r--r--src/test/ui/lint/lint-ctypes-enum.stderr92
-rw-r--r--src/test/ui/lint/lint-ctypes-fn.rs196
-rw-r--r--src/test/ui/lint/lint-ctypes-fn.stderr188
-rw-r--r--src/test/ui/lint/lint-ctypes.rs118
-rw-r--r--src/test/ui/lint/lint-ctypes.stderr262
-rw-r--r--src/test/ui/lint/lint-deref-nullptr.rs38
-rw-r--r--src/test/ui/lint/lint-deref-nullptr.stderr68
-rw-r--r--src/test/ui/lint/lint-directives-on-use-items-issue-10534.rs24
-rw-r--r--src/test/ui/lint/lint-directives-on-use-items-issue-10534.stderr26
-rw-r--r--src/test/ui/lint/lint-enum-intrinsics-non-enums.rs67
-rw-r--r--src/test/ui/lint/lint-enum-intrinsics-non-enums.stderr95
-rw-r--r--src/test/ui/lint/lint-exceeding-bitshifts.noopt.stderr152
-rw-r--r--src/test/ui/lint/lint-exceeding-bitshifts.opt.stderr152
-rw-r--r--src/test/ui/lint/lint-exceeding-bitshifts.opt_with_overflow_checks.stderr152
-rw-r--r--src/test/ui/lint/lint-exceeding-bitshifts.rs79
-rw-r--r--src/test/ui/lint/lint-expr-stmt-attrs-for-early-lints.rs14
-rw-r--r--src/test/ui/lint/lint-forbid-attr.rs7
-rw-r--r--src/test/ui/lint/lint-forbid-attr.stderr21
-rw-r--r--src/test/ui/lint/lint-forbid-cmdline.rs6
-rw-r--r--src/test/ui/lint/lint-forbid-cmdline.stderr19
-rw-r--r--src/test/ui/lint/lint-forbid-internal-unsafe.rs17
-rw-r--r--src/test/ui/lint/lint-forbid-internal-unsafe.stderr22
-rw-r--r--src/test/ui/lint/lint-group-nonstandard-style.rs26
-rw-r--r--src/test/ui/lint/lint-group-nonstandard-style.stderr57
-rw-r--r--src/test/ui/lint/lint-impl-fn.rs33
-rw-r--r--src/test/ui/lint/lint-impl-fn.stderr38
-rw-r--r--src/test/ui/lint/lint-incoherent-auto-trait-objects.rs19
-rw-r--r--src/test/ui/lint/lint-incoherent-auto-trait-objects.stderr81
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-bool.rs28
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-bool.stderr35
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-exchange-weak.rs50
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-exchange-weak.stderr83
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-exchange.rs48
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-exchange.stderr83
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-false-positive.rs18
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-fence.rs21
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-fence.stderr19
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-fetch-update.rs49
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-fetch-update.stderr83
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-int.rs130
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-int.stderr163
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-ptr.rs30
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-ptr.stderr35
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-uint.rs129
-rw-r--r--src/test/ui/lint/lint-invalid-atomic-ordering-uint.stderr163
-rw-r--r--src/test/ui/lint/lint-level-macro-def-mod.rs17
-rw-r--r--src/test/ui/lint/lint-level-macro-def.rs17
-rw-r--r--src/test/ui/lint/lint-lowercase-static-const-pattern-rename.rs63
-rw-r--r--src/test/ui/lint/lint-lowercase-static-const-pattern.rs51
-rw-r--r--src/test/ui/lint/lint-lowercase-static-const-pattern.stderr26
-rw-r--r--src/test/ui/lint/lint-malformed.rs6
-rw-r--r--src/test/ui/lint/lint-malformed.stderr33
-rw-r--r--src/test/ui/lint/lint-match-arms.rs18
-rw-r--r--src/test/ui/lint/lint-match-arms.stderr14
-rw-r--r--src/test/ui/lint/lint-misplaced-attr.rs10
-rw-r--r--src/test/ui/lint/lint-misplaced-attr.stderr20
-rw-r--r--src/test/ui/lint/lint-missing-copy-implementations.rs15
-rw-r--r--src/test/ui/lint/lint-missing-copy-implementations.stderr16
-rw-r--r--src/test/ui/lint/lint-missing-doc.rs203
-rw-r--r--src/test/ui/lint/lint-missing-doc.stderr140
-rw-r--r--src/test/ui/lint/lint-non-camel-case-types.rs37
-rw-r--r--src/test/ui/lint/lint-non-camel-case-types.stderr62
-rw-r--r--src/test/ui/lint/lint-non-camel-case-variant.rs10
-rw-r--r--src/test/ui/lint/lint-non-camel-case-with-trailing-underscores.rs11
-rw-r--r--src/test/ui/lint/lint-non-snake-case-crate-2.rs6
-rw-r--r--src/test/ui/lint/lint-non-snake-case-crate-2.stderr11
-rw-r--r--src/test/ui/lint/lint-non-snake-case-crate.rs5
-rw-r--r--src/test/ui/lint/lint-non-snake-case-crate.stderr14
-rw-r--r--src/test/ui/lint/lint-non-snake-case-functions.rs44
-rw-r--r--src/test/ui/lint/lint-non-snake-case-functions.stderr62
-rw-r--r--src/test/ui/lint/lint-non-snake-case-identifiers-suggestion-reserved.rs19
-rw-r--r--src/test/ui/lint/lint-non-snake-case-identifiers-suggestion-reserved.stderr67
-rw-r--r--src/test/ui/lint/lint-non-snake-case-lifetimes.rs8
-rw-r--r--src/test/ui/lint/lint-non-snake-case-lifetimes.stderr14
-rw-r--r--src/test/ui/lint/lint-non-snake-case-modules.rs10
-rw-r--r--src/test/ui/lint/lint-non-snake-case-modules.stderr14
-rw-r--r--src/test/ui/lint/lint-non-snake-case-no-lowercase-equivalent.rs11
-rw-r--r--src/test/ui/lint/lint-non-uppercase-associated-const.rs11
-rw-r--r--src/test/ui/lint/lint-non-uppercase-associated-const.stderr14
-rw-r--r--src/test/ui/lint/lint-non-uppercase-statics.rs11
-rw-r--r--src/test/ui/lint/lint-non-uppercase-statics.stderr20
-rw-r--r--src/test/ui/lint/lint-nonstandard-style-unicode-1.rs49
-rw-r--r--src/test/ui/lint/lint-nonstandard-style-unicode-1.stderr50
-rw-r--r--src/test/ui/lint/lint-nonstandard-style-unicode-2.rs29
-rw-r--r--src/test/ui/lint/lint-nonstandard-style-unicode-2.stderr20
-rw-r--r--src/test/ui/lint/lint-nonstandard-style-unicode-3.rs24
-rw-r--r--src/test/ui/lint/lint-nonstandard-style-unicode-3.stderr14
-rw-r--r--src/test/ui/lint/lint-output-format-2.rs15
-rw-r--r--src/test/ui/lint/lint-output-format-2.stderr16
-rw-r--r--src/test/ui/lint/lint-output-format.rs13
-rw-r--r--src/test/ui/lint/lint-output-format.stderr35
-rw-r--r--src/test/ui/lint/lint-owned-heap-memory.rs12
-rw-r--r--src/test/ui/lint/lint-owned-heap-memory.stderr20
-rw-r--r--src/test/ui/lint/lint-pre-expansion-extern-module.rs7
-rw-r--r--src/test/ui/lint/lint-pre-expansion-extern-module.stderr12
-rw-r--r--src/test/ui/lint/lint-pub-unreachable-for-nested-glob.rs28
-rw-r--r--src/test/ui/lint/lint-qualification.rs20
-rw-r--r--src/test/ui/lint/lint-qualification.stderr14
-rw-r--r--src/test/ui/lint/lint-range-endpoint-overflow.rs17
-rw-r--r--src/test/ui/lint/lint-range-endpoint-overflow.stderr50
-rw-r--r--src/test/ui/lint/lint-removed-allow.rs8
-rw-r--r--src/test/ui/lint/lint-removed-allow.stderr14
-rw-r--r--src/test/ui/lint/lint-removed-cmdline.rs12
-rw-r--r--src/test/ui/lint/lint-removed-cmdline.stderr27
-rw-r--r--src/test/ui/lint/lint-removed.rs8
-rw-r--r--src/test/ui/lint/lint-removed.stderr22
-rw-r--r--src/test/ui/lint/lint-renamed-allow.rs8
-rw-r--r--src/test/ui/lint/lint-renamed-allow.stderr15
-rw-r--r--src/test/ui/lint/lint-renamed-cmdline.rs8
-rw-r--r--src/test/ui/lint/lint-renamed-cmdline.stderr27
-rw-r--r--src/test/ui/lint/lint-renamed.rs4
-rw-r--r--src/test/ui/lint/lint-renamed.stderr23
-rw-r--r--src/test/ui/lint/lint-shorthand-field.fixed70
-rw-r--r--src/test/ui/lint/lint-shorthand-field.rs70
-rw-r--r--src/test/ui/lint/lint-shorthand-field.stderr38
-rw-r--r--src/test/ui/lint/lint-stability-2.rs413
-rw-r--r--src/test/ui/lint/lint-stability-2.stderr259
-rw-r--r--src/test/ui/lint/lint-stability-deprecated.rs464
-rw-r--r--src/test/ui/lint/lint-stability-deprecated.stderr656
-rw-r--r--src/test/ui/lint/lint-stability-fields-deprecated.rs344
-rw-r--r--src/test/ui/lint/lint-stability-fields-deprecated.stderr380
-rw-r--r--src/test/ui/lint/lint-stability-fields.rs293
-rw-r--r--src/test/ui/lint/lint-stability-fields.stderr347
-rw-r--r--src/test/ui/lint/lint-stability.rs454
-rw-r--r--src/test/ui/lint/lint-stability.stderr347
-rw-r--r--src/test/ui/lint/lint-stability2.rs13
-rw-r--r--src/test/ui/lint/lint-stability2.stderr15
-rw-r--r--src/test/ui/lint/lint-stability3.rs14
-rw-r--r--src/test/ui/lint/lint-stability3.stderr14
-rw-r--r--src/test/ui/lint/lint-strict-provenance-fuzzy-casts.rs7
-rw-r--r--src/test/ui/lint/lint-strict-provenance-fuzzy-casts.stderr19
-rw-r--r--src/test/ui/lint/lint-strict-provenance-lossy-casts.rs18
-rw-r--r--src/test/ui/lint/lint-strict-provenance-lossy-casts.stderr51
-rw-r--r--src/test/ui/lint/lint-temporary-cstring-as-param.rs11
-rw-r--r--src/test/ui/lint/lint-temporary-cstring-as-param.stderr18
-rw-r--r--src/test/ui/lint/lint-temporary-cstring-as-ptr.rs9
-rw-r--r--src/test/ui/lint/lint-temporary-cstring-as-ptr.stderr18
-rw-r--r--src/test/ui/lint/lint-type-limits.rs27
-rw-r--r--src/test/ui/lint/lint-type-limits.stderr58
-rw-r--r--src/test/ui/lint/lint-type-limits2.rs15
-rw-r--r--src/test/ui/lint/lint-type-limits2.stderr24
-rw-r--r--src/test/ui/lint/lint-type-limits3.rs13
-rw-r--r--src/test/ui/lint/lint-type-limits3.stderr24
-rw-r--r--src/test/ui/lint/lint-type-overflow.rs45
-rw-r--r--src/test/ui/lint/lint-type-overflow.stderr167
-rw-r--r--src/test/ui/lint/lint-type-overflow2.rs12
-rw-r--r--src/test/ui/lint/lint-type-overflow2.stderr48
-rw-r--r--src/test/ui/lint/lint-unconditional-recursion.rs194
-rw-r--r--src/test/ui/lint/lint-unconditional-recursion.stderr201
-rw-r--r--src/test/ui/lint/lint-unexported-no-mangle.rs29
-rw-r--r--src/test/ui/lint/lint-unexported-no-mangle.stderr44
-rw-r--r--src/test/ui/lint/lint-unknown-feature-default.rs9
-rw-r--r--src/test/ui/lint/lint-unknown-feature.rs9
-rw-r--r--src/test/ui/lint/lint-unknown-lint-cmdline.rs9
-rw-r--r--src/test/ui/lint/lint-unknown-lint-cmdline.stderr21
-rw-r--r--src/test/ui/lint/lint-unknown-lint.rs13
-rw-r--r--src/test/ui/lint/lint-unknown-lint.stderr26
-rw-r--r--src/test/ui/lint/lint-unnecessary-import-braces.rs11
-rw-r--r--src/test/ui/lint/lint-unnecessary-import-braces.stderr14
-rw-r--r--src/test/ui/lint/lint-unnecessary-parens.fixed81
-rw-r--r--src/test/ui/lint/lint-unnecessary-parens.rs81
-rw-r--r--src/test/ui/lint/lint-unnecessary-parens.stderr211
-rw-r--r--src/test/ui/lint/lint-unsafe-code.rs130
-rw-r--r--src/test/ui/lint/lint-unsafe-code.stderr224
-rw-r--r--src/test/ui/lint/lint-uppercase-variables.rs41
-rw-r--r--src/test/ui/lint/lint-uppercase-variables.stderr90
-rw-r--r--src/test/ui/lint/lint_pre_expansion_extern_module_aux.rs3
-rw-r--r--src/test/ui/lint/lints-in-foreign-macros.rs21
-rw-r--r--src/test/ui/lint/lints-in-foreign-macros.stderr60
-rw-r--r--src/test/ui/lint/missing-doc-private-macro.rs43
-rw-r--r--src/test/ui/lint/missing-doc-private-macro.stderr20
-rw-r--r--src/test/ui/lint/must_not_suspend/boxed.rs25
-rw-r--r--src/test/ui/lint/must_not_suspend/boxed.stderr26
-rw-r--r--src/test/ui/lint/must_not_suspend/dedup.rs20
-rw-r--r--src/test/ui/lint/must_not_suspend/dedup.stderr19
-rw-r--r--src/test/ui/lint/must_not_suspend/feature-gate-must_not_suspend.rs9
-rw-r--r--src/test/ui/lint/must_not_suspend/feature-gate-must_not_suspend.stderr12
-rw-r--r--src/test/ui/lint/must_not_suspend/gated.rs17
-rw-r--r--src/test/ui/lint/must_not_suspend/gated.stderr33
-rw-r--r--src/test/ui/lint/must_not_suspend/generic.rs20
-rw-r--r--src/test/ui/lint/must_not_suspend/handled.rs28
-rw-r--r--src/test/ui/lint/must_not_suspend/issue-89562.rs19
-rw-r--r--src/test/ui/lint/must_not_suspend/mutex.rs13
-rw-r--r--src/test/ui/lint/must_not_suspend/mutex.stderr26
-rw-r--r--src/test/ui/lint/must_not_suspend/other_items.rs8
-rw-r--r--src/test/ui/lint/must_not_suspend/other_items.stderr10
-rw-r--r--src/test/ui/lint/must_not_suspend/ref-drop-tracking.rs30
-rw-r--r--src/test/ui/lint/must_not_suspend/ref-drop-tracking.stderr27
-rw-r--r--src/test/ui/lint/must_not_suspend/ref.drop_tracking.stderr27
-rw-r--r--src/test/ui/lint/must_not_suspend/ref.no_drop_tracking.stderr27
-rw-r--r--src/test/ui/lint/must_not_suspend/ref.rs29
-rw-r--r--src/test/ui/lint/must_not_suspend/return.rs9
-rw-r--r--src/test/ui/lint/must_not_suspend/return.stderr12
-rw-r--r--src/test/ui/lint/must_not_suspend/trait.rs28
-rw-r--r--src/test/ui/lint/must_not_suspend/trait.stderr37
-rw-r--r--src/test/ui/lint/must_not_suspend/unit.rs25
-rw-r--r--src/test/ui/lint/must_not_suspend/unit.stderr26
-rw-r--r--src/test/ui/lint/must_not_suspend/warn.rs26
-rw-r--r--src/test/ui/lint/must_not_suspend/warn.stderr26
-rw-r--r--src/test/ui/lint/no-coverage.rs55
-rw-r--r--src/test/ui/lint/no-coverage.stderr101
-rw-r--r--src/test/ui/lint/noop-method-call.rs55
-rw-r--r--src/test/ui/lint/noop-method-call.stderr47
-rw-r--r--src/test/ui/lint/not_found.rs21
-rw-r--r--src/test/ui/lint/not_found.stderr22
-rw-r--r--src/test/ui/lint/opaque-ty-ffi-normalization-cycle.rs41
-rw-r--r--src/test/ui/lint/opaque-ty-ffi-normalization-cycle.stderr15
-rw-r--r--src/test/ui/lint/opaque-ty-ffi-unsafe.rs15
-rw-r--r--src/test/ui/lint/opaque-ty-ffi-unsafe.stderr15
-rw-r--r--src/test/ui/lint/outer-forbid.rs32
-rw-r--r--src/test/ui/lint/outer-forbid.stderr41
-rw-r--r--src/test/ui/lint/reasons-erroneous.rs54
-rw-r--r--src/test/ui/lint/reasons-erroneous.stderr131
-rw-r--r--src/test/ui/lint/reasons-forbidden.rs34
-rw-r--r--src/test/ui/lint/reasons-forbidden.stderr31
-rw-r--r--src/test/ui/lint/reasons.rs35
-rw-r--r--src/test/ui/lint/reasons.stderr36
-rw-r--r--src/test/ui/lint/recommend-literal.rs42
-rw-r--r--src/test/ui/lint/recommend-literal.stderr96
-rw-r--r--src/test/ui/lint/redundant-semicolon/auxiliary/redundant-semi-proc-macro-def.rs12
-rw-r--r--src/test/ui/lint/redundant-semicolon/item-stmt-semi.rs6
-rw-r--r--src/test/ui/lint/redundant-semicolon/item-stmt-semi.stderr20
-rw-r--r--src/test/ui/lint/redundant-semicolon/redundant-semi-proc-macro.rs19
-rw-r--r--src/test/ui/lint/redundant-semicolon/redundant-semi-proc-macro.stderr21
-rw-r--r--src/test/ui/lint/register-tool-lint.rs9
-rw-r--r--src/test/ui/lint/register-tool-lint.stderr19
-rw-r--r--src/test/ui/lint/renamed-lints-still-apply.rs9
-rw-r--r--src/test/ui/lint/renamed-lints-still-apply.stderr29
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/avoid_delayed_good_path_ice.rs8
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/catch_multiple_lint_triggers.rs45
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/crate_level_expect.rs15
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/crate_level_expect.stderr10
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_inside_macro.rs16
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_lint_from_macro.rs42
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_lint_from_macro.stderr29
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_missing_feature_gate.rs9
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_missing_feature_gate.stderr12
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_multiple_lints.rs58
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_multiple_lints.stderr52
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_nested_lint_levels.rs53
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_nested_lint_levels.stderr52
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_on_fn_params.rs15
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_on_fn_params.stderr10
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_tool_lint_rfc_2383.rs155
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_tool_lint_rfc_2383.stderr16
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_unfulfilled_expectation.rs39
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_unfulfilled_expectation.stderr38
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_with_forbid.rs34
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_with_forbid.stderr51
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_with_reason.rs11
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/expect_with_reason.stderr11
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_fulfilled.rs48
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_fulfilled.stderr40
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_unfulfilled.rs49
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_unfulfilled.stderr38
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/fulfilled_expectation_early_lints.rs23
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/fulfilled_expectation_late_lints.rs43
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/lint-attribute-only-with-reason.rs14
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/lint-attribute-only-with-reason.stderr47
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/multiple_expect_attrs.rs14
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/multiple_expect_attrs.stderr10
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/no_ice_for_partial_compiler_runs.rs16
-rw-r--r--src/test/ui/lint/rfc-2383-lint-reason/no_ice_for_partial_compiler_runs.stdout20
-rw-r--r--src/test/ui/lint/rfc-2457-non-ascii-idents/lint-confusable-idents.rs16
-rw-r--r--src/test/ui/lint/rfc-2457-non-ascii-idents/lint-confusable-idents.stderr26
-rw-r--r--src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables-2.rs19
-rw-r--r--src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables.rs14
-rw-r--r--src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables.stderr34
-rw-r--r--src/test/ui/lint/rfc-2457-non-ascii-idents/lint-non-ascii-idents.rs12
-rw-r--r--src/test/ui/lint/rfc-2457-non-ascii-idents/lint-non-ascii-idents.stderr26
-rw-r--r--src/test/ui/lint/rfc-2457-non-ascii-idents/lint-uncommon-codepoints.rs13
-rw-r--r--src/test/ui/lint/rfc-2457-non-ascii-idents/lint-uncommon-codepoints.stderr34
-rw-r--r--src/test/ui/lint/rustdoc-group.rs5
-rw-r--r--src/test/ui/lint/rustdoc-group.stderr10
-rw-r--r--src/test/ui/lint/rustdoc-renamed.rs15
-rw-r--r--src/test/ui/lint/rustdoc-renamed.stderr14
-rw-r--r--src/test/ui/lint/semicolon-in-expressions-from-macros/auxiliary/foreign-crate.rs4
-rw-r--r--src/test/ui/lint/semicolon-in-expressions-from-macros/foreign-crate.rs9
-rw-r--r--src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs51
-rw-r--r--src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.stderr48
-rw-r--r--src/test/ui/lint/semicolon-in-expressions-from-macros/warn-semicolon-in-expressions-from-macros.rs16
-rw-r--r--src/test/ui/lint/semicolon-in-expressions-from-macros/warn-semicolon-in-expressions-from-macros.stderr16
-rw-r--r--src/test/ui/lint/special-upper-lower-cases.rs23
-rw-r--r--src/test/ui/lint/special-upper-lower-cases.stderr32
-rw-r--r--src/test/ui/lint/suggestions.fixed66
-rw-r--r--src/test/ui/lint/suggestions.rs67
-rw-r--r--src/test/ui/lint/suggestions.stderr114
-rw-r--r--src/test/ui/lint/test-allow-dead-extern-static-no-warning.rs11
-rw-r--r--src/test/ui/lint/test-inner-fn.rs19
-rw-r--r--src/test/ui/lint/test-inner-fn.stderr19
-rw-r--r--src/test/ui/lint/trivial-cast-ice.rs12
-rw-r--r--src/test/ui/lint/trivial-casts-featuring-type-ascription.rs10
-rw-r--r--src/test/ui/lint/trivial-casts-featuring-type-ascription.stderr28
-rw-r--r--src/test/ui/lint/trivial-casts.rs9
-rw-r--r--src/test/ui/lint/trivial-casts.stderr28
-rw-r--r--src/test/ui/lint/trivial_casts.rs85
-rw-r--r--src/test/ui/lint/trivial_casts.stderr164
-rw-r--r--src/test/ui/lint/type-overflow.rs22
-rw-r--r--src/test/ui/lint/type-overflow.stderr67
-rw-r--r--src/test/ui/lint/unaligned_references.rs103
-rw-r--r--src/test/ui/lint/unaligned_references.stderr259
-rw-r--r--src/test/ui/lint/unaligned_references_external_macro.rs13
-rw-r--r--src/test/ui/lint/unaligned_references_external_macro.stderr61
-rw-r--r--src/test/ui/lint/unnecessary-extern-crate.rs71
-rw-r--r--src/test/ui/lint/unnecessary-extern-crate.stderr44
-rw-r--r--src/test/ui/lint/unreachable-async-fn.rs9
-rw-r--r--src/test/ui/lint/unreachable_pub.rs66
-rw-r--r--src/test/ui/lint/unreachable_pub.stderr148
-rw-r--r--src/test/ui/lint/unsafe_code/auxiliary/forge_unsafe_block.rs16
-rw-r--r--src/test/ui/lint/unsafe_code/forge_unsafe_block.rs16
-rw-r--r--src/test/ui/lint/unused-borrows.rs33
-rw-r--r--src/test/ui/lint/unused-borrows.stderr73
-rw-r--r--src/test/ui/lint/unused-braces-while-let-with-mutable-value.rs12
-rw-r--r--src/test/ui/lint/unused-qualification-in-derive-expansion.rs16
-rw-r--r--src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate.rs1
-rw-r--r--src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate2.rs1
-rw-r--r--src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate3.rs1
-rw-r--r--src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate4.rs1
-rw-r--r--src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate5.rs1
-rw-r--r--src/test/ui/lint/unused/issue-104397.rs18
-rw-r--r--src/test/ui/lint/unused/issue-30730.rs5
-rw-r--r--src/test/ui/lint/unused/issue-30730.stderr15
-rw-r--r--src/test/ui/lint/unused/issue-46576.rs21
-rw-r--r--src/test/ui/lint/unused/issue-46576.stderr14
-rw-r--r--src/test/ui/lint/unused/issue-47390-unused-variable-in-struct-pattern.rs88
-rw-r--r--src/test/ui/lint/unused/issue-47390-unused-variable-in-struct-pattern.stderr116
-rw-r--r--src/test/ui/lint/unused/issue-54180-unused-ref-field.fixed34
-rw-r--r--src/test/ui/lint/unused/issue-54180-unused-ref-field.rs34
-rw-r--r--src/test/ui/lint/unused/issue-54180-unused-ref-field.stderr33
-rw-r--r--src/test/ui/lint/unused/issue-54538-unused-parens-lint.fixed106
-rw-r--r--src/test/ui/lint/unused/issue-54538-unused-parens-lint.rs106
-rw-r--r--src/test/ui/lint/unused/issue-54538-unused-parens-lint.stderr295
-rw-r--r--src/test/ui/lint/unused/issue-59896.rs9
-rw-r--r--src/test/ui/lint/unused/issue-59896.stderr17
-rw-r--r--src/test/ui/lint/unused/issue-67691-unused-field-in-or-pattern.rs85
-rw-r--r--src/test/ui/lint/unused/issue-67691-unused-field-in-or-pattern.stderr74
-rw-r--r--src/test/ui/lint/unused/issue-70041.rs13
-rw-r--r--src/test/ui/lint/unused/issue-70041.stderr18
-rw-r--r--src/test/ui/lint/unused/issue-71290-unused-paren-binop.rs23
-rw-r--r--src/test/ui/lint/unused/issue-74883-unused-paren-baren-yield.rs26
-rw-r--r--src/test/ui/lint/unused/issue-74883-unused-paren-baren-yield.stderr84
-rw-r--r--src/test/ui/lint/unused/issue-81314-unused-span-ident.fixed12
-rw-r--r--src/test/ui/lint/unused/issue-81314-unused-span-ident.rs12
-rw-r--r--src/test/ui/lint/unused/issue-81314-unused-span-ident.stderr21
-rw-r--r--src/test/ui/lint/unused/issue-85913.rs13
-rw-r--r--src/test/ui/lint/unused/issue-85913.stderr18
-rw-r--r--src/test/ui/lint/unused/issue-88519-unused-paren.rs85
-rw-r--r--src/test/ui/lint/unused/issue-90807-unused-paren-error.rs9
-rw-r--r--src/test/ui/lint/unused/issue-90807-unused-paren-error.stderr31
-rw-r--r--src/test/ui/lint/unused/issue-90807-unused-paren.rs8
-rw-r--r--src/test/ui/lint/unused/issue-92751.rs9
-rw-r--r--src/test/ui/lint/unused/issue-92751.stderr32
-rw-r--r--src/test/ui/lint/unused/lint-unused-extern-crate.rs35
-rw-r--r--src/test/ui/lint/unused/lint-unused-extern-crate.stderr20
-rw-r--r--src/test/ui/lint/unused/lint-unused-imports.rs90
-rw-r--r--src/test/ui/lint/unused/lint-unused-imports.stderr78
-rw-r--r--src/test/ui/lint/unused/lint-unused-mut-self.fixed14
-rw-r--r--src/test/ui/lint/unused/lint-unused-mut-self.rs14
-rw-r--r--src/test/ui/lint/unused/lint-unused-mut-self.stderr24
-rw-r--r--src/test/ui/lint/unused/lint-unused-mut-variables.rs207
-rw-r--r--src/test/ui/lint/unused/lint-unused-mut-variables.stderr222
-rw-r--r--src/test/ui/lint/unused/lint-unused-variables.rs79
-rw-r--r--src/test/ui/lint/unused/lint-unused-variables.stderr74
-rw-r--r--src/test/ui/lint/unused/must-use-box-from-raw.rs11
-rw-r--r--src/test/ui/lint/unused/must-use-box-from-raw.stderr15
-rw-r--r--src/test/ui/lint/unused/must-use-ops.rs51
-rw-r--r--src/test/ui/lint/unused/must-use-ops.stderr238
-rw-r--r--src/test/ui/lint/unused/must_use-array.rs54
-rw-r--r--src/test/ui/lint/unused/must_use-array.stderr50
-rw-r--r--src/test/ui/lint/unused/must_use-in-stdlib-traits.rs47
-rw-r--r--src/test/ui/lint/unused/must_use-in-stdlib-traits.stderr47
-rw-r--r--src/test/ui/lint/unused/must_use-trait.rs39
-rw-r--r--src/test/ui/lint/unused/must_use-trait.stderr38
-rw-r--r--src/test/ui/lint/unused/must_use-tuple.rs17
-rw-r--r--src/test/ui/lint/unused/must_use-tuple.stderr47
-rw-r--r--src/test/ui/lint/unused/must_use-unit.rs16
-rw-r--r--src/test/ui/lint/unused/must_use-unit.stderr20
-rw-r--r--src/test/ui/lint/unused/no-unused-parens-return-block.rs9
-rw-r--r--src/test/ui/lint/unused/unused-async.rs62
-rw-r--r--src/test/ui/lint/unused/unused-async.stderr55
-rw-r--r--src/test/ui/lint/unused/unused-attr-duplicate.rs105
-rw-r--r--src/test/ui/lint/unused/unused-attr-duplicate.stderr293
-rw-r--r--src/test/ui/lint/unused/unused-attr-macro-rules.rs33
-rw-r--r--src/test/ui/lint/unused/unused-attr-macro-rules.stderr26
-rw-r--r--src/test/ui/lint/unused/unused-closure.rs35
-rw-r--r--src/test/ui/lint/unused/unused-closure.stderr65
-rw-r--r--src/test/ui/lint/unused/unused-doc-comments-edge-cases.rs46
-rw-r--r--src/test/ui/lint/unused/unused-doc-comments-edge-cases.stderr95
-rw-r--r--src/test/ui/lint/unused/unused-doc-comments-for-macros.rs17
-rw-r--r--src/test/ui/lint/unused/unused-doc-comments-for-macros.stderr31
-rw-r--r--src/test/ui/lint/unused/unused-macro-rules-compile-error.rs27
-rw-r--r--src/test/ui/lint/unused/unused-macro-rules-compile-error.stderr26
-rw-r--r--src/test/ui/lint/unused/unused-macro-rules-decl.rs49
-rw-r--r--src/test/ui/lint/unused/unused-macro-rules-decl.stderr26
-rw-r--r--src/test/ui/lint/unused/unused-macro-rules-malformed-rule.rs11
-rw-r--r--src/test/ui/lint/unused/unused-macro-rules-malformed-rule.stderr8
-rw-r--r--src/test/ui/lint/unused/unused-macro-rules.rs47
-rw-r--r--src/test/ui/lint/unused/unused-macro-rules.stderr26
-rw-r--r--src/test/ui/lint/unused/unused-macro-with-bad-frag-spec.rs9
-rw-r--r--src/test/ui/lint/unused/unused-macro-with-bad-frag-spec.stderr10
-rw-r--r--src/test/ui/lint/unused/unused-macro-with-follow-violation.rs7
-rw-r--r--src/test/ui/lint/unused/unused-macro-with-follow-violation.stderr10
-rw-r--r--src/test/ui/lint/unused/unused-macros-decl.rs28
-rw-r--r--src/test/ui/lint/unused/unused-macros-decl.stderr32
-rw-r--r--src/test/ui/lint/unused/unused-macros-malformed-rule.rs15
-rw-r--r--src/test/ui/lint/unused/unused-macros-malformed-rule.stderr26
-rw-r--r--src/test/ui/lint/unused/unused-macros.rs31
-rw-r--r--src/test/ui/lint/unused/unused-macros.stderr32
-rw-r--r--src/test/ui/lint/unused/unused-mut-warning-captured-var.fixed9
-rw-r--r--src/test/ui/lint/unused/unused-mut-warning-captured-var.rs9
-rw-r--r--src/test/ui/lint/unused/unused-mut-warning-captured-var.stderr16
-rw-r--r--src/test/ui/lint/unused/unused-result.rs42
-rw-r--r--src/test/ui/lint/unused/unused-result.stderr48
-rw-r--r--src/test/ui/lint/unused/unused-supertrait.rs11
-rw-r--r--src/test/ui/lint/unused/unused-supertrait.stderr15
-rw-r--r--src/test/ui/lint/unused/unused_attributes-must_use.rs131
-rw-r--r--src/test/ui/lint/unused/unused_attributes-must_use.stderr187
-rw-r--r--src/test/ui/lint/unused/useless-comment.rs45
-rw-r--r--src/test/ui/lint/unused/useless-comment.stderr110
-rw-r--r--src/test/ui/lint/unused_braces.fixed53
-rw-r--r--src/test/ui/lint/unused_braces.rs53
-rw-r--r--src/test/ui/lint/unused_braces.stderr72
-rw-r--r--src/test/ui/lint/unused_braces_borrow.fixed26
-rw-r--r--src/test/ui/lint/unused_braces_borrow.rs26
-rw-r--r--src/test/ui/lint/unused_braces_borrow.stderr19
-rw-r--r--src/test/ui/lint/unused_import_warning_issue_45268.rs49
-rw-r--r--src/test/ui/lint/unused_import_warning_issue_45268.stderr14
-rw-r--r--src/test/ui/lint/unused_labels.rs85
-rw-r--r--src/test/ui/lint/unused_labels.stderr65
-rw-r--r--src/test/ui/lint/unused_parens_json_suggestion.fixed26
-rw-r--r--src/test/ui/lint/unused_parens_json_suggestion.rs26
-rw-r--r--src/test/ui/lint/unused_parens_json_suggestion.stderr21
-rw-r--r--src/test/ui/lint/unused_parens_multibyte_recovery.rs11
-rw-r--r--src/test/ui/lint/unused_parens_multibyte_recovery.stderr43
-rw-r--r--src/test/ui/lint/unused_parens_remove_json_suggestion.fixed61
-rw-r--r--src/test/ui/lint/unused_parens_remove_json_suggestion.rs61
-rw-r--r--src/test/ui/lint/unused_parens_remove_json_suggestion.stderr125
-rw-r--r--src/test/ui/lint/unused_variables-issue-82488.fixed16
-rw-r--r--src/test/ui/lint/unused_variables-issue-82488.rs16
-rw-r--r--src/test/ui/lint/unused_variables-issue-82488.stderr14
-rw-r--r--src/test/ui/lint/use-redundant.rs27
-rw-r--r--src/test/ui/lint/use-redundant.stderr29
-rw-r--r--src/test/ui/lint/use_suggestion_json.rs13
-rw-r--r--src/test/ui/lint/use_suggestion_json.stderr3
-rw-r--r--src/test/ui/lint/warn-ctypes-inhibit.rs15
-rw-r--r--src/test/ui/lint/warn-path-statement.rs17
-rw-r--r--src/test/ui/lint/warn-path-statement.stderr22
-rw-r--r--src/test/ui/lint/warn-unused-inline-on-fn-prototypes.rs13
-rw-r--r--src/test/ui/lint/warn-unused-inline-on-fn-prototypes.stderr20
700 files changed, 0 insertions, 31569 deletions
diff --git a/src/test/ui/lint/auxiliary/add-impl.rs b/src/test/ui/lint/auxiliary/add-impl.rs
deleted file mode 100644
index 9d0e3068a..000000000
--- a/src/test/ui/lint/auxiliary/add-impl.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// force-host
-// no-prefer-dynamic
-
-#![crate_type = "proc-macro"]
-
-extern crate proc_macro;
-
-use proc_macro::TokenStream;
-
-#[proc_macro_derive(AddImpl)]
-// Unnecessary qualification `bar::foo`
-// https://github.com/rust-lang/rust/issues/71898
-pub fn derive(input: TokenStream) -> TokenStream {
- "impl B {
- fn foo(&self) { use bar::foo; bar::foo() }
- }
-
- fn foo() {}
-
- mod bar { pub fn foo() {} }
- ".parse().unwrap()
-}
diff --git a/src/test/ui/lint/auxiliary/external_extern_fn.rs b/src/test/ui/lint/auxiliary/external_extern_fn.rs
deleted file mode 100644
index c2a8cadc6..000000000
--- a/src/test/ui/lint/auxiliary/external_extern_fn.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-extern "C" {
- pub fn extern_fn(x: u8);
-}
diff --git a/src/test/ui/lint/auxiliary/inherited_stability.rs b/src/test/ui/lint/auxiliary/inherited_stability.rs
deleted file mode 100644
index 62100e5cc..000000000
--- a/src/test/ui/lint/auxiliary/inherited_stability.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-#![crate_name="inherited_stability"]
-#![crate_type = "lib"]
-#![unstable(feature = "unstable_test_feature", issue = "none")]
-#![feature(staged_api)]
-
-pub fn unstable() {}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub fn stable() {}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub mod stable_mod {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub fn unstable() {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn stable() {}
-}
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub mod unstable_mod {
- #[stable(feature = "stable_test_feature", since = "1.0.0")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn deprecated() {}
-
- pub fn unstable() {}
-}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub trait Stable {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- fn unstable(&self);
-
- #[stable(feature = "rust1", since = "1.0.0")]
- fn stable(&self);
-}
-
-impl Stable for usize {
- fn unstable(&self) {}
- fn stable(&self) {}
-}
-
-pub enum Unstable {
- UnstableVariant,
- #[stable(feature = "rust1", since = "1.0.0")]
- StableVariant
-}
diff --git a/src/test/ui/lint/auxiliary/lint_output_format.rs b/src/test/ui/lint/auxiliary/lint_output_format.rs
deleted file mode 100644
index 4e3547250..000000000
--- a/src/test/ui/lint/auxiliary/lint_output_format.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-#![crate_name="lint_output_format"]
-#![crate_type = "lib"]
-#![feature(staged_api)]
-#![unstable(feature = "unstable_test_feature", issue = "none")]
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub fn foo() -> usize {
- 20
-}
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub fn bar() -> usize {
- 40
-}
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub fn baz() -> usize {
- 30
-}
diff --git a/src/test/ui/lint/auxiliary/lint_stability.rs b/src/test/ui/lint/auxiliary/lint_stability.rs
deleted file mode 100644
index 99c29dcdd..000000000
--- a/src/test/ui/lint/auxiliary/lint_stability.rs
+++ /dev/null
@@ -1,188 +0,0 @@
-#![crate_name="lint_stability"]
-#![crate_type = "lib"]
-#![feature(staged_api)]
-#![feature(associated_type_defaults)]
-#![stable(feature = "lint_stability", since = "1.0.0")]
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub fn deprecated() {}
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub fn deprecated_text() {}
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[deprecated(since = "99.99.99", note = "text")]
-pub fn deprecated_future() {}
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub fn deprecated_unstable() {}
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub fn deprecated_unstable_text() {}
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub fn unstable() {}
-#[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
-pub fn unstable_text() {}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub fn stable() {}
-#[stable(feature = "rust1", since = "1.0.0")]
-pub fn stable_text() {}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct MethodTester;
-
-impl MethodTester {
- #[stable(feature = "stable_test_feature", since = "1.0.0")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated(&self) {}
- #[stable(feature = "stable_test_feature", since = "1.0.0")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated_unstable_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub fn method_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- pub fn method_unstable_text(&self) {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn method_stable(&self) {}
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn method_stable_text(&self) {}
-}
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-pub trait Trait {
- #[stable(feature = "stable_test_feature", since = "1.0.0")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated(&self) {}
- #[stable(feature = "stable_test_feature", since = "1.0.0")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated_unstable_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- fn trait_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- fn trait_unstable_text(&self) {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- fn trait_stable(&self) {}
- #[stable(feature = "rust1", since = "1.0.0")]
- fn trait_stable_text(&self) {}
-}
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-pub trait TraitWithAssociatedTypes {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- type TypeUnstable = u8;
- #[stable(feature = "stable_test_feature", since = "1.0.0")]
- #[deprecated(since = "1.0.0", note = "text")]
- type TypeDeprecated = u8;
-}
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-impl Trait for MethodTester {}
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub trait UnstableTrait { fn dummy(&self) { } }
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub trait DeprecatedTrait {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] fn dummy(&self) { }
-}
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct DeprecatedStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] pub i: isize
-}
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct DeprecatedUnstableStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] pub i: isize
-}
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub struct UnstableStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] pub i: isize
-}
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct StableStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] pub i: isize
-}
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub enum UnstableEnum {}
-#[stable(feature = "rust1", since = "1.0.0")]
-pub enum StableEnum {}
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct DeprecatedUnitStruct;
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct DeprecatedUnstableUnitStruct;
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub struct UnstableUnitStruct;
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct StableUnitStruct;
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-pub enum Enum {
- #[stable(feature = "stable_test_feature", since = "1.0.0")]
- #[deprecated(since = "1.0.0", note = "text")]
- DeprecatedVariant,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- DeprecatedUnstableVariant,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- UnstableVariant,
-
- #[stable(feature = "rust1", since = "1.0.0")]
- StableVariant,
-}
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct DeprecatedTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct DeprecatedUnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub struct UnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct StableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[macro_export]
-macro_rules! macro_test {
- () => (deprecated());
-}
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[macro_export]
-macro_rules! macro_test_arg {
- ($func:expr) => ($func);
-}
-
-#[stable(feature = "stable_test_feature", since = "1.0.0")]
-#[macro_export]
-macro_rules! macro_test_arg_nested {
- ($func:ident) => (macro_test_arg!($func()));
-}
diff --git a/src/test/ui/lint/auxiliary/lint_stability_fields.rs b/src/test/ui/lint/auxiliary/lint_stability_fields.rs
deleted file mode 100644
index e72a501e1..000000000
--- a/src/test/ui/lint/auxiliary/lint_stability_fields.rs
+++ /dev/null
@@ -1,66 +0,0 @@
-#![feature(staged_api)]
-#![stable(feature = "rust1", since = "1.0.0")]
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct Stable {
- pub inherit: u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub override1: u8,
- #[deprecated(since = "1.0.0", note = "text")]
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub override2: u8,
- #[stable(feature = "rust2", since = "2.0.0")]
- pub override3: u8,
-}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct Stable2(#[stable(feature = "rust2", since = "2.0.0")] pub u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")] pub u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")] pub u8,
- pub u8);
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub enum Stable3 {
- Inherit(u8),
- InheritOverride(#[stable(feature = "rust2", since = "2.0.0")] u8),
- #[stable(feature = "rust2", since = "2.0.0")]
- Override1,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- Override2,
- #[deprecated(since = "1.0.0", note = "text")]
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- Override3,
-}
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub struct Unstable {
- pub inherit: u8,
- #[stable(feature = "rust1", since = "1.0.0")]
- pub override1: u8,
- #[deprecated(since = "1.0.0", note = "text")]
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub override2: u8,
-}
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-pub struct Unstable2(pub u8,
- #[stable(feature = "rust1", since = "1.0.0")] pub u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")] pub u8);
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct Deprecated {
- pub inherit: u8,
- #[stable(feature = "rust1", since = "1.0.0")]
- pub override1: u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub override2: u8,
-}
-
-#[unstable(feature = "unstable_test_feature", issue = "none")]
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct Deprecated2(pub u8,
- #[stable(feature = "rust1", since = "1.0.0")] pub u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")] pub u8);
diff --git a/src/test/ui/lint/auxiliary/lints-in-foreign-macros.rs b/src/test/ui/lint/auxiliary/lints-in-foreign-macros.rs
deleted file mode 100644
index b969d9dba..000000000
--- a/src/test/ui/lint/auxiliary/lints-in-foreign-macros.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-#[macro_export]
-macro_rules! bar {
- () => {use std::string::ToString;}
-}
-
-#[macro_export]
-macro_rules! baz {
- ($i:item) => ($i)
-}
-
-#[macro_export]
-macro_rules! baz2 {
- ($($i:tt)*) => ($($i)*)
-}
diff --git a/src/test/ui/lint/auxiliary/stability-cfg2.rs b/src/test/ui/lint/auxiliary/stability-cfg2.rs
deleted file mode 100644
index c995038e5..000000000
--- a/src/test/ui/lint/auxiliary/stability-cfg2.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-// compile-flags:--cfg foo
-
-#![cfg_attr(foo, unstable(feature = "unstable_test_feature", issue = "none"))]
-#![cfg_attr(not(foo), stable(feature = "test_feature", since = "1.0.0"))]
-#![feature(staged_api)]
diff --git a/src/test/ui/lint/auxiliary/stability_cfg1.rs b/src/test/ui/lint/auxiliary/stability_cfg1.rs
deleted file mode 100644
index 2e027cc27..000000000
--- a/src/test/ui/lint/auxiliary/stability_cfg1.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-#![cfg_attr(foo, experimental)]
-#![cfg_attr(not(foo), stable(feature = "test_feature", since = "1.0.0"))]
-#![feature(staged_api)]
diff --git a/src/test/ui/lint/auxiliary/stability_cfg2.rs b/src/test/ui/lint/auxiliary/stability_cfg2.rs
deleted file mode 100644
index c995038e5..000000000
--- a/src/test/ui/lint/auxiliary/stability_cfg2.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-// compile-flags:--cfg foo
-
-#![cfg_attr(foo, unstable(feature = "unstable_test_feature", issue = "none"))]
-#![cfg_attr(not(foo), stable(feature = "test_feature", since = "1.0.0"))]
-#![feature(staged_api)]
diff --git a/src/test/ui/lint/auxiliary/trivial-cast-ice.rs b/src/test/ui/lint/auxiliary/trivial-cast-ice.rs
deleted file mode 100644
index ab2332d06..000000000
--- a/src/test/ui/lint/auxiliary/trivial-cast-ice.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-#[macro_export]
-macro_rules! foo {
- () => {
- let x: &Option<i32> = &Some(1);
- let _y = x as *const Option<i32>;
- }
-}
diff --git a/src/test/ui/lint/auxiliary/unaligned_references_external_crate.rs b/src/test/ui/lint/auxiliary/unaligned_references_external_crate.rs
deleted file mode 100644
index fb486c6b5..000000000
--- a/src/test/ui/lint/auxiliary/unaligned_references_external_crate.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-#[macro_export]
-macro_rules! mac {
- (
- $(#[$attrs:meta])*
- pub struct $ident:ident {
- $(
- $(#[$pin:ident])?
- $field_vis:vis $field:ident: $field_ty:ty
- ),+ $(,)?
- }
- ) => {
- $(#[$attrs])*
- pub struct $ident {
- $(
- $field_vis $field: $field_ty
- ),+
- }
-
- const _: () = {
- #[deny(unaligned_references)]
- fn __f(this: &$ident) {
- $(
- let _ = &this.$field;
- )+
- }
- };
- };
-}
diff --git a/src/test/ui/lint/bad-lint-cap.rs b/src/test/ui/lint/bad-lint-cap.rs
deleted file mode 100644
index e65c8319d..000000000
--- a/src/test/ui/lint/bad-lint-cap.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-// compile-flags: --cap-lints test
-// error-pattern: unknown lint level: `test`
-
-fn main() {}
diff --git a/src/test/ui/lint/bad-lint-cap.stderr b/src/test/ui/lint/bad-lint-cap.stderr
deleted file mode 100644
index f284dbf84..000000000
--- a/src/test/ui/lint/bad-lint-cap.stderr
+++ /dev/null
@@ -1,2 +0,0 @@
-error: unknown lint level: `test`
-
diff --git a/src/test/ui/lint/bad-lint-cap2.rs b/src/test/ui/lint/bad-lint-cap2.rs
deleted file mode 100644
index 8bc8aca20..000000000
--- a/src/test/ui/lint/bad-lint-cap2.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// compile-flags: --cap-lints deny
-
-#![warn(unused)]
-#![deny(warnings)]
-
-use std::option; //~ ERROR
-
-fn main() {}
diff --git a/src/test/ui/lint/bad-lint-cap2.stderr b/src/test/ui/lint/bad-lint-cap2.stderr
deleted file mode 100644
index 3f3affe5a..000000000
--- a/src/test/ui/lint/bad-lint-cap2.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: unused import: `std::option`
- --> $DIR/bad-lint-cap2.rs:6:5
- |
-LL | use std::option;
- | ^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/bad-lint-cap2.rs:4:9
- |
-LL | #![deny(warnings)]
- | ^^^^^^^^
- = note: `#[deny(unused_imports)]` implied by `#[deny(warnings)]`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/bad-lint-cap3.rs b/src/test/ui/lint/bad-lint-cap3.rs
deleted file mode 100644
index c38105870..000000000
--- a/src/test/ui/lint/bad-lint-cap3.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// check-pass
-// compile-flags: --cap-lints warn
-
-#![warn(unused)]
-#![deny(warnings)]
-
-use std::option; //~ WARN
-
-fn main() {}
diff --git a/src/test/ui/lint/bad-lint-cap3.stderr b/src/test/ui/lint/bad-lint-cap3.stderr
deleted file mode 100644
index 0fb65322f..000000000
--- a/src/test/ui/lint/bad-lint-cap3.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-warning: unused import: `std::option`
- --> $DIR/bad-lint-cap3.rs:7:5
- |
-LL | use std::option;
- | ^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/bad-lint-cap3.rs:5:9
- |
-LL | #![deny(warnings)]
- | ^^^^^^^^
- = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/bare-trait-objects-path.rs b/src/test/ui/lint/bare-trait-objects-path.rs
deleted file mode 100644
index 0e2294715..000000000
--- a/src/test/ui/lint/bare-trait-objects-path.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-#![feature(associated_type_defaults)]
-
-trait Assoc {
- fn func() {}
- const CONST: u8 = 0;
- type Ty = u8;
-}
-
-trait Dyn {}
-
-impl Assoc for dyn Dyn {}
-
-fn main() {
- Dyn::func();
- //~^ WARN trait objects without an explicit `dyn` are deprecated
- //~| WARN this is accepted in the current edition
- ::Dyn::func();
- //~^ WARN trait objects without an explicit `dyn` are deprecated
- //~| WARN this is accepted in the current edition
- Dyn::CONST;
- //~^ WARN trait objects without an explicit `dyn` are deprecated
- //~| WARN this is accepted in the current edition
- let _: Dyn::Ty; //~ ERROR ambiguous associated type
- //~^ WARN trait objects without an explicit `dyn` are deprecated
- //~| WARN this is accepted in the current edition
-}
diff --git a/src/test/ui/lint/bare-trait-objects-path.stderr b/src/test/ui/lint/bare-trait-objects-path.stderr
deleted file mode 100644
index 8ed303ca6..000000000
--- a/src/test/ui/lint/bare-trait-objects-path.stderr
+++ /dev/null
@@ -1,62 +0,0 @@
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/bare-trait-objects-path.rs:23:12
- |
-LL | let _: Dyn::Ty;
- | ^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
- = note: `#[warn(bare_trait_objects)]` on by default
-help: use `dyn`
- |
-LL | let _: <dyn Dyn>::Ty;
- | ++++ +
-
-error[E0223]: ambiguous associated type
- --> $DIR/bare-trait-objects-path.rs:23:12
- |
-LL | let _: Dyn::Ty;
- | ^^^^^^^ help: use fully-qualified syntax: `<dyn Dyn as Trait>::Ty`
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/bare-trait-objects-path.rs:14:5
- |
-LL | Dyn::func();
- | ^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | <dyn Dyn>::func();
- | ++++ +
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/bare-trait-objects-path.rs:17:5
- |
-LL | ::Dyn::func();
- | ^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | <dyn (::Dyn)>::func();
- | ++++++ ++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/bare-trait-objects-path.rs:20:5
- |
-LL | Dyn::CONST;
- | ^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | <dyn Dyn>::CONST;
- | ++++ +
-
-error: aborting due to previous error; 4 warnings emitted
-
-For more information about this error, try `rustc --explain E0223`.
diff --git a/src/test/ui/lint/clashing-extern-fn-recursion.rs b/src/test/ui/lint/clashing-extern-fn-recursion.rs
deleted file mode 100644
index ab0fd0a2e..000000000
--- a/src/test/ui/lint/clashing-extern-fn-recursion.rs
+++ /dev/null
@@ -1,119 +0,0 @@
-// check-pass
-//
-// This tests checks that clashing_extern_declarations handles types that are recursive through a
-// pointer or ref argument. See #75512.
-
-#![crate_type = "lib"]
-
-mod raw_ptr_recursion {
- mod a {
- #[repr(C)]
- struct Pointy {
- pointy: *const Pointy,
- }
-
- extern "C" {
- fn run_pointy(pointy: Pointy);
- }
- }
- mod b {
- #[repr(C)]
- struct Pointy {
- pointy: *const Pointy,
- }
-
- extern "C" {
- fn run_pointy(pointy: Pointy);
- }
- }
-}
-
-mod raw_ptr_recursion_once_removed {
- mod a {
- #[repr(C)]
- struct Pointy1 {
- pointy_two: *const Pointy2,
- }
-
- #[repr(C)]
- struct Pointy2 {
- pointy_one: *const Pointy1,
- }
-
- extern "C" {
- fn run_pointy2(pointy: Pointy2);
- }
- }
-
- mod b {
- #[repr(C)]
- struct Pointy1 {
- pointy_two: *const Pointy2,
- }
-
- #[repr(C)]
- struct Pointy2 {
- pointy_one: *const Pointy1,
- }
-
- extern "C" {
- fn run_pointy2(pointy: Pointy2);
- }
- }
-}
-
-mod ref_recursion {
- mod a {
- #[repr(C)]
- struct Reffy<'a> {
- reffy: &'a Reffy<'a>,
- }
-
- extern "C" {
- fn reffy_recursion(reffy: Reffy);
- }
- }
- mod b {
- #[repr(C)]
- struct Reffy<'a> {
- reffy: &'a Reffy<'a>,
- }
-
- extern "C" {
- fn reffy_recursion(reffy: Reffy);
- }
- }
-}
-
-mod ref_recursion_once_removed {
- mod a {
- #[repr(C)]
- struct Reffy1<'a> {
- reffy: &'a Reffy2<'a>,
- }
-
- struct Reffy2<'a> {
- reffy: &'a Reffy1<'a>,
- }
-
- extern "C" {
- #[allow(improper_ctypes)]
- fn reffy_once_removed(reffy: Reffy1);
- }
- }
- mod b {
- #[repr(C)]
- struct Reffy1<'a> {
- reffy: &'a Reffy2<'a>,
- }
-
- struct Reffy2<'a> {
- reffy: &'a Reffy1<'a>,
- }
-
- extern "C" {
- #[allow(improper_ctypes)]
- fn reffy_once_removed(reffy: Reffy1);
- }
- }
-}
diff --git a/src/test/ui/lint/clashing-extern-fn-wasm.rs b/src/test/ui/lint/clashing-extern-fn-wasm.rs
deleted file mode 100644
index eeb2b8eae..000000000
--- a/src/test/ui/lint/clashing-extern-fn-wasm.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// check-pass
-#![crate_type = "lib"]
-
-#[cfg(target_arch = "wasm32")]
-mod wasm_non_clash {
- mod a {
- #[link(wasm_import_module = "a")]
- extern "C" {
- pub fn foo();
- }
- }
-
- mod b {
- #[link(wasm_import_module = "b")]
- extern "C" {
- pub fn foo() -> usize;
- // #79581: These declarations shouldn't clash because foreign fn names are mangled
- // on wasm32.
- }
- }
-}
diff --git a/src/test/ui/lint/clashing-extern-fn.rs b/src/test/ui/lint/clashing-extern-fn.rs
deleted file mode 100644
index 809e06026..000000000
--- a/src/test/ui/lint/clashing-extern-fn.rs
+++ /dev/null
@@ -1,417 +0,0 @@
-// check-pass
-// aux-build:external_extern_fn.rs
-#![crate_type = "lib"]
-#![warn(clashing_extern_declarations)]
-
-mod redeclared_different_signature {
- mod a {
- extern "C" {
- fn clash(x: u8);
- }
- }
- mod b {
- extern "C" {
- fn clash(x: u64); //~ WARN `clash` redeclared with a different signature
- }
- }
-}
-
-mod redeclared_same_signature {
- mod a {
- extern "C" {
- fn no_clash(x: u8);
- }
- }
- mod b {
- extern "C" {
- fn no_clash(x: u8);
- }
- }
-}
-
-extern crate external_extern_fn;
-mod extern_no_clash {
- // Should not clash with external_extern_fn::extern_fn.
- extern "C" {
- fn extern_fn(x: u8);
- }
-}
-
-extern "C" {
- fn some_other_new_name(x: i16);
-
- #[link_name = "extern_link_name"]
- fn some_new_name(x: i16);
-
- #[link_name = "link_name_same"]
- fn both_names_different(x: i16);
-}
-
-fn link_name_clash() {
- extern "C" {
- fn extern_link_name(x: u32);
- //~^ WARN `extern_link_name` redeclared with a different signature
-
- #[link_name = "some_other_new_name"]
- //~^ WARN `some_other_extern_link_name` redeclares `some_other_new_name` with a different
- fn some_other_extern_link_name(x: u32);
-
- #[link_name = "link_name_same"]
- //~^ WARN `other_both_names_different` redeclares `link_name_same` with a different
- fn other_both_names_different(x: u32);
- }
-}
-
-mod a {
- extern "C" {
- fn different_mod(x: u8);
- }
-}
-mod b {
- extern "C" {
- fn different_mod(x: u64); //~ WARN `different_mod` redeclared with a different signature
- }
-}
-
-extern "C" {
- fn variadic_decl(x: u8, ...);
-}
-
-fn variadic_clash() {
- extern "C" {
- fn variadic_decl(x: u8); //~ WARN `variadic_decl` redeclared with a different signature
- }
-}
-
-#[no_mangle]
-fn no_mangle_name(x: u8) {}
-
-extern "C" {
- #[link_name = "unique_link_name"]
- fn link_name_specified(x: u8);
-}
-
-fn tricky_no_clash() {
- extern "C" {
- // Shouldn't warn, because the declaration above actually declares a different symbol (and
- // Rust's name resolution rules around shadowing will handle this gracefully).
- fn link_name_specified() -> u32;
-
- // The case of a no_mangle name colliding with an extern decl (see #28179) is related but
- // shouldn't be reported by ClashingExternDeclarations, because this is an example of
- // unmangled name clash causing bad behaviour in functions with a defined body.
- fn no_mangle_name() -> u32;
- }
-}
-
-mod banana {
- mod one {
- #[repr(C)]
- struct Banana {
- weight: u32,
- length: u16,
- }
- extern "C" {
- fn weigh_banana(count: *const Banana) -> u64;
- }
- }
-
- mod two {
- #[repr(C)]
- struct Banana {
- weight: u32,
- length: u16,
- } // note: distinct type
- // This should not trigger the lint because two::Banana is structurally equivalent to
- // one::Banana.
- extern "C" {
- fn weigh_banana(count: *const Banana) -> u64;
- }
- }
-
- mod three {
- // This _should_ trigger the lint, because repr(packed) should generate a struct that has a
- // different layout.
- #[repr(packed)]
- struct Banana {
- weight: u32,
- length: u16,
- }
- #[allow(improper_ctypes)]
- extern "C" {
- fn weigh_banana(count: *const Banana) -> u64;
- //~^ WARN `weigh_banana` redeclared with a different signature
- }
- }
-}
-
-mod sameish_members {
- mod a {
- #[repr(C)]
- struct Point {
- x: i16,
- y: i16,
- }
-
- extern "C" {
- fn draw_point(p: Point);
- }
- }
- mod b {
- #[repr(C)]
- struct Point {
- coordinates: [i16; 2],
- }
-
- // It's possible we are overconservative for this case, as accessing the elements of the
- // coordinates array might end up correctly accessing `.x` and `.y`. However, this may not
- // always be the case, for every architecture and situation. This is also a really odd
- // thing to do anyway.
- extern "C" {
- fn draw_point(p: Point);
- //~^ WARN `draw_point` redeclared with a different signature
- }
- }
-}
-
-mod same_sized_members_clash {
- mod a {
- #[repr(C)]
- struct Point3 {
- x: f32,
- y: f32,
- z: f32,
- }
- extern "C" {
- fn origin() -> Point3;
- }
- }
- mod b {
- #[repr(C)]
- struct Point3 {
- x: i32,
- y: i32,
- z: i32, // NOTE: Incorrectly redeclared as i32
- }
- extern "C" {
- fn origin() -> Point3; //~ WARN `origin` redeclared with a different signature
- }
- }
-}
-
-mod transparent {
- #[repr(transparent)]
- struct T(usize);
- mod a {
- use super::T;
- extern "C" {
- fn transparent() -> T;
- fn transparent_incorrect() -> T;
- }
- }
-
- mod b {
- extern "C" {
- // Shouldn't warn here, because repr(transparent) guarantees that T's layout is the
- // same as just the usize.
- fn transparent() -> usize;
-
- // Should warn, because there's a signedness conversion here:
- fn transparent_incorrect() -> isize;
- //~^ WARN `transparent_incorrect` redeclared with a different signature
- }
- }
-}
-
-mod missing_return_type {
- mod a {
- extern "C" {
- fn missing_return_type() -> usize;
- }
- }
-
- mod b {
- extern "C" {
- // This should output a warning because we can't assume that the first declaration is
- // the correct one -- if this one is the correct one, then calling the usize-returning
- // version would allow reads into uninitialised memory.
- fn missing_return_type();
- //~^ WARN `missing_return_type` redeclared with a different signature
- }
- }
-}
-
-mod non_zero_and_non_null {
- mod a {
- extern "C" {
- fn non_zero_usize() -> core::num::NonZeroUsize;
- fn non_null_ptr() -> core::ptr::NonNull<usize>;
- }
- }
- mod b {
- extern "C" {
- // If there's a clash in either of these cases you're either gaining an incorrect
- // invariant that the value is non-zero, or you're missing out on that invariant. Both
- // cases are warning for, from both a caller-convenience and optimisation perspective.
- fn non_zero_usize() -> usize;
- //~^ WARN `non_zero_usize` redeclared with a different signature
- fn non_null_ptr() -> *const usize;
- //~^ WARN `non_null_ptr` redeclared with a different signature
- }
- }
-}
-
-// See #75739
-mod non_zero_transparent {
- mod a1 {
- use std::num::NonZeroUsize;
- extern "C" {
- fn f1() -> NonZeroUsize;
- }
- }
-
- mod b1 {
- #[repr(transparent)]
- struct X(NonZeroUsize);
- use std::num::NonZeroUsize;
- extern "C" {
- fn f1() -> X;
- }
- }
-
- mod a2 {
- use std::num::NonZeroUsize;
- extern "C" {
- fn f2() -> NonZeroUsize;
- }
- }
-
- mod b2 {
- #[repr(transparent)]
- struct X1(NonZeroUsize);
-
- #[repr(transparent)]
- struct X(X1);
-
- use std::num::NonZeroUsize;
- extern "C" {
- // Same case as above, but with two layers of newtyping.
- fn f2() -> X;
- }
- }
-
- mod a3 {
- #[repr(transparent)]
- struct X(core::ptr::NonNull<i32>);
-
- use std::num::NonZeroUsize;
- extern "C" {
- fn f3() -> X;
- }
- }
-
- mod b3 {
- extern "C" {
- fn f3() -> core::ptr::NonNull<i32>;
- }
- }
-
- mod a4 {
- #[repr(transparent)]
- enum E {
- X(std::num::NonZeroUsize),
- }
- extern "C" {
- fn f4() -> E;
- }
- }
-
- mod b4 {
- extern "C" {
- fn f4() -> std::num::NonZeroUsize;
- }
- }
-}
-
-mod null_optimised_enums {
- mod a {
- extern "C" {
- fn option_non_zero_usize() -> usize;
- fn option_non_zero_isize() -> isize;
- fn option_non_null_ptr() -> *const usize;
-
- fn option_non_zero_usize_incorrect() -> usize;
- fn option_non_null_ptr_incorrect() -> *const usize;
- }
- }
- mod b {
- extern "C" {
- // This should be allowed, because these conversions are guaranteed to be FFI-safe (see
- // #60300)
- fn option_non_zero_usize() -> Option<core::num::NonZeroUsize>;
- fn option_non_zero_isize() -> Option<core::num::NonZeroIsize>;
- fn option_non_null_ptr() -> Option<core::ptr::NonNull<usize>>;
-
- // However, these should be incorrect (note isize instead of usize)
- fn option_non_zero_usize_incorrect() -> isize;
- //~^ WARN `option_non_zero_usize_incorrect` redeclared with a different signature
- fn option_non_null_ptr_incorrect() -> *const isize;
- //~^ WARN `option_non_null_ptr_incorrect` redeclared with a different signature
- }
- }
-}
-
-#[allow(improper_ctypes)]
-mod unknown_layout {
- mod a {
- extern "C" {
- pub fn generic(l: Link<u32>);
- }
- pub struct Link<T> {
- pub item: T,
- pub next: *const Link<T>,
- }
- }
-
- mod b {
- extern "C" {
- pub fn generic(l: Link<u32>);
- }
- pub struct Link<T> {
- pub item: T,
- pub next: *const Link<T>,
- }
- }
-}
-
-mod hidden_niche {
- mod a {
- extern "C" {
- fn hidden_niche_transparent() -> usize;
- fn hidden_niche_transparent_no_niche() -> usize;
- fn hidden_niche_unsafe_cell() -> usize;
- }
- }
- mod b {
- use std::cell::UnsafeCell;
- use std::num::NonZeroUsize;
-
- #[repr(transparent)]
- struct Transparent { x: NonZeroUsize }
-
- #[repr(transparent)]
- struct TransparentNoNiche { y: UnsafeCell<NonZeroUsize> }
-
- extern "C" {
- fn hidden_niche_transparent() -> Option<Transparent>;
-
- fn hidden_niche_transparent_no_niche() -> Option<TransparentNoNiche>;
- //~^ WARN redeclared with a different signature
- //~| WARN block uses type `Option<TransparentNoNiche>`, which is not FFI-safe
-
- fn hidden_niche_unsafe_cell() -> Option<UnsafeCell<NonZeroUsize>>;
- //~^ WARN redeclared with a different signature
- //~| WARN block uses type `Option<UnsafeCell<NonZeroUsize>>`, which is not FFI-safe
- }
- }
-}
diff --git a/src/test/ui/lint/clashing-extern-fn.stderr b/src/test/ui/lint/clashing-extern-fn.stderr
deleted file mode 100644
index 217eed6c9..000000000
--- a/src/test/ui/lint/clashing-extern-fn.stderr
+++ /dev/null
@@ -1,236 +0,0 @@
-warning: `clash` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:14:13
- |
-LL | fn clash(x: u8);
- | ---------------- `clash` previously declared here
-...
-LL | fn clash(x: u64);
- | ^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn(u8)`
- found `unsafe extern "C" fn(u64)`
-note: the lint level is defined here
- --> $DIR/clashing-extern-fn.rs:4:9
- |
-LL | #![warn(clashing_extern_declarations)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: `extern_link_name` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:52:9
- |
-LL | / #[link_name = "extern_link_name"]
-LL | | fn some_new_name(x: i16);
- | |_____________________________- `extern_link_name` previously declared here
-...
-LL | fn extern_link_name(x: u32);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn(i16)`
- found `unsafe extern "C" fn(u32)`
-
-warning: `some_other_extern_link_name` redeclares `some_other_new_name` with a different signature
- --> $DIR/clashing-extern-fn.rs:55:9
- |
-LL | fn some_other_new_name(x: i16);
- | ------------------------------- `some_other_new_name` previously declared here
-...
-LL | / #[link_name = "some_other_new_name"]
-LL | |
-LL | | fn some_other_extern_link_name(x: u32);
- | |_______________________________________________^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn(i16)`
- found `unsafe extern "C" fn(u32)`
-
-warning: `other_both_names_different` redeclares `link_name_same` with a different signature
- --> $DIR/clashing-extern-fn.rs:59:9
- |
-LL | / #[link_name = "link_name_same"]
-LL | | fn both_names_different(x: i16);
- | |____________________________________- `link_name_same` previously declared here
-...
-LL | / #[link_name = "link_name_same"]
-LL | |
-LL | | fn other_both_names_different(x: u32);
- | |______________________________________________^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn(i16)`
- found `unsafe extern "C" fn(u32)`
-
-warning: `different_mod` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:72:9
- |
-LL | fn different_mod(x: u8);
- | ------------------------ `different_mod` previously declared here
-...
-LL | fn different_mod(x: u64);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn(u8)`
- found `unsafe extern "C" fn(u64)`
-
-warning: `variadic_decl` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:82:9
- |
-LL | fn variadic_decl(x: u8, ...);
- | ----------------------------- `variadic_decl` previously declared here
-...
-LL | fn variadic_decl(x: u8);
- | ^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn(u8, ...)`
- found `unsafe extern "C" fn(u8)`
-
-warning: `weigh_banana` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:142:13
- |
-LL | fn weigh_banana(count: *const Banana) -> u64;
- | --------------------------------------------- `weigh_banana` previously declared here
-...
-LL | fn weigh_banana(count: *const Banana) -> u64;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn(*const one::Banana) -> u64`
- found `unsafe extern "C" fn(*const three::Banana) -> u64`
-
-warning: `draw_point` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:171:13
- |
-LL | fn draw_point(p: Point);
- | ------------------------ `draw_point` previously declared here
-...
-LL | fn draw_point(p: Point);
- | ^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn(sameish_members::a::Point)`
- found `unsafe extern "C" fn(sameish_members::b::Point)`
-
-warning: `origin` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:197:13
- |
-LL | fn origin() -> Point3;
- | ---------------------- `origin` previously declared here
-...
-LL | fn origin() -> Point3;
- | ^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn() -> same_sized_members_clash::a::Point3`
- found `unsafe extern "C" fn() -> same_sized_members_clash::b::Point3`
-
-warning: `transparent_incorrect` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:220:13
- |
-LL | fn transparent_incorrect() -> T;
- | -------------------------------- `transparent_incorrect` previously declared here
-...
-LL | fn transparent_incorrect() -> isize;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn() -> T`
- found `unsafe extern "C" fn() -> isize`
-
-warning: `missing_return_type` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:238:13
- |
-LL | fn missing_return_type() -> usize;
- | ---------------------------------- `missing_return_type` previously declared here
-...
-LL | fn missing_return_type();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn() -> usize`
- found `unsafe extern "C" fn()`
-
-warning: `non_zero_usize` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:256:13
- |
-LL | fn non_zero_usize() -> core::num::NonZeroUsize;
- | ----------------------------------------------- `non_zero_usize` previously declared here
-...
-LL | fn non_zero_usize() -> usize;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn() -> NonZeroUsize`
- found `unsafe extern "C" fn() -> usize`
-
-warning: `non_null_ptr` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:258:13
- |
-LL | fn non_null_ptr() -> core::ptr::NonNull<usize>;
- | ----------------------------------------------- `non_null_ptr` previously declared here
-...
-LL | fn non_null_ptr() -> *const usize;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn() -> NonNull<usize>`
- found `unsafe extern "C" fn() -> *const usize`
-
-warning: `option_non_zero_usize_incorrect` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:356:13
- |
-LL | fn option_non_zero_usize_incorrect() -> usize;
- | ---------------------------------------------- `option_non_zero_usize_incorrect` previously declared here
-...
-LL | fn option_non_zero_usize_incorrect() -> isize;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn() -> usize`
- found `unsafe extern "C" fn() -> isize`
-
-warning: `option_non_null_ptr_incorrect` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:358:13
- |
-LL | fn option_non_null_ptr_incorrect() -> *const usize;
- | --------------------------------------------------- `option_non_null_ptr_incorrect` previously declared here
-...
-LL | fn option_non_null_ptr_incorrect() -> *const isize;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn() -> *const usize`
- found `unsafe extern "C" fn() -> *const isize`
-
-warning: `hidden_niche_transparent_no_niche` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:408:13
- |
-LL | fn hidden_niche_transparent_no_niche() -> usize;
- | ------------------------------------------------ `hidden_niche_transparent_no_niche` previously declared here
-...
-LL | fn hidden_niche_transparent_no_niche() -> Option<TransparentNoNiche>;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn() -> usize`
- found `unsafe extern "C" fn() -> Option<TransparentNoNiche>`
-
-warning: `hidden_niche_unsafe_cell` redeclared with a different signature
- --> $DIR/clashing-extern-fn.rs:412:13
- |
-LL | fn hidden_niche_unsafe_cell() -> usize;
- | --------------------------------------- `hidden_niche_unsafe_cell` previously declared here
-...
-LL | fn hidden_niche_unsafe_cell() -> Option<UnsafeCell<NonZeroUsize>>;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn() -> usize`
- found `unsafe extern "C" fn() -> Option<UnsafeCell<NonZeroUsize>>`
-
-warning: `extern` block uses type `Option<TransparentNoNiche>`, which is not FFI-safe
- --> $DIR/clashing-extern-fn.rs:408:55
- |
-LL | fn hidden_niche_transparent_no_niche() -> Option<TransparentNoNiche>;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
- = note: `#[warn(improper_ctypes)]` on by default
-
-warning: `extern` block uses type `Option<UnsafeCell<NonZeroUsize>>`, which is not FFI-safe
- --> $DIR/clashing-extern-fn.rs:412:46
- |
-LL | fn hidden_niche_unsafe_cell() -> Option<UnsafeCell<NonZeroUsize>>;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-
-warning: 19 warnings emitted
-
diff --git a/src/test/ui/lint/cli-lint-override.forbid_warn.stderr b/src/test/ui/lint/cli-lint-override.forbid_warn.stderr
deleted file mode 100644
index d1c66a81c..000000000
--- a/src/test/ui/lint/cli-lint-override.forbid_warn.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error: extern declarations without an explicit ABI are deprecated
- --> $DIR/cli-lint-override.rs:12:1
- |
-LL | extern fn foo() {}
- | ^^^^^^^^^^^^^^^ ABI should be specified here
- |
- = help: the default ABI is C
- = note: requested on the command line with `-F missing-abi`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/cli-lint-override.force_warn_deny.stderr b/src/test/ui/lint/cli-lint-override.force_warn_deny.stderr
deleted file mode 100644
index 779c24c93..000000000
--- a/src/test/ui/lint/cli-lint-override.force_warn_deny.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-warning: extern declarations without an explicit ABI are deprecated
- --> $DIR/cli-lint-override.rs:12:1
- |
-LL | extern fn foo() {}
- | ^^^^^^^^^^^^^^^ ABI should be specified here
- |
- = help: the default ABI is C
- = note: requested on the command line with `--force-warn missing-abi`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/cli-lint-override.rs b/src/test/ui/lint/cli-lint-override.rs
deleted file mode 100644
index a0e853fc3..000000000
--- a/src/test/ui/lint/cli-lint-override.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Tests that subsequent lints specified via the command line override
-// each other, except for ForceWarn and Forbid, which cannot be overridden.
-//
-// revisions: warn_deny forbid_warn force_warn_deny
-//
-//[warn_deny] compile-flags: --warn missing_abi --deny missing_abi
-//[forbid_warn] compile-flags: --warn missing_abi --forbid missing_abi
-//[force_warn_deny] compile-flags: --force-warn missing_abi --allow missing_abi
-//[force_warn_deny] check-pass
-
-
-extern fn foo() {}
-//[warn_deny]~^ ERROR extern declarations without an explicit ABI are deprecated
-//[forbid_warn]~^^ ERROR extern declarations without an explicit ABI are deprecated
-//[force_warn_deny]~^^^ WARN extern declarations without an explicit ABI are deprecated
-
-fn main() {}
diff --git a/src/test/ui/lint/cli-lint-override.warn_deny.stderr b/src/test/ui/lint/cli-lint-override.warn_deny.stderr
deleted file mode 100644
index f034cfa93..000000000
--- a/src/test/ui/lint/cli-lint-override.warn_deny.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error: extern declarations without an explicit ABI are deprecated
- --> $DIR/cli-lint-override.rs:12:1
- |
-LL | extern fn foo() {}
- | ^^^^^^^^^^^^^^^ ABI should be specified here
- |
- = help: the default ABI is C
- = note: requested on the command line with `-D missing-abi`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/cli-unknown-force-warn.rs b/src/test/ui/lint/cli-unknown-force-warn.rs
deleted file mode 100644
index f3dea87a6..000000000
--- a/src/test/ui/lint/cli-unknown-force-warn.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// Checks that rustc correctly errors when passed an invalid lint with
-// `--force-warn`. This is a regression test for issue #86958.
-//
-// compile-flags: --force-warn foo-qux
-// error-pattern: unknown lint: `foo_qux`
-
-fn main() {}
diff --git a/src/test/ui/lint/cli-unknown-force-warn.stderr b/src/test/ui/lint/cli-unknown-force-warn.stderr
deleted file mode 100644
index 9ce9f405a..000000000
--- a/src/test/ui/lint/cli-unknown-force-warn.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0602]: unknown lint: `foo_qux`
- |
- = note: requested on the command line with `--force-warn foo_qux`
-
-error[E0602]: unknown lint: `foo_qux`
- |
- = note: requested on the command line with `--force-warn foo_qux`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0602`.
diff --git a/src/test/ui/lint/command-line-lint-group-allow.rs b/src/test/ui/lint/command-line-lint-group-allow.rs
deleted file mode 100644
index 21c0df028..000000000
--- a/src/test/ui/lint/command-line-lint-group-allow.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// compile-flags: -A bad-style
-// check-pass
-
-fn main() {
- let _InappropriateCamelCasing = true;
-}
diff --git a/src/test/ui/lint/command-line-lint-group-deny.rs b/src/test/ui/lint/command-line-lint-group-deny.rs
deleted file mode 100644
index da999f33e..000000000
--- a/src/test/ui/lint/command-line-lint-group-deny.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-// compile-flags: -D bad-style
-
-fn main() {
- let _InappropriateCamelCasing = true; //~ ERROR should have a snake
-}
diff --git a/src/test/ui/lint/command-line-lint-group-deny.stderr b/src/test/ui/lint/command-line-lint-group-deny.stderr
deleted file mode 100644
index 04c3f6f26..000000000
--- a/src/test/ui/lint/command-line-lint-group-deny.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: variable `_InappropriateCamelCasing` should have a snake case name
- --> $DIR/command-line-lint-group-deny.rs:4:9
- |
-LL | let _InappropriateCamelCasing = true;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_inappropriate_camel_casing`
- |
- = note: `-D non-snake-case` implied by `-D bad-style`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/command-line-lint-group-forbid.rs b/src/test/ui/lint/command-line-lint-group-forbid.rs
deleted file mode 100644
index 4e5c2aca5..000000000
--- a/src/test/ui/lint/command-line-lint-group-forbid.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-// compile-flags: -F bad-style
-
-fn main() {
- let _InappropriateCamelCasing = true; //~ ERROR should have a snake
-}
diff --git a/src/test/ui/lint/command-line-lint-group-forbid.stderr b/src/test/ui/lint/command-line-lint-group-forbid.stderr
deleted file mode 100644
index 736782140..000000000
--- a/src/test/ui/lint/command-line-lint-group-forbid.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: variable `_InappropriateCamelCasing` should have a snake case name
- --> $DIR/command-line-lint-group-forbid.rs:4:9
- |
-LL | let _InappropriateCamelCasing = true;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_inappropriate_camel_casing`
- |
- = note: `-F non-snake-case` implied by `-F bad-style`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/command-line-lint-group-warn.rs b/src/test/ui/lint/command-line-lint-group-warn.rs
deleted file mode 100644
index f4536f9c9..000000000
--- a/src/test/ui/lint/command-line-lint-group-warn.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// compile-flags: -W bad-style
-// check-pass
-
-fn main() {
- let _InappropriateCamelCasing = true;
- //~^ WARNING should have a snake case name
-}
diff --git a/src/test/ui/lint/command-line-lint-group-warn.stderr b/src/test/ui/lint/command-line-lint-group-warn.stderr
deleted file mode 100644
index e9c80b4ef..000000000
--- a/src/test/ui/lint/command-line-lint-group-warn.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: variable `_InappropriateCamelCasing` should have a snake case name
- --> $DIR/command-line-lint-group-warn.rs:5:9
- |
-LL | let _InappropriateCamelCasing = true;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_inappropriate_camel_casing`
- |
- = note: `-W non-snake-case` implied by `-W bad-style`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/command-line-register-lint-tool.rs b/src/test/ui/lint/command-line-register-lint-tool.rs
deleted file mode 100644
index d6e95fd3e..000000000
--- a/src/test/ui/lint/command-line-register-lint-tool.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// compile-flags: -A known_tool::foo
-// check-pass
-
-#![feature(register_tool)]
-#![register_tool(known_tool)]
-
-fn main() {}
diff --git a/src/test/ui/lint/command-line-register-unknown-lint-tool.rs b/src/test/ui/lint/command-line-register-unknown-lint-tool.rs
deleted file mode 100644
index 59fc02000..000000000
--- a/src/test/ui/lint/command-line-register-unknown-lint-tool.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-// compile-flags: -A unknown_tool::foo
-// error-pattern: unknown lint tool: `unknown_tool`
-
-fn main() {}
diff --git a/src/test/ui/lint/command-line-register-unknown-lint-tool.stderr b/src/test/ui/lint/command-line-register-unknown-lint-tool.stderr
deleted file mode 100644
index c9a2aff21..000000000
--- a/src/test/ui/lint/command-line-register-unknown-lint-tool.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0602]: unknown lint tool: `unknown_tool`
- |
- = note: requested on the command line with `-A unknown_tool::foo`
-
-error[E0602]: unknown lint tool: `unknown_tool`
- |
- = note: requested on the command line with `-A unknown_tool::foo`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0602`.
diff --git a/src/test/ui/lint/crate_level_only_lint.rs b/src/test/ui/lint/crate_level_only_lint.rs
deleted file mode 100644
index d9673faa2..000000000
--- a/src/test/ui/lint/crate_level_only_lint.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-#![deny(uncommon_codepoints, unused_attributes)]
-
-mod foo {
-#![allow(uncommon_codepoints)]
-//~^ ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
-//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
-//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
-
-#[allow(uncommon_codepoints)]
-//~^ ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
-//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
-//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
-const BAR: f64 = 0.000001;
-
-}
-
-#[allow(uncommon_codepoints)]
-//~^ ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
-//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
-//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
-fn main() {
-}
diff --git a/src/test/ui/lint/crate_level_only_lint.stderr b/src/test/ui/lint/crate_level_only_lint.stderr
deleted file mode 100644
index 8fb06df2a..000000000
--- a/src/test/ui/lint/crate_level_only_lint.stderr
+++ /dev/null
@@ -1,62 +0,0 @@
-error: allow(uncommon_codepoints) is ignored unless specified at crate level
- --> $DIR/crate_level_only_lint.rs:4:10
- |
-LL | #![allow(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/crate_level_only_lint.rs:1:30
- |
-LL | #![deny(uncommon_codepoints, unused_attributes)]
- | ^^^^^^^^^^^^^^^^^
-
-error: allow(uncommon_codepoints) is ignored unless specified at crate level
- --> $DIR/crate_level_only_lint.rs:9:9
- |
-LL | #[allow(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: allow(uncommon_codepoints) is ignored unless specified at crate level
- --> $DIR/crate_level_only_lint.rs:17:9
- |
-LL | #[allow(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: allow(uncommon_codepoints) is ignored unless specified at crate level
- --> $DIR/crate_level_only_lint.rs:4:10
- |
-LL | #![allow(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: allow(uncommon_codepoints) is ignored unless specified at crate level
- --> $DIR/crate_level_only_lint.rs:9:9
- |
-LL | #[allow(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: allow(uncommon_codepoints) is ignored unless specified at crate level
- --> $DIR/crate_level_only_lint.rs:17:9
- |
-LL | #[allow(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: allow(uncommon_codepoints) is ignored unless specified at crate level
- --> $DIR/crate_level_only_lint.rs:4:10
- |
-LL | #![allow(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: allow(uncommon_codepoints) is ignored unless specified at crate level
- --> $DIR/crate_level_only_lint.rs:9:9
- |
-LL | #[allow(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: allow(uncommon_codepoints) is ignored unless specified at crate level
- --> $DIR/crate_level_only_lint.rs:17:9
- |
-LL | #[allow(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 9 previous errors
-
diff --git a/src/test/ui/lint/dead-code/alias-in-pat.rs b/src/test/ui/lint/dead-code/alias-in-pat.rs
deleted file mode 100644
index 69d455f3b..000000000
--- a/src/test/ui/lint/dead-code/alias-in-pat.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// run-pass
-
-#![deny(dead_code)]
-
-fn main() {
- struct Foo<T> { x: T }
- type Bar = Foo<u32>;
- let spam = |Bar { x }| x != 0;
- println!("{}", spam(Foo { x: 10 }));
-}
diff --git a/src/test/ui/lint/dead-code/anon-const-in-pat.rs b/src/test/ui/lint/dead-code/anon-const-in-pat.rs
deleted file mode 100644
index d3e39c0de..000000000
--- a/src/test/ui/lint/dead-code/anon-const-in-pat.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-// check-pass
-#![feature(inline_const_pat)]
-#![allow(incomplete_features)]
-#![deny(dead_code)]
-
-const fn one() -> i32 {
- 1
-}
-
-const fn two() -> i32 {
- 2
-}
-
-const fn three() -> i32 {
- 3
-}
-
-fn inline_const() {
- // rust-lang/rust#78171: dead_code lint triggers even though function is used in const pattern
- match 1 {
- const { one() } => {}
- _ => {}
- }
-}
-
-fn inline_const_range() {
- match 1 {
- 1 ..= const { two() } => {}
- _ => {}
- }
-}
-
-struct S<const C: i32>;
-
-fn const_generic_arg() {
- match S::<3> {
- S::<{three()}> => {}
- }
-}
-
-fn main() {
- inline_const();
- inline_const_range();
- const_generic_arg();
-}
diff --git a/src/test/ui/lint/dead-code/associated-type.rs b/src/test/ui/lint/dead-code/associated-type.rs
deleted file mode 100644
index 1cf66e75a..000000000
--- a/src/test/ui/lint/dead-code/associated-type.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// run-pass
-
-#![deny(dead_code)]
-
-trait Foo {
- type Bar;
-}
-
-struct Used;
-
-struct Ex;
-
-impl Foo for Ex {
- type Bar = Used;
-}
-
-pub fn main() {
- let _x = Ex;
-}
diff --git a/src/test/ui/lint/dead-code/basic.rs b/src/test/ui/lint/dead-code/basic.rs
deleted file mode 100644
index 3b8ffd58c..000000000
--- a/src/test/ui/lint/dead-code/basic.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-#![deny(dead_code)]
-#![allow(unreachable_code)]
-
-fn foo() { //~ ERROR function `foo` is never used
-
- // none of these should have any dead_code exposed to the user
- panic!();
-
- panic!("foo");
-
- panic!("bar {}", "baz")
-}
-
-
-fn main() {}
diff --git a/src/test/ui/lint/dead-code/basic.stderr b/src/test/ui/lint/dead-code/basic.stderr
deleted file mode 100644
index 7d068cead..000000000
--- a/src/test/ui/lint/dead-code/basic.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: function `foo` is never used
- --> $DIR/basic.rs:4:4
- |
-LL | fn foo() {
- | ^^^
- |
-note: the lint level is defined here
- --> $DIR/basic.rs:1:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/dead-code/closure-bang.rs b/src/test/ui/lint/dead-code/closure-bang.rs
deleted file mode 100644
index 8e8636b11..000000000
--- a/src/test/ui/lint/dead-code/closure-bang.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// ignore-test FIXME(#20574)
-
-#![deny(unreachable_code)]
-
-fn main() {
- let x = || panic!();
- x();
- println!("Foo bar"); //~ ERROR: unreachable statement
-}
diff --git a/src/test/ui/lint/dead-code/const-and-self.rs b/src/test/ui/lint/dead-code/const-and-self.rs
deleted file mode 100644
index 5c96e4d0e..000000000
--- a/src/test/ui/lint/dead-code/const-and-self.rs
+++ /dev/null
@@ -1,54 +0,0 @@
-// check-pass
-
-#![warn(dead_code)]
-
-const TLC: usize = 4;
-
-trait Tr { fn doit(&self); }
-
-impl Tr for [usize; TLC] {
- fn doit(&self) {
- println!("called 4");
- }
-}
-
-struct X;
-struct Y;
-struct Z;
-
-trait Foo<T> {
- type Ty;
- fn foo() -> Self::Ty;
-}
-
-impl Foo<Y> for X {
- type Ty = Z;
- fn foo() -> Self::Ty {
- unimplemented!()
- }
-}
-
-enum E {
- A,
- B, //~ WARN variants `B` and `C` are never constructed
- C,
-}
-
-type F = E;
-
-impl E {
- fn check(&self) -> bool {
- match self {
- Self::A => true,
- Self::B => false,
- F::C => false,
- }
- }
-}
-
-fn main() {
- let s = [0,1,2,3];
- s.doit();
- X::foo();
- E::A.check();
-}
diff --git a/src/test/ui/lint/dead-code/const-and-self.stderr b/src/test/ui/lint/dead-code/const-and-self.stderr
deleted file mode 100644
index 9d1d7d6ec..000000000
--- a/src/test/ui/lint/dead-code/const-and-self.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-warning: variants `B` and `C` are never constructed
- --> $DIR/const-and-self.rs:33:5
- |
-LL | enum E {
- | - variants in this enum
-LL | A,
-LL | B,
- | ^
-LL | C,
- | ^
- |
-note: the lint level is defined here
- --> $DIR/const-and-self.rs:3:9
- |
-LL | #![warn(dead_code)]
- | ^^^^^^^^^
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/dead-code/empty-unused-enum.rs b/src/test/ui/lint/dead-code/empty-unused-enum.rs
deleted file mode 100644
index 864501e94..000000000
--- a/src/test/ui/lint/dead-code/empty-unused-enum.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-#![deny(unused)]
-
-enum E {} //~ ERROR enum `E` is never used
-
-fn main() {}
diff --git a/src/test/ui/lint/dead-code/empty-unused-enum.stderr b/src/test/ui/lint/dead-code/empty-unused-enum.stderr
deleted file mode 100644
index 6391f0941..000000000
--- a/src/test/ui/lint/dead-code/empty-unused-enum.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: enum `E` is never used
- --> $DIR/empty-unused-enum.rs:3:6
- |
-LL | enum E {}
- | ^
- |
-note: the lint level is defined here
- --> $DIR/empty-unused-enum.rs:1:9
- |
-LL | #![deny(unused)]
- | ^^^^^^
- = note: `#[deny(dead_code)]` implied by `#[deny(unused)]`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/dead-code/empty-unused-public-enum.rs b/src/test/ui/lint/dead-code/empty-unused-public-enum.rs
deleted file mode 100644
index 15b04496b..000000000
--- a/src/test/ui/lint/dead-code/empty-unused-public-enum.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// build-pass
-#![deny(unused)]
-
-pub enum E {}
-
-fn main() {}
diff --git a/src/test/ui/lint/dead-code/enum-variants.rs b/src/test/ui/lint/dead-code/enum-variants.rs
deleted file mode 100644
index 91c97232e..000000000
--- a/src/test/ui/lint/dead-code/enum-variants.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// run-pass
-
-#![deny(dead_code)]
-
-enum Foo {
- A,
- B,
-}
-
-pub fn main() {
- match Foo::A {
- Foo::A | Foo::B => Foo::B
- };
-}
diff --git a/src/test/ui/lint/dead-code/impl-trait.rs b/src/test/ui/lint/dead-code/impl-trait.rs
deleted file mode 100644
index 757b8f83e..000000000
--- a/src/test/ui/lint/dead-code/impl-trait.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-#![deny(dead_code)]
-
-trait Trait {
- type Type;
-}
-
-impl Trait for () {
- type Type = ();
-}
-
-type Used = ();
-type Unused = (); //~ ERROR type alias `Unused` is never used
-
-fn foo() -> impl Trait<Type = Used> {}
-
-fn main() {
- foo();
-}
diff --git a/src/test/ui/lint/dead-code/impl-trait.stderr b/src/test/ui/lint/dead-code/impl-trait.stderr
deleted file mode 100644
index e35e13a9e..000000000
--- a/src/test/ui/lint/dead-code/impl-trait.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: type alias `Unused` is never used
- --> $DIR/impl-trait.rs:12:6
- |
-LL | type Unused = ();
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/impl-trait.rs:1:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/dead-code/issue-68408-false-positive.rs b/src/test/ui/lint/dead-code/issue-68408-false-positive.rs
deleted file mode 100644
index 7ee6b5d72..000000000
--- a/src/test/ui/lint/dead-code/issue-68408-false-positive.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// check-pass
-
-// Make sure we don't have any false positives here.
-
-#![deny(dead_code)]
-
-enum X {
- A { _a: () },
- B { _b: () },
-}
-impl X {
- fn a() -> X {
- X::A { _a: () }
- }
- fn b() -> Self {
- Self::B { _b: () }
- }
-}
-
-fn main() {
- let (_, _) = (X::a(), X::b());
-}
diff --git a/src/test/ui/lint/dead-code/issue-85071-2.rs b/src/test/ui/lint/dead-code/issue-85071-2.rs
deleted file mode 100644
index f0639931c..000000000
--- a/src/test/ui/lint/dead-code/issue-85071-2.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// A slight variation of issue-85071.rs. Here, a method is called instead
-// of a function, and the warning is about an unreachable definition
-// instead of an unreachable expression.
-
-// check-pass
-
-#![warn(unused_variables,unreachable_code)]
-
-enum Foo {}
-
-struct S;
-impl S {
- fn f(&self) -> Foo {todo!()}
-}
-
-fn main() {
- let s = S;
- let x = s.f();
- //~^ WARNING: unused variable: `x`
- let _y = x;
- //~^ WARNING: unreachable definition
-}
diff --git a/src/test/ui/lint/dead-code/issue-85071-2.stderr b/src/test/ui/lint/dead-code/issue-85071-2.stderr
deleted file mode 100644
index 5e963183d..000000000
--- a/src/test/ui/lint/dead-code/issue-85071-2.stderr
+++ /dev/null
@@ -1,34 +0,0 @@
-warning: unreachable definition
- --> $DIR/issue-85071-2.rs:20:9
- |
-LL | let x = s.f();
- | ----- any code following this expression is unreachable
-LL |
-LL | let _y = x;
- | ^^ unreachable definition
- |
-note: this expression has type `Foo`, which is uninhabited
- --> $DIR/issue-85071-2.rs:18:13
- |
-LL | let x = s.f();
- | ^^^^^
-note: the lint level is defined here
- --> $DIR/issue-85071-2.rs:7:26
- |
-LL | #![warn(unused_variables,unreachable_code)]
- | ^^^^^^^^^^^^^^^^
-
-warning: unused variable: `x`
- --> $DIR/issue-85071-2.rs:18:9
- |
-LL | let x = s.f();
- | ^ help: if this is intentional, prefix it with an underscore: `_x`
- |
-note: the lint level is defined here
- --> $DIR/issue-85071-2.rs:7:9
- |
-LL | #![warn(unused_variables,unreachable_code)]
- | ^^^^^^^^^^^^^^^^
-
-warning: 2 warnings emitted
-
diff --git a/src/test/ui/lint/dead-code/issue-85071.rs b/src/test/ui/lint/dead-code/issue-85071.rs
deleted file mode 100644
index d6969321c..000000000
--- a/src/test/ui/lint/dead-code/issue-85071.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// Checks that an unreachable code warning is emitted when an expression is
-// preceded by an expression with an uninhabited type. Previously, the
-// variable liveness analysis was "smarter" than the reachability analysis
-// in this regard, which led to confusing "unused variable" warnings
-// without an accompanying explanatory "unreachable expression" warning.
-
-// check-pass
-
-#![warn(unused_variables,unreachable_code)]
-
-enum Foo {}
-fn f() -> Foo {todo!()}
-
-fn main() {
- let x = f();
- //~^ WARNING: unused variable: `x`
- let _ = x;
- //~^ WARNING: unreachable expression
-}
diff --git a/src/test/ui/lint/dead-code/issue-85071.stderr b/src/test/ui/lint/dead-code/issue-85071.stderr
deleted file mode 100644
index 721fb8148..000000000
--- a/src/test/ui/lint/dead-code/issue-85071.stderr
+++ /dev/null
@@ -1,34 +0,0 @@
-warning: unreachable expression
- --> $DIR/issue-85071.rs:17:13
- |
-LL | let x = f();
- | --- any code following this expression is unreachable
-LL |
-LL | let _ = x;
- | ^ unreachable expression
- |
-note: this expression has type `Foo`, which is uninhabited
- --> $DIR/issue-85071.rs:15:13
- |
-LL | let x = f();
- | ^^^
-note: the lint level is defined here
- --> $DIR/issue-85071.rs:9:26
- |
-LL | #![warn(unused_variables,unreachable_code)]
- | ^^^^^^^^^^^^^^^^
-
-warning: unused variable: `x`
- --> $DIR/issue-85071.rs:15:9
- |
-LL | let x = f();
- | ^ help: if this is intentional, prefix it with an underscore: `_x`
- |
-note: the lint level is defined here
- --> $DIR/issue-85071.rs:9:9
- |
-LL | #![warn(unused_variables,unreachable_code)]
- | ^^^^^^^^^^^^^^^^
-
-warning: 2 warnings emitted
-
diff --git a/src/test/ui/lint/dead-code/issue-85255.rs b/src/test/ui/lint/dead-code/issue-85255.rs
deleted file mode 100644
index 043f68137..000000000
--- a/src/test/ui/lint/dead-code/issue-85255.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-// Unused `pub` fields in non-`pub` structs should also trigger dead code warnings.
-// check-pass
-
-#![warn(dead_code)]
-
-struct Foo {
- a: i32, //~ WARNING: fields `a` and `b` are never read
- pub b: i32,
-}
-
-struct Bar;
-
-impl Bar {
- fn a(&self) -> i32 { 5 } //~ WARNING: associated function `a` is never used
- pub fn b(&self) -> i32 { 6 } //~ WARNING: associated function `b` is never used
-}
-
-pub(crate) struct Foo1 {
- a: i32, //~ WARNING: fields `a` and `b` are never read
- pub b: i32,
-}
-
-pub(crate) struct Bar1;
-
-impl Bar1 {
- fn a(&self) -> i32 { 5 } //~ WARNING: associated function `a` is never used
- pub fn b(&self) -> i32 { 6 } //~ WARNING: associated function `b` is never used
-}
-
-pub(crate) struct Foo2 {
- a: i32, //~ WARNING: fields `a` and `b` are never read
- pub b: i32,
-}
-
-pub(crate) struct Bar2;
-
-impl Bar2 {
- fn a(&self) -> i32 { 5 } //~ WARNING: associated function `a` is never used
- pub fn b(&self) -> i32 { 6 } //~ WARNING: associated function `b` is never used
-}
-
-
-fn main() {
- let _ = Foo { a: 1, b: 2 };
- let _ = Bar;
- let _ = Foo1 { a: 1, b: 2 };
- let _ = Bar1;
- let _ = Foo2 { a: 1, b: 2 };
- let _ = Bar2;
-}
diff --git a/src/test/ui/lint/dead-code/issue-85255.stderr b/src/test/ui/lint/dead-code/issue-85255.stderr
deleted file mode 100644
index 3497b952f..000000000
--- a/src/test/ui/lint/dead-code/issue-85255.stderr
+++ /dev/null
@@ -1,74 +0,0 @@
-warning: fields `a` and `b` are never read
- --> $DIR/issue-85255.rs:7:5
- |
-LL | struct Foo {
- | --- fields in this struct
-LL | a: i32,
- | ^
-LL | pub b: i32,
- | ^
- |
-note: the lint level is defined here
- --> $DIR/issue-85255.rs:4:9
- |
-LL | #![warn(dead_code)]
- | ^^^^^^^^^
-
-warning: fields `a` and `b` are never read
- --> $DIR/issue-85255.rs:19:5
- |
-LL | pub(crate) struct Foo1 {
- | ---- fields in this struct
-LL | a: i32,
- | ^
-LL | pub b: i32,
- | ^
-
-warning: fields `a` and `b` are never read
- --> $DIR/issue-85255.rs:31:5
- |
-LL | pub(crate) struct Foo2 {
- | ---- fields in this struct
-LL | a: i32,
- | ^
-LL | pub b: i32,
- | ^
-
-warning: associated function `a` is never used
- --> $DIR/issue-85255.rs:14:8
- |
-LL | fn a(&self) -> i32 { 5 }
- | ^
-
-warning: associated function `b` is never used
- --> $DIR/issue-85255.rs:15:12
- |
-LL | pub fn b(&self) -> i32 { 6 }
- | ^
-
-warning: associated function `a` is never used
- --> $DIR/issue-85255.rs:26:8
- |
-LL | fn a(&self) -> i32 { 5 }
- | ^
-
-warning: associated function `b` is never used
- --> $DIR/issue-85255.rs:27:12
- |
-LL | pub fn b(&self) -> i32 { 6 }
- | ^
-
-warning: associated function `a` is never used
- --> $DIR/issue-85255.rs:38:8
- |
-LL | fn a(&self) -> i32 { 5 }
- | ^
-
-warning: associated function `b` is never used
- --> $DIR/issue-85255.rs:39:12
- |
-LL | pub fn b(&self) -> i32 { 6 }
- | ^
-
-warning: 9 warnings emitted
-
diff --git a/src/test/ui/lint/dead-code/leading-underscore.rs b/src/test/ui/lint/dead-code/leading-underscore.rs
deleted file mode 100644
index d3582961b..000000000
--- a/src/test/ui/lint/dead-code/leading-underscore.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-// run-pass
-// pretty-expanded FIXME #23616
-
-#![deny(dead_code)]
-
-static _X: usize = 0;
-
-fn _foo() {}
-
-struct _Y {
- _z: usize,
-}
-
-enum _Z {}
-
-impl _Y {
- fn _bar() {}
-}
-
-type _A = isize;
-
-mod _bar {
- fn _qux() {}
-}
-
-extern "C" {
- #[link_name = "abort"]
- fn _abort() -> !;
-}
-
-pub fn main() {}
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-1.rs b/src/test/ui/lint/dead-code/lint-dead-code-1.rs
deleted file mode 100644
index 8f5a4c41e..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-1.rs
+++ /dev/null
@@ -1,110 +0,0 @@
-#![no_std]
-#![allow(unused_variables)]
-#![allow(non_camel_case_types)]
-#![allow(non_upper_case_globals)]
-#![deny(dead_code)]
-
-#![crate_type="lib"]
-
-pub use foo2::Bar2;
-
-mod foo {
- pub struct Bar; //~ ERROR: struct `Bar` is never constructed
-}
-
-mod foo2 {
- pub struct Bar2;
-}
-
-pub static pub_static: isize = 0;
-static priv_static: isize = 0; //~ ERROR: static `priv_static` is never used
-const used_static: isize = 0;
-pub static used_static2: isize = used_static;
-const USED_STATIC: isize = 0;
-const STATIC_USED_IN_ENUM_DISCRIMINANT: isize = 10;
-
-pub const pub_const: isize = 0;
-const priv_const: isize = 0; //~ ERROR: constant `priv_const` is never used
-const used_const: isize = 0;
-pub const used_const2: isize = used_const;
-const USED_CONST: isize = 1;
-const CONST_USED_IN_ENUM_DISCRIMINANT: isize = 11;
-
-pub type typ = *const UsedStruct4;
-pub struct PubStruct;
-struct PrivStruct; //~ ERROR: struct `PrivStruct` is never constructed
-struct UsedStruct1 {
- #[allow(dead_code)]
- x: isize
-}
-struct UsedStruct2(isize);
-struct UsedStruct3;
-pub struct UsedStruct4;
-// this struct is never used directly, but its method is, so we don't want
-// to warn it
-struct SemiUsedStruct;
-impl SemiUsedStruct {
- fn la_la_la() {}
-}
-struct StructUsedAsField;
-pub struct StructUsedInEnum;
-struct StructUsedInGeneric;
-pub struct PubStruct2 {
- #[allow(dead_code)]
- struct_used_as_field: *const StructUsedAsField
-}
-
-pub enum pub_enum { foo1, bar1 }
-pub enum pub_enum2 { a(*const StructUsedInEnum) }
-pub enum pub_enum3 {
- Foo = STATIC_USED_IN_ENUM_DISCRIMINANT,
- Bar = CONST_USED_IN_ENUM_DISCRIMINANT,
-}
-
-enum priv_enum { foo2, bar2 } //~ ERROR: enum `priv_enum` is never used
-enum used_enum {
- foo3,
- bar3 //~ ERROR variant `bar3` is never constructed
-}
-
-fn f<T>() {}
-
-pub fn pub_fn() {
- used_fn();
- let used_struct1 = UsedStruct1 { x: 1 };
- let used_struct2 = UsedStruct2(1);
- let used_struct3 = UsedStruct3;
- let e = used_enum::foo3;
- SemiUsedStruct::la_la_la();
-
- let i = 1;
- match i {
- USED_STATIC => (),
- USED_CONST => (),
- _ => ()
- }
- f::<StructUsedInGeneric>();
-}
-fn priv_fn() { //~ ERROR: function `priv_fn` is never used
- let unused_struct = PrivStruct;
-}
-fn used_fn() {}
-
-fn foo() { //~ ERROR: function `foo` is never used
- bar();
- let unused_enum = priv_enum::foo2;
-}
-
-fn bar() { //~ ERROR: function `bar` is never used
- foo();
-}
-
-fn baz() -> impl Copy { //~ ERROR: function `baz` is never used
- "I'm unused, too"
-}
-
-// Code with #[allow(dead_code)] should be marked live (and thus anything it
-// calls is marked live)
-#[allow(dead_code)]
-fn g() { h(); }
-fn h() {}
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-1.stderr b/src/test/ui/lint/dead-code/lint-dead-code-1.stderr
deleted file mode 100644
index eb728b5b9..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-1.stderr
+++ /dev/null
@@ -1,71 +0,0 @@
-error: static `priv_static` is never used
- --> $DIR/lint-dead-code-1.rs:20:8
- |
-LL | static priv_static: isize = 0;
- | ^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-dead-code-1.rs:5:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: constant `priv_const` is never used
- --> $DIR/lint-dead-code-1.rs:27:7
- |
-LL | const priv_const: isize = 0;
- | ^^^^^^^^^^
-
-error: struct `PrivStruct` is never constructed
- --> $DIR/lint-dead-code-1.rs:35:8
- |
-LL | struct PrivStruct;
- | ^^^^^^^^^^
-
-error: enum `priv_enum` is never used
- --> $DIR/lint-dead-code-1.rs:64:6
- |
-LL | enum priv_enum { foo2, bar2 }
- | ^^^^^^^^^
-
-error: variant `bar3` is never constructed
- --> $DIR/lint-dead-code-1.rs:67:5
- |
-LL | enum used_enum {
- | --------- variant in this enum
-LL | foo3,
-LL | bar3
- | ^^^^
-
-error: function `priv_fn` is never used
- --> $DIR/lint-dead-code-1.rs:88:4
- |
-LL | fn priv_fn() {
- | ^^^^^^^
-
-error: function `foo` is never used
- --> $DIR/lint-dead-code-1.rs:93:4
- |
-LL | fn foo() {
- | ^^^
-
-error: function `bar` is never used
- --> $DIR/lint-dead-code-1.rs:98:4
- |
-LL | fn bar() {
- | ^^^
-
-error: function `baz` is never used
- --> $DIR/lint-dead-code-1.rs:102:4
- |
-LL | fn baz() -> impl Copy {
- | ^^^
-
-error: struct `Bar` is never constructed
- --> $DIR/lint-dead-code-1.rs:12:16
- |
-LL | pub struct Bar;
- | ^^^
-
-error: aborting due to 10 previous errors
-
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-2.rs b/src/test/ui/lint/dead-code/lint-dead-code-2.rs
deleted file mode 100644
index 6bfa4d96f..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-2.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-#![allow(unused_variables)]
-#![deny(dead_code)]
-#![feature(rustc_attrs, start)]
-
-struct Foo;
-
-trait Bar {
- fn bar1(&self);
- fn bar2(&self) {
- self.bar1();
- }
-}
-
-impl Bar for Foo {
- fn bar1(&self) {
- live_fn();
- }
-}
-
-fn live_fn() {}
-
-fn dead_fn() {} //~ ERROR: function `dead_fn` is never used
-
-#[rustc_main]
-fn dead_fn2() {} //~ ERROR: function `dead_fn2` is never used
-
-fn used_fn() {}
-
-#[start]
-fn start(_: isize, _: *const *const u8) -> isize {
- used_fn();
- let foo = Foo;
- foo.bar2();
- 0
-}
-
-// this is not main
-fn main() { //~ ERROR: function `main` is never used
- dead_fn();
- dead_fn2();
-}
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-2.stderr b/src/test/ui/lint/dead-code/lint-dead-code-2.stderr
deleted file mode 100644
index 85af553c9..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-2.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: function `dead_fn` is never used
- --> $DIR/lint-dead-code-2.rs:22:4
- |
-LL | fn dead_fn() {}
- | ^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-dead-code-2.rs:2:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: function `dead_fn2` is never used
- --> $DIR/lint-dead-code-2.rs:25:4
- |
-LL | fn dead_fn2() {}
- | ^^^^^^^^
-
-error: function `main` is never used
- --> $DIR/lint-dead-code-2.rs:38:4
- |
-LL | fn main() {
- | ^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-3.rs b/src/test/ui/lint/dead-code/lint-dead-code-3.rs
deleted file mode 100644
index 293fcdbc5..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-3.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-#![allow(unused_variables)]
-#![allow(non_camel_case_types)]
-#![allow(clashing_extern_declarations)]
-#![deny(dead_code)]
-
-#![crate_type="lib"]
-
-
-pub use extern_foo as x;
-extern "C" {
- pub fn extern_foo();
-}
-
-struct Foo; //~ ERROR: struct `Foo` is never constructed
-impl Foo {
- fn foo(&self) { //~ ERROR: associated function `foo` is never used
- bar()
- }
-}
-
-fn bar() { //~ ERROR: function `bar` is never used
- fn baz() {}
-
- Foo.foo();
- baz();
-}
-
-// no warning
-struct Foo2;
-impl Foo2 { fn foo2(&self) { bar2() } }
-fn bar2() {
- fn baz2() {}
-
- Foo2.foo2();
- baz2();
-}
-
-pub fn pub_fn() {
- let foo2_struct = Foo2;
- foo2_struct.foo2();
-
- blah::baz();
-}
-
-mod blah {
- // not warned because it's used in the parameter of `free` and return of
- // `malloc` below, which are also used.
- enum c_void {}
-
- extern "C" {
- fn free(p: *const c_void);
- fn malloc(size: usize) -> *const c_void;
- }
-
- pub fn baz() {
- unsafe { free(malloc(4)); }
- }
-}
-
-enum c_void {} //~ ERROR: enum `c_void` is never used
-extern "C" {
- fn free(p: *const c_void); //~ ERROR: function `free` is never used
-}
-
-// Check provided method
-mod inner {
- pub trait Trait {
- fn f(&self) { f(); }
- }
-
- impl Trait for isize {}
-
- fn f() {}
-}
-
-fn anon_const() -> [(); {
- fn blah() {} //~ ERROR: function `blah` is never used
- 1
-}] {
- [(); {
- fn blah() {} //~ ERROR: function `blah` is never used
- 1
- }]
-}
-
-pub fn foo() {
- let a: &dyn inner::Trait = &1_isize;
- a.f();
- anon_const();
-}
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-3.stderr b/src/test/ui/lint/dead-code/lint-dead-code-3.stderr
deleted file mode 100644
index 26fc13bae..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-3.stderr
+++ /dev/null
@@ -1,50 +0,0 @@
-error: struct `Foo` is never constructed
- --> $DIR/lint-dead-code-3.rs:14:8
- |
-LL | struct Foo;
- | ^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-dead-code-3.rs:4:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: function `bar` is never used
- --> $DIR/lint-dead-code-3.rs:21:4
- |
-LL | fn bar() {
- | ^^^
-
-error: enum `c_void` is never used
- --> $DIR/lint-dead-code-3.rs:60:6
- |
-LL | enum c_void {}
- | ^^^^^^
-
-error: function `blah` is never used
- --> $DIR/lint-dead-code-3.rs:77:8
- |
-LL | fn blah() {}
- | ^^^^
-
-error: function `blah` is never used
- --> $DIR/lint-dead-code-3.rs:81:12
- |
-LL | fn blah() {}
- | ^^^^
-
-error: associated function `foo` is never used
- --> $DIR/lint-dead-code-3.rs:16:8
- |
-LL | fn foo(&self) {
- | ^^^
-
-error: function `free` is never used
- --> $DIR/lint-dead-code-3.rs:62:8
- |
-LL | fn free(p: *const c_void);
- | ^^^^
-
-error: aborting due to 7 previous errors
-
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-4.rs b/src/test/ui/lint/dead-code/lint-dead-code-4.rs
deleted file mode 100644
index 0fc6c6156..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-4.rs
+++ /dev/null
@@ -1,83 +0,0 @@
-#![allow(unused_variables)]
-#![allow(non_camel_case_types)]
-#![deny(dead_code)]
-
-struct Foo {
- x: usize,
- b: bool, //~ ERROR: field `b` is never read
-}
-
-fn field_read(f: Foo) -> usize {
- f.x.pow(2)
-}
-
-enum XYZ {
- X, //~ ERROR variants `X` and `Y` are never constructed
- Y {
- a: String,
- b: i32,
- c: i32,
- },
- Z
-}
-
-enum ABC { //~ ERROR enum `ABC` is never used
- A,
- B {
- a: String,
- b: i32,
- c: i32,
- },
- C
-}
-
-// ensure struct variants get warning for their fields
-enum IJK {
- I, //~ ERROR variants `I` and `K` are never constructed
- J {
- a: String,
- b: i32, //~ ERROR fields `b` and `c` are never read
- c: i32,
- },
- K
-
-}
-
-fn struct_variant_partial_use(b: IJK) -> String {
- match b {
- IJK::J { a, b: _, .. } => a,
- _ => "".to_string()
- }
-}
-
-fn field_match_in_patterns(b: XYZ) -> String {
- match b {
- XYZ::Y { a, b: _, .. } => a,
- _ => "".to_string()
- }
-}
-
-struct Bar {
- x: usize, //~ ERROR: fields `x` and `c` are never read
- b: bool,
- c: bool,
- _guard: ()
-}
-
-#[repr(C)]
-struct Baz {
- x: u32,
-}
-
-fn field_match_in_let(f: Bar) -> bool {
- let Bar { b, c: _, .. } = f;
- b
-}
-
-fn main() {
- field_read(Foo { x: 1, b: false });
- field_match_in_patterns(XYZ::Z);
- struct_variant_partial_use(IJK::J { a: "".into(), b: 1, c: -1 });
- field_match_in_let(Bar { x: 42, b: true, c: false, _guard: () });
- let _ = Baz { x: 0 };
-}
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-4.stderr b/src/test/ui/lint/dead-code/lint-dead-code-4.stderr
deleted file mode 100644
index 668c1dacf..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-4.stderr
+++ /dev/null
@@ -1,66 +0,0 @@
-error: field `b` is never read
- --> $DIR/lint-dead-code-4.rs:7:5
- |
-LL | struct Foo {
- | --- field in this struct
-LL | x: usize,
-LL | b: bool,
- | ^
- |
-note: the lint level is defined here
- --> $DIR/lint-dead-code-4.rs:3:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: variants `X` and `Y` are never constructed
- --> $DIR/lint-dead-code-4.rs:15:5
- |
-LL | enum XYZ {
- | --- variants in this enum
-LL | X,
- | ^
-LL | Y {
- | ^
-
-error: enum `ABC` is never used
- --> $DIR/lint-dead-code-4.rs:24:6
- |
-LL | enum ABC {
- | ^^^
-
-error: fields `b` and `c` are never read
- --> $DIR/lint-dead-code-4.rs:39:9
- |
-LL | J {
- | - fields in this variant
-LL | a: String,
-LL | b: i32,
- | ^
-LL | c: i32,
- | ^
-
-error: variants `I` and `K` are never constructed
- --> $DIR/lint-dead-code-4.rs:36:5
- |
-LL | enum IJK {
- | --- variants in this enum
-LL | I,
- | ^
-...
-LL | K
- | ^
-
-error: fields `x` and `c` are never read
- --> $DIR/lint-dead-code-4.rs:61:5
- |
-LL | struct Bar {
- | --- fields in this struct
-LL | x: usize,
- | ^
-LL | b: bool,
-LL | c: bool,
- | ^
-
-error: aborting due to 6 previous errors
-
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-5.rs b/src/test/ui/lint/dead-code/lint-dead-code-5.rs
deleted file mode 100644
index ed90fb464..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-5.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-#![allow(unused_variables)]
-#![deny(dead_code)]
-
-enum Enum1 {
- Variant1(isize),
- Variant2 //~ ERROR: variant `Variant2` is never constructed
-}
-
-enum Enum2 {
- Variant3(bool),
- #[allow(dead_code)]
- Variant4(isize),
- Variant5 { _x: isize }, //~ ERROR: variants `Variant5` and `Variant6` are never constructed
- Variant6(isize),
- _Variant7,
- Variant8 { _field: bool },
- Variant9,
- Variant10(usize)
-}
-
-impl Enum2 {
- fn new_variant8() -> Enum2 {
- Self::Variant8 { _field: true }
- }
-
- fn new_variant9() -> Enum2 {
- Self::Variant9
- }
-
- fn new_variant10() -> Enum2 {
- Self::Variant10(10)
- }
-}
-
-enum Enum3 { //~ ERROR: enum `Enum3` is never used
- Variant8,
- Variant9
-}
-
-fn main() {
- let v = Enum1::Variant1(1);
- match v {
- Enum1::Variant1(_) => (),
- Enum1::Variant2 => ()
- }
- let x = Enum2::Variant3(true);
- let _ = Enum2::new_variant8();
- let _ = Enum2::new_variant9();
- let _ = Enum2::new_variant10();
-}
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-5.stderr b/src/test/ui/lint/dead-code/lint-dead-code-5.stderr
deleted file mode 100644
index eaf43e453..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-5.stderr
+++ /dev/null
@@ -1,34 +0,0 @@
-error: variant `Variant2` is never constructed
- --> $DIR/lint-dead-code-5.rs:6:5
- |
-LL | enum Enum1 {
- | ----- variant in this enum
-LL | Variant1(isize),
-LL | Variant2
- | ^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-dead-code-5.rs:2:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: variants `Variant5` and `Variant6` are never constructed
- --> $DIR/lint-dead-code-5.rs:13:5
- |
-LL | enum Enum2 {
- | ----- variants in this enum
-...
-LL | Variant5 { _x: isize },
- | ^^^^^^^^
-LL | Variant6(isize),
- | ^^^^^^^^
-
-error: enum `Enum3` is never used
- --> $DIR/lint-dead-code-5.rs:35:6
- |
-LL | enum Enum3 {
- | ^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-6.rs b/src/test/ui/lint/dead-code/lint-dead-code-6.rs
deleted file mode 100644
index e3074acf1..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-6.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-#![deny(dead_code)]
-
-struct UnusedStruct; //~ ERROR struct `UnusedStruct` is never constructed
-impl UnusedStruct {
- fn unused_impl_fn_1() { //~ ERROR associated function `unused_impl_fn_1` is never used
- println!("blah");
- }
-
- fn unused_impl_fn_2(var: i32) { //~ ERROR associated function `unused_impl_fn_2` is never used
- println!("foo {}", var);
- }
-
- fn unused_impl_fn_3( //~ ERROR associated function `unused_impl_fn_3` is never used
- var: i32,
- ) {
- println!("bar {}", var);
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/dead-code/lint-dead-code-6.stderr b/src/test/ui/lint/dead-code/lint-dead-code-6.stderr
deleted file mode 100644
index f9d83308a..000000000
--- a/src/test/ui/lint/dead-code/lint-dead-code-6.stderr
+++ /dev/null
@@ -1,32 +0,0 @@
-error: struct `UnusedStruct` is never constructed
- --> $DIR/lint-dead-code-6.rs:3:8
- |
-LL | struct UnusedStruct;
- | ^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-dead-code-6.rs:1:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: associated function `unused_impl_fn_1` is never used
- --> $DIR/lint-dead-code-6.rs:5:8
- |
-LL | fn unused_impl_fn_1() {
- | ^^^^^^^^^^^^^^^^
-
-error: associated function `unused_impl_fn_2` is never used
- --> $DIR/lint-dead-code-6.rs:9:8
- |
-LL | fn unused_impl_fn_2(var: i32) {
- | ^^^^^^^^^^^^^^^^
-
-error: associated function `unused_impl_fn_3` is never used
- --> $DIR/lint-dead-code-6.rs:13:8
- |
-LL | fn unused_impl_fn_3(
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/lint/dead-code/multiple-dead-codes-in-the-same-struct.rs b/src/test/ui/lint/dead-code/multiple-dead-codes-in-the-same-struct.rs
deleted file mode 100644
index 2003e1e29..000000000
--- a/src/test/ui/lint/dead-code/multiple-dead-codes-in-the-same-struct.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-#![warn(dead_code)]
-
-struct Bar {
- #[allow(dead_code)]
- a: usize,
- #[forbid(dead_code)]
- b: usize, //~ ERROR field `b` is never read
- #[deny(dead_code)]
- c: usize, //~ ERROR fields `c` and `e` are never read
- d: usize, //~ WARN fields `d`, `f`, and `g` are never read
- #[deny(dead_code)]
- e: usize,
- f: usize,
- g: usize,
- _h: usize,
-}
-
-fn main() {
- Bar {
- a: 1,
- b: 1,
- c: 1,
- d: 1,
- e: 1,
- f: 1,
- g: 1,
- _h: 1,
- };
-}
diff --git a/src/test/ui/lint/dead-code/multiple-dead-codes-in-the-same-struct.stderr b/src/test/ui/lint/dead-code/multiple-dead-codes-in-the-same-struct.stderr
deleted file mode 100644
index 0e5c78a71..000000000
--- a/src/test/ui/lint/dead-code/multiple-dead-codes-in-the-same-struct.stderr
+++ /dev/null
@@ -1,55 +0,0 @@
-warning: fields `d`, `f`, and `g` are never read
- --> $DIR/multiple-dead-codes-in-the-same-struct.rs:10:5
- |
-LL | struct Bar {
- | --- fields in this struct
-...
-LL | d: usize,
- | ^
-...
-LL | f: usize,
- | ^
-LL | g: usize,
- | ^
- |
-note: the lint level is defined here
- --> $DIR/multiple-dead-codes-in-the-same-struct.rs:1:9
- |
-LL | #![warn(dead_code)]
- | ^^^^^^^^^
-
-error: fields `c` and `e` are never read
- --> $DIR/multiple-dead-codes-in-the-same-struct.rs:9:5
- |
-LL | struct Bar {
- | --- fields in this struct
-...
-LL | c: usize,
- | ^
-...
-LL | e: usize,
- | ^
- |
-note: the lint level is defined here
- --> $DIR/multiple-dead-codes-in-the-same-struct.rs:8:12
- |
-LL | #[deny(dead_code)]
- | ^^^^^^^^^
-
-error: field `b` is never read
- --> $DIR/multiple-dead-codes-in-the-same-struct.rs:7:5
- |
-LL | struct Bar {
- | --- field in this struct
-...
-LL | b: usize,
- | ^
- |
-note: the lint level is defined here
- --> $DIR/multiple-dead-codes-in-the-same-struct.rs:6:14
- |
-LL | #[forbid(dead_code)]
- | ^^^^^^^^^
-
-error: aborting due to 2 previous errors; 1 warning emitted
-
diff --git a/src/test/ui/lint/dead-code/newline-span.rs b/src/test/ui/lint/dead-code/newline-span.rs
deleted file mode 100644
index 209c3cd93..000000000
--- a/src/test/ui/lint/dead-code/newline-span.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-#![deny(dead_code)]
-
-fn unused() { //~ error: function `unused` is never used
- println!("blah");
-}
-
-fn unused2(var: i32) { //~ error: function `unused2` is never used
- println!("foo {}", var);
-}
-
-fn unused3( //~ error: function `unused3` is never used
- var: i32,
-) {
- println!("bar {}", var);
-}
-
-fn main() {
- println!("Hello world!");
-}
diff --git a/src/test/ui/lint/dead-code/newline-span.stderr b/src/test/ui/lint/dead-code/newline-span.stderr
deleted file mode 100644
index 4eeadccc8..000000000
--- a/src/test/ui/lint/dead-code/newline-span.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: function `unused` is never used
- --> $DIR/newline-span.rs:3:4
- |
-LL | fn unused() {
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/newline-span.rs:1:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: function `unused2` is never used
- --> $DIR/newline-span.rs:7:4
- |
-LL | fn unused2(var: i32) {
- | ^^^^^^^
-
-error: function `unused3` is never used
- --> $DIR/newline-span.rs:11:4
- |
-LL | fn unused3(
- | ^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/dead-code/self-assign.rs b/src/test/ui/lint/dead-code/self-assign.rs
deleted file mode 100644
index ea7ce98d8..000000000
--- a/src/test/ui/lint/dead-code/self-assign.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-// Test that dead code warnings are issued for superfluous assignments of
-// fields or variables to themselves (issue #75356).
-
-// ignore-test FIXME(81658, 83171)
-
-// check-pass
-#![allow(unused_assignments)]
-#![warn(dead_code)]
-
-fn main() {
- let mut x = 0;
- x = x;
- //~^ WARNING: useless assignment of variable of type `i32` to itself
-
- x = (x);
- //~^ WARNING: useless assignment of variable of type `i32` to itself
-
- x = {x};
- // block expressions don't count as self-assignments
-
-
- struct S<'a> { f: &'a str }
- let mut s = S { f: "abc" };
- s = s;
- //~^ WARNING: useless assignment of variable of type `S` to itself
-
- s.f = s.f;
- //~^ WARNING: useless assignment of field of type `&str` to itself
-
-
- struct N0 { x: Box<i32> }
- struct N1 { n: N0 }
- struct N2(N1);
- struct N3 { n: N2 };
- let mut n3 = N3 { n: N2(N1 { n: N0 { x: Box::new(42) } }) };
- n3.n.0.n.x = n3.n.0.n.x;
- //~^ WARNING: useless assignment of field of type `Box<i32>` to itself
-
- let mut t = (1, ((2, 3, (4, 5)),));
- t.1.0.2.1 = t.1.0.2.1;
- //~^ WARNING: useless assignment of field of type `i32` to itself
-
-
- let mut y = 0;
- macro_rules! assign_to_y {
- ($cur:expr) => {{
- y = $cur;
- }};
- }
- assign_to_y!(y);
- // self-assignments in macro expansions are not reported either
-}
diff --git a/src/test/ui/lint/dead-code/self-assign.stderr b/src/test/ui/lint/dead-code/self-assign.stderr
deleted file mode 100644
index bb79c0ec7..000000000
--- a/src/test/ui/lint/dead-code/self-assign.stderr
+++ /dev/null
@@ -1,44 +0,0 @@
-warning: useless assignment of variable of type `i32` to itself
- --> $DIR/self-assign.rs:10:5
- |
-LL | x = x;
- | ^^^^^
- |
-note: the lint level is defined here
- --> $DIR/self-assign.rs:6:9
- |
-LL | #![warn(dead_code)]
- | ^^^^^^^^^
-
-warning: useless assignment of variable of type `i32` to itself
- --> $DIR/self-assign.rs:13:5
- |
-LL | x = (x);
- | ^^^^^^^
-
-warning: useless assignment of variable of type `S` to itself
- --> $DIR/self-assign.rs:22:5
- |
-LL | s = s;
- | ^^^^^
-
-warning: useless assignment of field of type `&str` to itself
- --> $DIR/self-assign.rs:25:5
- |
-LL | s.f = s.f;
- | ^^^^^^^^^
-
-warning: useless assignment of field of type `Box<i32>` to itself
- --> $DIR/self-assign.rs:34:5
- |
-LL | n3.n.0.n.x = n3.n.0.n.x;
- | ^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: useless assignment of field of type `i32` to itself
- --> $DIR/self-assign.rs:38:5
- |
-LL | t.1.0.2.1 = t.1.0.2.1;
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: 6 warnings emitted
-
diff --git a/src/test/ui/lint/dead-code/trait-impl.rs b/src/test/ui/lint/dead-code/trait-impl.rs
deleted file mode 100644
index 92e389a93..000000000
--- a/src/test/ui/lint/dead-code/trait-impl.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// check-pass
-#![deny(dead_code)]
-
-enum Foo {
- Bar,
-}
-
-fn main() {
- let p = [0; 0];
- p.bar();
-}
-
-trait Bar {
- fn bar(&self) -> usize {
- 3
- }
-}
-
-impl Bar for [u32; Foo::Bar as usize] {}
diff --git a/src/test/ui/lint/dead-code/tuple-struct-field.rs b/src/test/ui/lint/dead-code/tuple-struct-field.rs
deleted file mode 100644
index 14fb30be9..000000000
--- a/src/test/ui/lint/dead-code/tuple-struct-field.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-#![deny(unused_tuple_struct_fields)]
-//~^ NOTE: the lint level is defined here
-
-use std::marker::PhantomData;
-
-const LEN: usize = 4;
-
-struct SingleUnused(i32, [u8; LEN], String);
-//~^ ERROR: field `1` is never read
-//~| NOTE: field in this struct
-//~| HELP: consider changing the field to be of unit type
-
-struct MultipleUnused(i32, f32, String, u8);
-//~^ ERROR: fields `0`, `1`, `2`, and `3` are never read
-//~| NOTE: fields in this struct
-//~| HELP: consider changing the fields to be of unit type
-
-struct GoodUnit(());
-
-struct GoodPhantom(PhantomData<i32>);
-
-struct Void;
-struct GoodVoid(Void);
-
-fn main() {
- let w = SingleUnused(42, [0, 1, 2, 3], "abc".to_string());
- let _ = w.0;
- let _ = w.2;
-
- let m = MultipleUnused(42, 3.14, "def".to_string(), 4u8);
-
- let gu = GoodUnit(());
- let gp = GoodPhantom(PhantomData);
- let gv = GoodVoid(Void);
-
- let _ = (gu, gp, gv, m);
-}
diff --git a/src/test/ui/lint/dead-code/tuple-struct-field.stderr b/src/test/ui/lint/dead-code/tuple-struct-field.stderr
deleted file mode 100644
index b8ad5cbe4..000000000
--- a/src/test/ui/lint/dead-code/tuple-struct-field.stderr
+++ /dev/null
@@ -1,33 +0,0 @@
-error: field `1` is never read
- --> $DIR/tuple-struct-field.rs:8:26
- |
-LL | struct SingleUnused(i32, [u8; LEN], String);
- | ------------ ^^^^^^^^^
- | |
- | field in this struct
- |
-note: the lint level is defined here
- --> $DIR/tuple-struct-field.rs:1:9
- |
-LL | #![deny(unused_tuple_struct_fields)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
- |
-LL | struct SingleUnused(i32, (), String);
- | ~~
-
-error: fields `0`, `1`, `2`, and `3` are never read
- --> $DIR/tuple-struct-field.rs:13:23
- |
-LL | struct MultipleUnused(i32, f32, String, u8);
- | -------------- ^^^ ^^^ ^^^^^^ ^^
- | |
- | fields in this struct
- |
-help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
- |
-LL | struct MultipleUnused((), (), (), ());
- | ~~ ~~ ~~ ~~
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/dead-code/type-alias.rs b/src/test/ui/lint/dead-code/type-alias.rs
deleted file mode 100644
index 35a7f125d..000000000
--- a/src/test/ui/lint/dead-code/type-alias.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-#![deny(dead_code)]
-
-type Used = u8;
-type Unused = u8; //~ ERROR type alias `Unused` is never used
-
-fn id(x: Used) -> Used { x }
-
-fn main() {
- id(0);
-}
diff --git a/src/test/ui/lint/dead-code/type-alias.stderr b/src/test/ui/lint/dead-code/type-alias.stderr
deleted file mode 100644
index 446447d97..000000000
--- a/src/test/ui/lint/dead-code/type-alias.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: type alias `Unused` is never used
- --> $DIR/type-alias.rs:4:6
- |
-LL | type Unused = u8;
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/type-alias.rs:1:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/dead-code/type-in-foreign.rs b/src/test/ui/lint/dead-code/type-in-foreign.rs
deleted file mode 100644
index b6c593f31..000000000
--- a/src/test/ui/lint/dead-code/type-in-foreign.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// Verify that we do not warn on types that are used by foreign functions.
-// check-pass
-#![deny(dead_code)]
-
-#[repr(C)]
-struct Type(u8);
-
-#[repr(C)]
-struct Param(u8);
-
-extern "C" {
- #[allow(dead_code)]
- fn hey(t: Param);
-
- #[allow(dead_code)]
- static much: Type;
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/dead-code/unused-enum.rs b/src/test/ui/lint/dead-code/unused-enum.rs
deleted file mode 100644
index 20df3e1de..000000000
--- a/src/test/ui/lint/dead-code/unused-enum.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-#![deny(unused)]
-
-struct F; //~ ERROR struct `F` is never constructed
-struct B; //~ ERROR struct `B` is never constructed
-
-enum E {
- //~^ ERROR enum `E` is never used
- Foo(F),
- Bar(B),
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/dead-code/unused-enum.stderr b/src/test/ui/lint/dead-code/unused-enum.stderr
deleted file mode 100644
index d2602dbb3..000000000
--- a/src/test/ui/lint/dead-code/unused-enum.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error: struct `F` is never constructed
- --> $DIR/unused-enum.rs:3:8
- |
-LL | struct F;
- | ^
- |
-note: the lint level is defined here
- --> $DIR/unused-enum.rs:1:9
- |
-LL | #![deny(unused)]
- | ^^^^^^
- = note: `#[deny(dead_code)]` implied by `#[deny(unused)]`
-
-error: struct `B` is never constructed
- --> $DIR/unused-enum.rs:4:8
- |
-LL | struct B;
- | ^
-
-error: enum `E` is never used
- --> $DIR/unused-enum.rs:6:6
- |
-LL | enum E {
- | ^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/dead-code/unused-struct-variant.rs b/src/test/ui/lint/dead-code/unused-struct-variant.rs
deleted file mode 100644
index a914e0c33..000000000
--- a/src/test/ui/lint/dead-code/unused-struct-variant.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![deny(unused)]
-
-struct F;
-struct B;
-
-enum E {
- Foo(F),
- Bar(B), //~ ERROR variant `Bar` is never constructed
-}
-
-fn main() {
- let _ = E::Foo(F);
-}
diff --git a/src/test/ui/lint/dead-code/unused-struct-variant.stderr b/src/test/ui/lint/dead-code/unused-struct-variant.stderr
deleted file mode 100644
index d26dd3aff..000000000
--- a/src/test/ui/lint/dead-code/unused-struct-variant.stderr
+++ /dev/null
@@ -1,18 +0,0 @@
-error: variant `Bar` is never constructed
- --> $DIR/unused-struct-variant.rs:8:5
- |
-LL | enum E {
- | - variant in this enum
-LL | Foo(F),
-LL | Bar(B),
- | ^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-struct-variant.rs:1:9
- |
-LL | #![deny(unused)]
- | ^^^^^^
- = note: `#[deny(dead_code)]` implied by `#[deny(unused)]`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/dead-code/unused-variant-pub.rs b/src/test/ui/lint/dead-code/unused-variant-pub.rs
deleted file mode 100644
index 3a9061340..000000000
--- a/src/test/ui/lint/dead-code/unused-variant-pub.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// build-pass
-#![deny(unused)]
-
-pub struct F;
-pub struct B;
-
-pub enum E {
- Foo(F),
- Bar(B),
-}
-
-fn main() {
- let _ = E::Foo(F);
-}
diff --git a/src/test/ui/lint/dead-code/unused-variant.rs b/src/test/ui/lint/dead-code/unused-variant.rs
deleted file mode 100644
index 82108fa9c..000000000
--- a/src/test/ui/lint/dead-code/unused-variant.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-#![deny(dead_code)]
-
-#[derive(Clone)]
-enum Enum {
- Variant1, //~ ERROR: variant `Variant1` is never constructed
- Variant2,
-}
-
-fn main() {
- let e = Enum::Variant2;
- e.clone();
-}
diff --git a/src/test/ui/lint/dead-code/unused-variant.stderr b/src/test/ui/lint/dead-code/unused-variant.stderr
deleted file mode 100644
index 6029bf268..000000000
--- a/src/test/ui/lint/dead-code/unused-variant.stderr
+++ /dev/null
@@ -1,17 +0,0 @@
-error: variant `Variant1` is never constructed
- --> $DIR/unused-variant.rs:5:5
- |
-LL | enum Enum {
- | ---- variant in this enum
-LL | Variant1,
- | ^^^^^^^^
- |
- = note: `Enum` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
-note: the lint level is defined here
- --> $DIR/unused-variant.rs:1:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/dead-code/with-core-crate.rs b/src/test/ui/lint/dead-code/with-core-crate.rs
deleted file mode 100644
index 0a94b528f..000000000
--- a/src/test/ui/lint/dead-code/with-core-crate.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-#![deny(dead_code)]
-#![allow(unreachable_code)]
-
-#[macro_use]
-extern crate core;
-
-fn foo() { //~ ERROR function `foo` is never used
-
- // none of these should have any dead_code exposed to the user
- panic!();
-
- panic!("foo");
-
- panic!("bar {}", "baz")
-}
-
-
-fn main() {}
diff --git a/src/test/ui/lint/dead-code/with-core-crate.stderr b/src/test/ui/lint/dead-code/with-core-crate.stderr
deleted file mode 100644
index 7adcf8848..000000000
--- a/src/test/ui/lint/dead-code/with-core-crate.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: function `foo` is never used
- --> $DIR/with-core-crate.rs:7:4
- |
-LL | fn foo() {
- | ^^^
- |
-note: the lint level is defined here
- --> $DIR/with-core-crate.rs:1:9
- |
-LL | #![deny(dead_code)]
- | ^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/dead-code/with-impl.rs b/src/test/ui/lint/dead-code/with-impl.rs
deleted file mode 100644
index 812fcdd09..000000000
--- a/src/test/ui/lint/dead-code/with-impl.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// run-pass
-
-#![deny(dead_code)]
-
-pub struct GenericFoo<T>(#[allow(unused_tuple_struct_fields)] T);
-
-type Foo = GenericFoo<u32>;
-
-impl Foo {
- fn bar(self) -> u8 {
- 0
- }
-}
-
-fn main() {
- println!("{}", GenericFoo(0).bar());
-}
diff --git a/src/test/ui/lint/deny-overflowing-literals.rs b/src/test/ui/lint/deny-overflowing-literals.rs
deleted file mode 100644
index 21c8ba7d6..000000000
--- a/src/test/ui/lint/deny-overflowing-literals.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-fn main() {
- let x: u8 = 256;
- //~^ error: literal out of range for `u8`
-
- for _ in 0..256u8 {}
- //~^ error: range endpoint is out of range for `u8`
-}
diff --git a/src/test/ui/lint/deny-overflowing-literals.stderr b/src/test/ui/lint/deny-overflowing-literals.stderr
deleted file mode 100644
index beb0ad795..000000000
--- a/src/test/ui/lint/deny-overflowing-literals.stderr
+++ /dev/null
@@ -1,17 +0,0 @@
-error: literal out of range for `u8`
- --> $DIR/deny-overflowing-literals.rs:2:17
- |
-LL | let x: u8 = 256;
- | ^^^
- |
- = note: the literal `256` does not fit into the type `u8` whose range is `0..=255`
- = note: `#[deny(overflowing_literals)]` on by default
-
-error: range endpoint is out of range for `u8`
- --> $DIR/deny-overflowing-literals.rs:5:14
- |
-LL | for _ in 0..256u8 {}
- | ^^^^^^^^ help: use an inclusive range instead: `0..=255u8`
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/empty-lint-attributes.rs b/src/test/ui/lint/empty-lint-attributes.rs
deleted file mode 100644
index 9a0ec2533..000000000
--- a/src/test/ui/lint/empty-lint-attributes.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![feature(lint_reasons)]
-
-// check-pass
-
-// Empty (and reason-only) lint attributes are legal—although we may want to
-// lint them in the future (Issue #55112).
-
-#![allow()]
-#![warn(reason = "observationalism")]
-
-#[forbid()]
-fn devoir() {}
-
-#[deny(reason = "ultion")]
-fn waldgrave() {}
-
-fn main() {}
diff --git a/src/test/ui/lint/enable-unstable-lib-feature.rs b/src/test/ui/lint/enable-unstable-lib-feature.rs
deleted file mode 100644
index aa6a973d7..000000000
--- a/src/test/ui/lint/enable-unstable-lib-feature.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// Test that enabling an unstable feature disables warnings
-
-// aux-build:stability-cfg2.rs
-
-#![feature(unstable_test_feature)]
-#![deny(non_snake_case)] // To trigger a hard error
-
-// Shouldn't generate a warning about unstable features
-extern crate stability_cfg2;
-
-pub fn BOGUS() { } //~ ERROR
-
-pub fn main() { }
diff --git a/src/test/ui/lint/enable-unstable-lib-feature.stderr b/src/test/ui/lint/enable-unstable-lib-feature.stderr
deleted file mode 100644
index bb4e928ad..000000000
--- a/src/test/ui/lint/enable-unstable-lib-feature.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: function `BOGUS` should have a snake case name
- --> $DIR/enable-unstable-lib-feature.rs:11:8
- |
-LL | pub fn BOGUS() { }
- | ^^^^^ help: convert the identifier to snake case: `bogus`
- |
-note: the lint level is defined here
- --> $DIR/enable-unstable-lib-feature.rs:6:9
- |
-LL | #![deny(non_snake_case)] // To trigger a hard error
- | ^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/expansion-time-include.rs b/src/test/ui/lint/expansion-time-include.rs
deleted file mode 100644
index 4ea89d5ad..000000000
--- a/src/test/ui/lint/expansion-time-include.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-// ignore-test auxiliary file for expansion-time.rs
-
-1
-2
diff --git a/src/test/ui/lint/expansion-time.rs b/src/test/ui/lint/expansion-time.rs
deleted file mode 100644
index f23c7cb0d..000000000
--- a/src/test/ui/lint/expansion-time.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-// check-pass
-
-#[warn(meta_variable_misuse)]
-macro_rules! foo {
- ( $($i:ident)* ) => { $($i)+ }; //~ WARN meta-variable repeats with different Kleene operator
-}
-
-#[warn(missing_fragment_specifier)]
-macro_rules! m { ($i) => {} } //~ WARN missing fragment specifier
- //~| WARN this was previously accepted
-
-#[warn(soft_unstable)]
-mod benches {
- #[bench] //~ WARN use of unstable library feature 'test'
- //~| WARN this was previously accepted
- fn foo() {}
-}
-
-#[deprecated = "reason"]
-macro_rules! deprecated {
- () => {}
-}
-
-#[allow(deprecated)]
-mod deprecated {
- deprecated!(); // No warning
-}
-
-#[warn(incomplete_include)]
-fn main() {
- // WARN see in the stderr file, the warning points to the included file.
- include!("expansion-time-include.rs");
-}
diff --git a/src/test/ui/lint/expansion-time.stderr b/src/test/ui/lint/expansion-time.stderr
deleted file mode 100644
index 064ee5fad..000000000
--- a/src/test/ui/lint/expansion-time.stderr
+++ /dev/null
@@ -1,56 +0,0 @@
-warning: meta-variable repeats with different Kleene operator
- --> $DIR/expansion-time.rs:5:29
- |
-LL | ( $($i:ident)* ) => { $($i)+ };
- | - ^^ - conflicting repetition
- | |
- | expected repetition
- |
-note: the lint level is defined here
- --> $DIR/expansion-time.rs:3:8
- |
-LL | #[warn(meta_variable_misuse)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-warning: missing fragment specifier
- --> $DIR/expansion-time.rs:9:19
- |
-LL | macro_rules! m { ($i) => {} }
- | ^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #40107 <https://github.com/rust-lang/rust/issues/40107>
-note: the lint level is defined here
- --> $DIR/expansion-time.rs:8:8
- |
-LL | #[warn(missing_fragment_specifier)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of unstable library feature 'test': `bench` is a part of custom test frameworks which are unstable
- --> $DIR/expansion-time.rs:14:7
- |
-LL | #[bench]
- | ^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #64266 <https://github.com/rust-lang/rust/issues/64266>
-note: the lint level is defined here
- --> $DIR/expansion-time.rs:12:8
- |
-LL | #[warn(soft_unstable)]
- | ^^^^^^^^^^^^^
-
-warning: include macro expected single expression in source
- --> $DIR/expansion-time-include.rs:4:1
- |
-LL | 2
- | ^
- |
-note: the lint level is defined here
- --> $DIR/expansion-time.rs:29:8
- |
-LL | #[warn(incomplete_include)]
- | ^^^^^^^^^^^^^^^^^^
-
-warning: 4 warnings emitted
-
diff --git a/src/test/ui/lint/expr_attr_paren_order.rs b/src/test/ui/lint/expr_attr_paren_order.rs
deleted file mode 100644
index e1ec2e951..000000000
--- a/src/test/ui/lint/expr_attr_paren_order.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-#![feature(stmt_expr_attributes)]
-
-fn main() {
-
- // Test that attributes on parens get concatenated
- // in the expected order in the hir folder.
-
- #[deny(non_snake_case)] #[allow(non_snake_case)] (
- {
- let X = 0;
- let _ = X;
- }
- );
-
- #[allow(non_snake_case)] #[deny(non_snake_case)] (
- {
- let X = 0; //~ ERROR snake case name
- let _ = X;
- }
- );
-
-}
diff --git a/src/test/ui/lint/expr_attr_paren_order.stderr b/src/test/ui/lint/expr_attr_paren_order.stderr
deleted file mode 100644
index 42beed10c..000000000
--- a/src/test/ui/lint/expr_attr_paren_order.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: variable `X` should have a snake case name
- --> $DIR/expr_attr_paren_order.rs:17:17
- |
-LL | let X = 0;
- | ^ help: convert the identifier to snake case (notice the capitalization): `x`
- |
-note: the lint level is defined here
- --> $DIR/expr_attr_paren_order.rs:15:37
- |
-LL | #[allow(non_snake_case)] #[deny(non_snake_case)] (
- | ^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/fn_must_use.rs b/src/test/ui/lint/fn_must_use.rs
deleted file mode 100644
index b4e9da0fc..000000000
--- a/src/test/ui/lint/fn_must_use.rs
+++ /dev/null
@@ -1,76 +0,0 @@
-// check-pass
-
-#![warn(unused_must_use)]
-
-#[derive(PartialEq, Eq)]
-struct MyStruct {
- n: usize,
-}
-
-impl MyStruct {
- #[must_use]
- fn need_to_use_this_method_value(&self) -> usize {
- self.n
- }
-
- #[must_use]
- fn need_to_use_this_associated_function_value() -> isize {
- -1
- }
-}
-
-trait EvenNature {
- #[must_use = "no side effects"]
- fn is_even(&self) -> bool;
-}
-
-impl EvenNature for MyStruct {
- fn is_even(&self) -> bool {
- self.n % 2 == 0
- }
-}
-
-trait Replaceable {
- fn replace(&mut self, substitute: usize) -> usize;
-}
-
-impl Replaceable for MyStruct {
- // ↓ N.b.: `#[must_use]` attribute on a particular trait implementation
- // method won't work; the attribute should be on the method signature in
- // the trait's definition.
- #[must_use]
- fn replace(&mut self, substitute: usize) -> usize {
- let previously = self.n;
- self.n = substitute;
- previously
- }
-}
-
-#[must_use = "it's important"]
-fn need_to_use_this_value() -> bool {
- false
-}
-
-fn main() {
- need_to_use_this_value(); //~ WARN unused return value
-
- let mut m = MyStruct { n: 2 };
- let n = MyStruct { n: 3 };
-
- m.need_to_use_this_method_value(); //~ WARN unused return value
- m.is_even(); // trait method!
- //~^ WARN unused return value
-
- MyStruct::need_to_use_this_associated_function_value();
- //~^ WARN unused return value
-
- m.replace(3); // won't warn (annotation needs to be in trait definition)
-
- // comparison methods are `must_use`
- 2.eq(&3); //~ WARN unused return value
- m.eq(&n); //~ WARN unused return value
-
- // lint includes comparison operators
- 2 == 3; //~ WARN unused comparison
- m == n; //~ WARN unused comparison
-}
diff --git a/src/test/ui/lint/fn_must_use.stderr b/src/test/ui/lint/fn_must_use.stderr
deleted file mode 100644
index 657f23c60..000000000
--- a/src/test/ui/lint/fn_must_use.stderr
+++ /dev/null
@@ -1,69 +0,0 @@
-warning: unused return value of `need_to_use_this_value` that must be used
- --> $DIR/fn_must_use.rs:55:5
- |
-LL | need_to_use_this_value();
- | ^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: it's important
-note: the lint level is defined here
- --> $DIR/fn_must_use.rs:3:9
- |
-LL | #![warn(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-warning: unused return value of `MyStruct::need_to_use_this_method_value` that must be used
- --> $DIR/fn_must_use.rs:60:5
- |
-LL | m.need_to_use_this_method_value();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: unused return value of `EvenNature::is_even` that must be used
- --> $DIR/fn_must_use.rs:61:5
- |
-LL | m.is_even(); // trait method!
- | ^^^^^^^^^^^
- |
- = note: no side effects
-
-warning: unused return value of `MyStruct::need_to_use_this_associated_function_value` that must be used
- --> $DIR/fn_must_use.rs:64:5
- |
-LL | MyStruct::need_to_use_this_associated_function_value();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: unused return value of `std::cmp::PartialEq::eq` that must be used
- --> $DIR/fn_must_use.rs:70:5
- |
-LL | 2.eq(&3);
- | ^^^^^^^^
-
-warning: unused return value of `std::cmp::PartialEq::eq` that must be used
- --> $DIR/fn_must_use.rs:71:5
- |
-LL | m.eq(&n);
- | ^^^^^^^^
-
-warning: unused comparison that must be used
- --> $DIR/fn_must_use.rs:74:5
- |
-LL | 2 == 3;
- | ^^^^^^ the comparison produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = 2 == 3;
- | +++++++
-
-warning: unused comparison that must be used
- --> $DIR/fn_must_use.rs:75:5
- |
-LL | m == n;
- | ^^^^^^ the comparison produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = m == n;
- | +++++++
-
-warning: 8 warnings emitted
-
diff --git a/src/test/ui/lint/for_loop_over_fallibles.rs b/src/test/ui/lint/for_loop_over_fallibles.rs
deleted file mode 100644
index 43d71c2e8..000000000
--- a/src/test/ui/lint/for_loop_over_fallibles.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-// check-pass
-
-fn main() {
- // Common
- for _ in Some(1) {}
- //~^ WARN for loop over an `Option`. This is more readably written as an `if let` statement
- //~| HELP to check pattern in a loop use `while let`
- //~| HELP consider using `if let` to clear intent
- for _ in Ok::<_, ()>(1) {}
- //~^ WARN for loop over a `Result`. This is more readably written as an `if let` statement
- //~| HELP to check pattern in a loop use `while let`
- //~| HELP consider using `if let` to clear intent
-
- // `Iterator::next` specific
- for _ in [0; 0].iter().next() {}
- //~^ WARN for loop over an `Option`. This is more readably written as an `if let` statement
- //~| HELP to iterate over `[0; 0].iter()` remove the call to `next`
- //~| HELP consider using `if let` to clear intent
-
- // `Result<impl Iterator, _>`, but function doesn't return `Result`
- for _ in Ok::<_, ()>([0; 0].iter()) {}
- //~^ WARN for loop over a `Result`. This is more readably written as an `if let` statement
- //~| HELP to check pattern in a loop use `while let`
- //~| HELP consider using `if let` to clear intent
-}
-
-fn _returns_result() -> Result<(), ()> {
- // `Result<impl Iterator, _>`
- for _ in Ok::<_, ()>([0; 0].iter()) {}
- //~^ WARN for loop over a `Result`. This is more readably written as an `if let` statement
- //~| HELP to check pattern in a loop use `while let`
- //~| HELP consider unwrapping the `Result` with `?` to iterate over its contents
- //~| HELP consider using `if let` to clear intent
-
- // `Result<impl IntoIterator>`
- for _ in Ok::<_, ()>([0; 0]) {}
- //~^ WARN for loop over a `Result`. This is more readably written as an `if let` statement
- //~| HELP to check pattern in a loop use `while let`
- //~| HELP consider unwrapping the `Result` with `?` to iterate over its contents
- //~| HELP consider using `if let` to clear intent
-
- Ok(())
-}
diff --git a/src/test/ui/lint/for_loop_over_fallibles.stderr b/src/test/ui/lint/for_loop_over_fallibles.stderr
deleted file mode 100644
index 96efdf85c..000000000
--- a/src/test/ui/lint/for_loop_over_fallibles.stderr
+++ /dev/null
@@ -1,101 +0,0 @@
-warning: for loop over an `Option`. This is more readably written as an `if let` statement
- --> $DIR/for_loop_over_fallibles.rs:5:14
- |
-LL | for _ in Some(1) {}
- | ^^^^^^^
- |
- = note: `#[warn(for_loops_over_fallibles)]` on by default
-help: to check pattern in a loop use `while let`
- |
-LL | while let Some(_) = Some(1) {}
- | ~~~~~~~~~~~~~~~ ~~~
-help: consider using `if let` to clear intent
- |
-LL | if let Some(_) = Some(1) {}
- | ~~~~~~~~~~~~ ~~~
-
-warning: for loop over a `Result`. This is more readably written as an `if let` statement
- --> $DIR/for_loop_over_fallibles.rs:9:14
- |
-LL | for _ in Ok::<_, ()>(1) {}
- | ^^^^^^^^^^^^^^
- |
-help: to check pattern in a loop use `while let`
- |
-LL | while let Ok(_) = Ok::<_, ()>(1) {}
- | ~~~~~~~~~~~~~ ~~~
-help: consider using `if let` to clear intent
- |
-LL | if let Ok(_) = Ok::<_, ()>(1) {}
- | ~~~~~~~~~~ ~~~
-
-warning: for loop over an `Option`. This is more readably written as an `if let` statement
- --> $DIR/for_loop_over_fallibles.rs:15:14
- |
-LL | for _ in [0; 0].iter().next() {}
- | ^^^^^^^^^^^^^^^^^^^^
- |
-help: to iterate over `[0; 0].iter()` remove the call to `next`
- |
-LL | for _ in [0; 0].iter().by_ref() {}
- | ~~~~~~~~~
-help: consider using `if let` to clear intent
- |
-LL | if let Some(_) = [0; 0].iter().next() {}
- | ~~~~~~~~~~~~ ~~~
-
-warning: for loop over a `Result`. This is more readably written as an `if let` statement
- --> $DIR/for_loop_over_fallibles.rs:21:14
- |
-LL | for _ in Ok::<_, ()>([0; 0].iter()) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-help: to check pattern in a loop use `while let`
- |
-LL | while let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
- | ~~~~~~~~~~~~~ ~~~
-help: consider using `if let` to clear intent
- |
-LL | if let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
- | ~~~~~~~~~~ ~~~
-
-warning: for loop over a `Result`. This is more readably written as an `if let` statement
- --> $DIR/for_loop_over_fallibles.rs:29:14
- |
-LL | for _ in Ok::<_, ()>([0; 0].iter()) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-help: to check pattern in a loop use `while let`
- |
-LL | while let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
- | ~~~~~~~~~~~~~ ~~~
-help: consider unwrapping the `Result` with `?` to iterate over its contents
- |
-LL | for _ in Ok::<_, ()>([0; 0].iter())? {}
- | +
-help: consider using `if let` to clear intent
- |
-LL | if let Ok(_) = Ok::<_, ()>([0; 0].iter()) {}
- | ~~~~~~~~~~ ~~~
-
-warning: for loop over a `Result`. This is more readably written as an `if let` statement
- --> $DIR/for_loop_over_fallibles.rs:36:14
- |
-LL | for _ in Ok::<_, ()>([0; 0]) {}
- | ^^^^^^^^^^^^^^^^^^^
- |
-help: to check pattern in a loop use `while let`
- |
-LL | while let Ok(_) = Ok::<_, ()>([0; 0]) {}
- | ~~~~~~~~~~~~~ ~~~
-help: consider unwrapping the `Result` with `?` to iterate over its contents
- |
-LL | for _ in Ok::<_, ()>([0; 0])? {}
- | +
-help: consider using `if let` to clear intent
- |
-LL | if let Ok(_) = Ok::<_, ()>([0; 0]) {}
- | ~~~~~~~~~~ ~~~
-
-warning: 6 warnings emitted
-
diff --git a/src/test/ui/lint/forbid-error-capped.rs b/src/test/ui/lint/forbid-error-capped.rs
deleted file mode 100644
index b56471a75..000000000
--- a/src/test/ui/lint/forbid-error-capped.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// check-pass
-// compile-args: --cap-lints=warn -Fwarnings
-
-// This checks that the forbid attribute checking is ignored when the forbidden
-// lint is capped.
-
-#![forbid(warnings)]
-#![allow(unused)]
-
-#[allow(unused)]
-mod bar {
- fn bar() {}
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/forbid-group-group-1.rs b/src/test/ui/lint/forbid-group-group-1.rs
deleted file mode 100644
index 80f7db4e5..000000000
--- a/src/test/ui/lint/forbid-group-group-1.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// Check what happens when we forbid a smaller group but
-// then allow a superset of that group.
-
-#![forbid(nonstandard_style)]
-
-// FIXME: Arguably this should be an error, but the WARNINGS group is
-// treated in a very special (and rather ad-hoc) way and
-// it fails to trigger.
-#[allow(warnings)]
-fn main() {
- let A: ();
- //~^ ERROR should have a snake case name
-}
diff --git a/src/test/ui/lint/forbid-group-group-1.stderr b/src/test/ui/lint/forbid-group-group-1.stderr
deleted file mode 100644
index fd425e5f7..000000000
--- a/src/test/ui/lint/forbid-group-group-1.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: variable `A` should have a snake case name
- --> $DIR/forbid-group-group-1.rs:11:9
- |
-LL | let A: ();
- | ^ help: convert the identifier to snake case: `a`
- |
-note: the lint level is defined here
- --> $DIR/forbid-group-group-1.rs:4:11
- |
-LL | #![forbid(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^
- = note: `#[forbid(non_snake_case)]` implied by `#[forbid(nonstandard_style)]`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/forbid-group-group-2.rs b/src/test/ui/lint/forbid-group-group-2.rs
deleted file mode 100644
index b12fd72da..000000000
--- a/src/test/ui/lint/forbid-group-group-2.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-// Check what happens when we forbid a bigger group but
-// then deny a subset of that group.
-
-#![forbid(warnings)]
-#![deny(forbidden_lint_groups)]
-
-#[allow(nonstandard_style)]
-//~^ ERROR incompatible with previous
-//~| WARNING previously accepted by the compiler
-//~| ERROR incompatible with previous
-//~| WARNING previously accepted by the compiler
-//~| ERROR incompatible with previous
-//~| WARNING previously accepted by the compiler
-//~| ERROR incompatible with previous
-//~| WARNING previously accepted by the compiler
-//~| ERROR incompatible with previous
-//~| WARNING previously accepted by the compiler
-//~| ERROR incompatible with previous
-//~| WARNING previously accepted by the compiler
-//~| ERROR incompatible with previous
-//~| WARNING previously accepted by the compiler
-//~| ERROR incompatible with previous
-//~| WARNING previously accepted by the compiler
-//~| ERROR incompatible with previous
-//~| WARNING previously accepted by the compiler
-fn main() {}
diff --git a/src/test/ui/lint/forbid-group-group-2.stderr b/src/test/ui/lint/forbid-group-group-2.stderr
deleted file mode 100644
index b2e2bcea1..000000000
--- a/src/test/ui/lint/forbid-group-group-2.stderr
+++ /dev/null
@@ -1,115 +0,0 @@
-error: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/forbid-group-group-2.rs:7:9
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-note: the lint level is defined here
- --> $DIR/forbid-group-group-2.rs:5:9
- |
-LL | #![deny(forbidden_lint_groups)]
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/forbid-group-group-2.rs:7:9
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-error: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/forbid-group-group-2.rs:7:9
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-error: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/forbid-group-group-2.rs:7:9
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-error: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/forbid-group-group-2.rs:7:9
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-error: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/forbid-group-group-2.rs:7:9
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-error: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/forbid-group-group-2.rs:7:9
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-error: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/forbid-group-group-2.rs:7:9
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-error: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/forbid-group-group-2.rs:7:9
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-error: aborting due to 9 previous errors
-
diff --git a/src/test/ui/lint/forbid-group-member.rs b/src/test/ui/lint/forbid-group-member.rs
deleted file mode 100644
index 664edeaa8..000000000
--- a/src/test/ui/lint/forbid-group-member.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Check what happens when we forbid a group but
-// then allow a member of that group.
-//
-// check-pass
-
-#![forbid(unused)]
-
-#[allow(unused_variables)]
-//~^ WARNING incompatible with previous forbid
-//~| WARNING previously accepted
-//~| WARNING incompatible with previous forbid
-//~| WARNING previously accepted
-//~| WARNING incompatible with previous forbid
-//~| WARNING previously accepted
-fn main() {
- let a: ();
-}
diff --git a/src/test/ui/lint/forbid-group-member.stderr b/src/test/ui/lint/forbid-group-member.stderr
deleted file mode 100644
index 47336d4d8..000000000
--- a/src/test/ui/lint/forbid-group-member.stderr
+++ /dev/null
@@ -1,39 +0,0 @@
-warning: allow(unused_variables) incompatible with previous forbid
- --> $DIR/forbid-group-member.rs:8:9
- |
-LL | #![forbid(unused)]
- | ------ `forbid` level set here
-LL |
-LL | #[allow(unused_variables)]
- | ^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
- = note: `#[warn(forbidden_lint_groups)]` on by default
-
-warning: allow(unused_variables) incompatible with previous forbid
- --> $DIR/forbid-group-member.rs:8:9
- |
-LL | #![forbid(unused)]
- | ------ `forbid` level set here
-LL |
-LL | #[allow(unused_variables)]
- | ^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-warning: allow(unused_variables) incompatible with previous forbid
- --> $DIR/forbid-group-member.rs:8:9
- |
-LL | #![forbid(unused)]
- | ------ `forbid` level set here
-LL |
-LL | #[allow(unused_variables)]
- | ^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/forbid-member-group.rs b/src/test/ui/lint/forbid-member-group.rs
deleted file mode 100644
index e2f76825a..000000000
--- a/src/test/ui/lint/forbid-member-group.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// Check what happens when we forbid a member of
-// a group but then allow the group.
-
-#![forbid(unused_variables)]
-
-#[allow(unused)]
-//~^ ERROR incompatible with previous forbid
-//~| ERROR incompatible with previous forbid
-fn main() {
- let a: ();
-}
diff --git a/src/test/ui/lint/forbid-member-group.stderr b/src/test/ui/lint/forbid-member-group.stderr
deleted file mode 100644
index e65301778..000000000
--- a/src/test/ui/lint/forbid-member-group.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0453]: allow(unused) incompatible with previous forbid
- --> $DIR/forbid-member-group.rs:6:9
- |
-LL | #![forbid(unused_variables)]
- | ---------------- `forbid` level set here
-LL |
-LL | #[allow(unused)]
- | ^^^^^^ overruled by previous forbid
-
-error[E0453]: allow(unused) incompatible with previous forbid
- --> $DIR/forbid-member-group.rs:6:9
- |
-LL | #![forbid(unused_variables)]
- | ---------------- `forbid` level set here
-LL |
-LL | #[allow(unused)]
- | ^^^^^^ overruled by previous forbid
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0453`.
diff --git a/src/test/ui/lint/force-warn/allow-warnings.rs b/src/test/ui/lint/force-warn/allow-warnings.rs
deleted file mode 100644
index 0199381fc..000000000
--- a/src/test/ui/lint/force-warn/allow-warnings.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// --force-warn $LINT causes $LINT (which is warn-by-default) to warn
-// despite allowing all warnings in module
-// compile-flags: --force-warn dead_code
-// check-pass
-
-#![allow(warnings)]
-
-fn dead_function() {}
-//~^ WARN function `dead_function` is never used
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/allow-warnings.stderr b/src/test/ui/lint/force-warn/allow-warnings.stderr
deleted file mode 100644
index 4de68a079..000000000
--- a/src/test/ui/lint/force-warn/allow-warnings.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: function `dead_function` is never used
- --> $DIR/allow-warnings.rs:8:4
- |
-LL | fn dead_function() {}
- | ^^^^^^^^^^^^^
- |
- = note: requested on the command line with `--force-warn dead-code`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/force-warn/allowed-by-default-lint.rs b/src/test/ui/lint/force-warn/allowed-by-default-lint.rs
deleted file mode 100644
index b24ab822d..000000000
--- a/src/test/ui/lint/force-warn/allowed-by-default-lint.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// --force-warn $LINT causes $LINT (which is allow-by-default) to warn
-// compile-flags: --force-warn elided_lifetimes_in_paths
-// check-pass
-
-struct Foo<'a> {
- x: &'a u32,
-}
-
-fn foo(x: &Foo) {}
-//~^ WARN hidden lifetime parameters in types are deprecated
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/allowed-by-default-lint.stderr b/src/test/ui/lint/force-warn/allowed-by-default-lint.stderr
deleted file mode 100644
index ac98b5896..000000000
--- a/src/test/ui/lint/force-warn/allowed-by-default-lint.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-warning: hidden lifetime parameters in types are deprecated
- --> $DIR/allowed-by-default-lint.rs:9:12
- |
-LL | fn foo(x: &Foo) {}
- | ^^^ expected lifetime parameter
- |
- = note: requested on the command line with `--force-warn elided-lifetimes-in-paths`
-help: indicate the anonymous lifetime
- |
-LL | fn foo(x: &Foo<'_>) {}
- | ++++
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/force-warn/allowed-cli-deny-by-default-lint.rs b/src/test/ui/lint/force-warn/allowed-cli-deny-by-default-lint.rs
deleted file mode 100644
index 257df13ef..000000000
--- a/src/test/ui/lint/force-warn/allowed-cli-deny-by-default-lint.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// --force-warn $LINT causes $LINT (which is deny-by-default) to warn
-// despite $LINT being allowed on command line
-// compile-flags: -A mutable_transmutes --force-warn mutable_transmutes
-// check-pass
-
-fn main() {
- unsafe {
- let y = std::mem::transmute::<&i32, &mut i32>(&5); //~WARN: undefined behavior
- }
-}
diff --git a/src/test/ui/lint/force-warn/allowed-cli-deny-by-default-lint.stderr b/src/test/ui/lint/force-warn/allowed-cli-deny-by-default-lint.stderr
deleted file mode 100644
index 6a1fc76e1..000000000
--- a/src/test/ui/lint/force-warn/allowed-cli-deny-by-default-lint.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: transmuting &T to &mut T is undefined behavior, even if the reference is unused, consider instead using an UnsafeCell
- --> $DIR/allowed-cli-deny-by-default-lint.rs:8:17
- |
-LL | let y = std::mem::transmute::<&i32, &mut i32>(&5);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: requested on the command line with `--force-warn mutable-transmutes`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/force-warn/allowed-deny-by-default-lint.rs b/src/test/ui/lint/force-warn/allowed-deny-by-default-lint.rs
deleted file mode 100644
index 0d4b468c2..000000000
--- a/src/test/ui/lint/force-warn/allowed-deny-by-default-lint.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// --force-warn $LINT causes $LINT (which is deny-by-default) to warn
-// despite $LINT being allowed in module
-// compile-flags: --force-warn mutable_transmutes
-// check-pass
-
-#![allow(mutable_transmutes)]
-fn main() {
- unsafe {
- let y = std::mem::transmute::<&i32, &mut i32>(&5); //~WARN: undefined behavior
- }
-}
diff --git a/src/test/ui/lint/force-warn/allowed-deny-by-default-lint.stderr b/src/test/ui/lint/force-warn/allowed-deny-by-default-lint.stderr
deleted file mode 100644
index 9ef53d47e..000000000
--- a/src/test/ui/lint/force-warn/allowed-deny-by-default-lint.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: transmuting &T to &mut T is undefined behavior, even if the reference is unused, consider instead using an UnsafeCell
- --> $DIR/allowed-deny-by-default-lint.rs:9:17
- |
-LL | let y = std::mem::transmute::<&i32, &mut i32>(&5);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: requested on the command line with `--force-warn mutable-transmutes`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/force-warn/allowed-group-warn-by-default-lint.rs b/src/test/ui/lint/force-warn/allowed-group-warn-by-default-lint.rs
deleted file mode 100644
index 631a8cb2f..000000000
--- a/src/test/ui/lint/force-warn/allowed-group-warn-by-default-lint.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// --force-warn $LINT causes $LINT (which is warn-by-default) to warn
-// despite $LINT_GROUP (which contains $LINT) being allowed
-// compile-flags: --force-warn bare_trait_objects
-// check-pass
-
-#![allow(rust_2018_idioms)]
-
-pub trait SomeTrait {}
-
-pub fn function(_x: Box<SomeTrait>) {}
-//~^ WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/allowed-group-warn-by-default-lint.stderr b/src/test/ui/lint/force-warn/allowed-group-warn-by-default-lint.stderr
deleted file mode 100644
index 0f58953a5..000000000
--- a/src/test/ui/lint/force-warn/allowed-group-warn-by-default-lint.stderr
+++ /dev/null
@@ -1,42 +0,0 @@
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/allowed-group-warn-by-default-lint.rs:10:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
- = note: requested on the command line with `--force-warn bare-trait-objects`
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/allowed-group-warn-by-default-lint.rs:10:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/allowed-group-warn-by-default-lint.rs:10:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/force-warn/allowed-warn-by-default-lint.rs b/src/test/ui/lint/force-warn/allowed-warn-by-default-lint.rs
deleted file mode 100644
index 06b372867..000000000
--- a/src/test/ui/lint/force-warn/allowed-warn-by-default-lint.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// --force-warn $LINT causes $LINT (which is warn-by-default) to warn
-// despite $LINT being allowed in module
-// compile-flags: --force-warn dead_code
-// check-pass
-
-#![allow(dead_code)]
-
-fn dead_function() {}
-//~^ WARN function `dead_function` is never used
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/allowed-warn-by-default-lint.stderr b/src/test/ui/lint/force-warn/allowed-warn-by-default-lint.stderr
deleted file mode 100644
index a6634e212..000000000
--- a/src/test/ui/lint/force-warn/allowed-warn-by-default-lint.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: function `dead_function` is never used
- --> $DIR/allowed-warn-by-default-lint.rs:8:4
- |
-LL | fn dead_function() {}
- | ^^^^^^^^^^^^^
- |
- = note: requested on the command line with `--force-warn dead-code`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/force-warn/cap-lints-allow.rs b/src/test/ui/lint/force-warn/cap-lints-allow.rs
deleted file mode 100644
index fdba7f410..000000000
--- a/src/test/ui/lint/force-warn/cap-lints-allow.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// --force-warn $LINT casuses $LINT to warn despite --cap-lints
-// set to allow
-// compile-flags: --cap-lints allow --force-warn bare_trait_objects
-// check-pass
-
-pub trait SomeTrait {}
-
-pub fn function(_x: Box<SomeTrait>) {}
-//~^ WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/cap-lints-allow.stderr b/src/test/ui/lint/force-warn/cap-lints-allow.stderr
deleted file mode 100644
index 03a32fa6f..000000000
--- a/src/test/ui/lint/force-warn/cap-lints-allow.stderr
+++ /dev/null
@@ -1,42 +0,0 @@
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/cap-lints-allow.rs:8:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
- = note: requested on the command line with `--force-warn bare-trait-objects`
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/cap-lints-allow.rs:8:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/cap-lints-allow.rs:8:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.rs b/src/test/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.rs
deleted file mode 100644
index e65f156bf..000000000
--- a/src/test/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// --force-warn $LINT_GROUP causes $LINT to warn despite $LINT being
-// allowed in module and cap-lints set to warn
-// compile-flags: --cap-lints warn --force-warn rust-2021-compatibility
-// check-pass
-#![allow(ellipsis_inclusive_range_patterns)]
-
-pub fn f() -> bool {
- let x = 123;
- match x {
- 0...100 => true,
- //~^ WARN range patterns are deprecated
- //~| WARN this is accepted in the current edition
- _ => false,
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.stderr b/src/test/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.stderr
deleted file mode 100644
index d1b764b34..000000000
--- a/src/test/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-warning: `...` range patterns are deprecated
- --> $DIR/cap-lints-warn-allowed-warn-by-default-lint.rs:10:10
- |
-LL | 0...100 => true,
- | ^^^ help: use `..=` for an inclusive range
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
- = note: `--force-warn ellipsis-inclusive-range-patterns` implied by `--force-warn rust-2021-compatibility`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/force-warn/deny-by-default-lint.rs b/src/test/ui/lint/force-warn/deny-by-default-lint.rs
deleted file mode 100644
index c2e9377e9..000000000
--- a/src/test/ui/lint/force-warn/deny-by-default-lint.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// --force-warn $LINT causes $LINT (which is deny-by-default) to warn
-// compile-flags: --force-warn mutable_transmutes
-// check-pass
-
-fn main() {
- unsafe {
- let y = std::mem::transmute::<&i32, &mut i32>(&5); //~WARN: undefined behavior
- }
-}
diff --git a/src/test/ui/lint/force-warn/deny-by-default-lint.stderr b/src/test/ui/lint/force-warn/deny-by-default-lint.stderr
deleted file mode 100644
index c644d0fe7..000000000
--- a/src/test/ui/lint/force-warn/deny-by-default-lint.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: transmuting &T to &mut T is undefined behavior, even if the reference is unused, consider instead using an UnsafeCell
- --> $DIR/deny-by-default-lint.rs:7:17
- |
-LL | let y = std::mem::transmute::<&i32, &mut i32>(&5);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: requested on the command line with `--force-warn mutable-transmutes`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/force-warn/lint-group-allow-warnings.rs b/src/test/ui/lint/force-warn/lint-group-allow-warnings.rs
deleted file mode 100644
index 4b95f4d2d..000000000
--- a/src/test/ui/lint/force-warn/lint-group-allow-warnings.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// --force-warn $LINT_GROUP causes $LINT in $LINT_GROUP to warn
-// despite all warnings being allowed in module
-// warn-by-default lint to warn
-// compile-flags: --force-warn nonstandard_style
-// check-pass
-
-#![allow(warnings)]
-
-pub fn FUNCTION() {}
-//~^ WARN function `FUNCTION` should have a snake case name
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/lint-group-allow-warnings.stderr b/src/test/ui/lint/force-warn/lint-group-allow-warnings.stderr
deleted file mode 100644
index dc7b1b7b9..000000000
--- a/src/test/ui/lint/force-warn/lint-group-allow-warnings.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: function `FUNCTION` should have a snake case name
- --> $DIR/lint-group-allow-warnings.rs:9:8
- |
-LL | pub fn FUNCTION() {}
- | ^^^^^^^^ help: convert the identifier to snake case: `function`
- |
- = note: `--force-warn non-snake-case` implied by `--force-warn nonstandard-style`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.rs b/src/test/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.rs
deleted file mode 100644
index 7ad7462dd..000000000
--- a/src/test/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// --force-warn $LINT_GROUP causes $LINT (which is warn-by-default) to warn
-// despite $LINT being allowed on command line
-// compile-flags: -A bare-trait-objects --force-warn rust-2018-idioms
-// check-pass
-
-pub trait SomeTrait {}
-
-pub fn function(_x: Box<SomeTrait>) {}
-//~^ WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.stderr b/src/test/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.stderr
deleted file mode 100644
index e17630fd3..000000000
--- a/src/test/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.stderr
+++ /dev/null
@@ -1,42 +0,0 @@
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/lint-group-allowed-cli-warn-by-default-lint.rs:8:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
- = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2018-idioms`
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/lint-group-allowed-cli-warn-by-default-lint.rs:8:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/lint-group-allowed-cli-warn-by-default-lint.rs:8:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/force-warn/lint-group-allowed-lint-group.rs b/src/test/ui/lint/force-warn/lint-group-allowed-lint-group.rs
deleted file mode 100644
index ee5a18c38..000000000
--- a/src/test/ui/lint/force-warn/lint-group-allowed-lint-group.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// --force-warn $LINT_GROUP causes $LINT to warn despite
-// $LINT_GROUP being allowed in module
-// compile-flags: --force-warn rust_2018_idioms
-// check-pass
-
-#![allow(rust_2018_idioms)]
-
-pub trait SomeTrait {}
-
-pub fn function(_x: Box<SomeTrait>) {}
-//~^ WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/lint-group-allowed-lint-group.stderr b/src/test/ui/lint/force-warn/lint-group-allowed-lint-group.stderr
deleted file mode 100644
index 72198541a..000000000
--- a/src/test/ui/lint/force-warn/lint-group-allowed-lint-group.stderr
+++ /dev/null
@@ -1,42 +0,0 @@
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/lint-group-allowed-lint-group.rs:10:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
- = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2018-idioms`
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/lint-group-allowed-lint-group.rs:10:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/lint-group-allowed-lint-group.rs:10:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.rs b/src/test/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.rs
deleted file mode 100644
index 248aece6f..000000000
--- a/src/test/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// --force-warn $LINT_GROUP causes $LINT (which is warn-by-default) to warn
-// despite $LINT being allowed in module
-// compile-flags: --force-warn rust-2018-idioms
-// check-pass
-
-#![allow(bare_trait_objects)]
-
-pub trait SomeTrait {}
-
-pub fn function(_x: Box<SomeTrait>) {}
-//~^ WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-//~| WARN trait objects without an explicit `dyn` are deprecated
-//~| WARN this is accepted in the current edition
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.stderr b/src/test/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.stderr
deleted file mode 100644
index 52c870ac2..000000000
--- a/src/test/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.stderr
+++ /dev/null
@@ -1,42 +0,0 @@
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/lint-group-allowed-warn-by-default-lint.rs:10:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
- = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2018-idioms`
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/lint-group-allowed-warn-by-default-lint.rs:10:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: trait objects without an explicit `dyn` are deprecated
- --> $DIR/lint-group-allowed-warn-by-default-lint.rs:10:25
- |
-LL | pub fn function(_x: Box<SomeTrait>) {}
- | ^^^^^^^^^
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-help: use `dyn`
- |
-LL | pub fn function(_x: Box<dyn SomeTrait>) {}
- | +++
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/force-warn/warn-by-default-lint-two-modules.rs b/src/test/ui/lint/force-warn/warn-by-default-lint-two-modules.rs
deleted file mode 100644
index 47a480ad7..000000000
--- a/src/test/ui/lint/force-warn/warn-by-default-lint-two-modules.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// --force-warn $LINT causes $LINT (which is warn-by-default) to warn
-// despite being allowed in one submodule (but not the other)
-// compile-flags: --force-warn dead_code
-// check-pass
-
-mod one {
- #![allow(dead_code)]
-
- fn dead_function() {}
- //~^ WARN function `dead_function` is never used
-}
-
-mod two {
- fn dead_function() {}
- //~^ WARN function `dead_function` is never used
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/warn-by-default-lint-two-modules.stderr b/src/test/ui/lint/force-warn/warn-by-default-lint-two-modules.stderr
deleted file mode 100644
index 824bcccc0..000000000
--- a/src/test/ui/lint/force-warn/warn-by-default-lint-two-modules.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-warning: function `dead_function` is never used
- --> $DIR/warn-by-default-lint-two-modules.rs:9:8
- |
-LL | fn dead_function() {}
- | ^^^^^^^^^^^^^
- |
- = note: requested on the command line with `--force-warn dead-code`
-
-warning: function `dead_function` is never used
- --> $DIR/warn-by-default-lint-two-modules.rs:14:8
- |
-LL | fn dead_function() {}
- | ^^^^^^^^^^^^^
-
-warning: 2 warnings emitted
-
diff --git a/src/test/ui/lint/force-warn/warnings-lint-group.rs b/src/test/ui/lint/force-warn/warnings-lint-group.rs
deleted file mode 100644
index d1d4f5602..000000000
--- a/src/test/ui/lint/force-warn/warnings-lint-group.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-// --force-warn warnings is an error
-// compile-flags: --force-warn warnings
-// error-pattern: `warnings` lint group is not supported
-
-fn main() {}
diff --git a/src/test/ui/lint/force-warn/warnings-lint-group.stderr b/src/test/ui/lint/force-warn/warnings-lint-group.stderr
deleted file mode 100644
index 1faeed337..000000000
--- a/src/test/ui/lint/force-warn/warnings-lint-group.stderr
+++ /dev/null
@@ -1,7 +0,0 @@
-error[E0602]: `warnings` lint group is not supported with ´--force-warn´
-
-error[E0602]: `warnings` lint group is not supported with ´--force-warn´
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0602`.
diff --git a/src/test/ui/lint/function-item-references.rs b/src/test/ui/lint/function-item-references.rs
deleted file mode 100644
index 05213f4ed..000000000
--- a/src/test/ui/lint/function-item-references.rs
+++ /dev/null
@@ -1,169 +0,0 @@
-// check-pass
-#![feature(c_variadic)]
-#![warn(function_item_references)]
-use std::fmt::Pointer;
-use std::fmt::Formatter;
-
-fn nop() { }
-fn foo() -> u32 { 42 }
-fn bar(x: u32) -> u32 { x }
-fn baz(x: u32, y: u32) -> u32 { x + y }
-unsafe fn unsafe_fn() { }
-extern "C" fn c_fn() { }
-unsafe extern "C" fn unsafe_c_fn() { }
-unsafe extern fn variadic(_x: u32, _args: ...) { }
-fn take_generic_ref<'a, T>(_x: &'a T) { }
-fn take_generic_array<T, const N: usize>(_x: [T; N]) { }
-fn multiple_generic<T, U>(_x: T, _y: U) { }
-fn multiple_generic_arrays<T, U, const N: usize, const M: usize>(_x: [T; N], _y: [U; M]) { }
-
-//function references passed to these functions should never lint
-fn call_fn(f: &dyn Fn(u32) -> u32, x: u32) { f(x); }
-fn parameterized_call_fn<F: Fn(u32) -> u32>(f: &F, x: u32) { f(x); }
-
-//function references passed to these functions should lint
-fn print_ptr<F: Pointer>(f: F) { println!("{:p}", f); }
-fn bound_by_ptr_trait<F: Pointer>(_f: F) { }
-fn bound_by_ptr_trait_tuple<F: Pointer, G: Pointer>(_t: (F, G)) { }
-fn implicit_ptr_trait<F>(f: &F) { println!("{:p}", f); }
-
-//case found in tinyvec that triggered a compiler error in an earlier version of the lint checker
-trait HasItem {
- type Item;
- fn assoc_item(&self) -> Self::Item;
-}
-fn _format_assoc_item<T: HasItem>(data: T, f: &mut Formatter) -> std::fmt::Result
- where T::Item: Pointer {
- //when the arg type bound by `Pointer` is an associated type, we shouldn't attempt to normalize
- Pointer::fmt(&data.assoc_item(), f)
-}
-
-//simple test to make sure that calls to `Pointer::fmt` aren't double counted
-fn _call_pointer_fmt(f: &mut Formatter) -> std::fmt::Result {
- let zst_ref = &foo;
- Pointer::fmt(&zst_ref, f)
- //~^ WARNING taking a reference to a function item does not give a function pointer
-}
-
-fn main() {
- //`let` bindings with function references shouldn't lint
- let _ = &foo;
- let _ = &mut foo;
-
- let zst_ref = &foo;
- let fn_item = foo;
- let indirect_ref = &fn_item;
-
- let _mut_zst_ref = &mut foo;
- let mut mut_fn_item = foo;
- let _mut_indirect_ref = &mut mut_fn_item;
-
- let cast_zst_ptr = &foo as *const _;
- let coerced_zst_ptr: *const _ = &foo;
-
- let _mut_cast_zst_ptr = &mut foo as *mut _;
- let _mut_coerced_zst_ptr: *mut _ = &mut foo;
-
- let _cast_zst_ref = &foo as &dyn Fn() -> u32;
- let _coerced_zst_ref: &dyn Fn() -> u32 = &foo;
-
- let _mut_cast_zst_ref = &mut foo as &mut dyn Fn() -> u32;
- let _mut_coerced_zst_ref: &mut dyn Fn() -> u32 = &mut foo;
-
- //the suggested way to cast to a function pointer
- let fn_ptr = foo as fn() -> u32;
-
- //correct ways to print function pointers
- println!("{:p}", foo as fn() -> u32);
- println!("{:p}", fn_ptr);
-
- //potential ways to incorrectly try printing function pointers
- println!("{:p}", &foo);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- print!("{:p}", &foo);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- format!("{:p}", &foo);
- //~^ WARNING taking a reference to a function item does not give a function pointer
-
- println!("{:p}", &foo as *const _);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", zst_ref);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", cast_zst_ptr);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", coerced_zst_ptr);
- //~^ WARNING taking a reference to a function item does not give a function pointer
-
- println!("{:p}", &fn_item);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", indirect_ref);
- //~^ WARNING taking a reference to a function item does not give a function pointer
-
- println!("{:p}", &nop);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &bar);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &baz);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &unsafe_fn);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &c_fn);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &unsafe_c_fn);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &variadic);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &take_generic_ref::<u32>);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &take_generic_array::<u32, 4>);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &multiple_generic::<u32, f32>);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &multiple_generic_arrays::<u32, f32, 4, 8>);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- println!("{:p}", &std::env::var::<String>);
- //~^ WARNING taking a reference to a function item does not give a function pointer
-
- println!("{:p} {:p} {:p}", &nop, &foo, &bar);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- //~^^ WARNING taking a reference to a function item does not give a function pointer
- //~^^^ WARNING taking a reference to a function item does not give a function pointer
-
- //using a function reference to call a function shouldn't lint
- (&bar)(1);
-
- //passing a function reference to an arbitrary function shouldn't lint
- call_fn(&bar, 1);
- parameterized_call_fn(&bar, 1);
- std::mem::size_of_val(&foo);
-
- unsafe {
- //potential ways to incorrectly try transmuting function pointers
- std::mem::transmute::<_, usize>(&foo);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- std::mem::transmute::<_, (usize, usize)>((&foo, &bar));
- //~^ WARNING taking a reference to a function item does not give a function pointer
- //~^^ WARNING taking a reference to a function item does not give a function pointer
- std::mem::transmute::<_, usize>(&take_generic_ref::<u32>);
- //~^ WARNING taking a reference to a function item does not give a function pointer
-
- //the correct way to transmute function pointers
- std::mem::transmute::<_, usize>(foo as fn() -> u32);
- std::mem::transmute::<_, (usize, usize)>((foo as fn() -> u32, bar as fn(u32) -> u32));
- }
-
- //function references as arguments required to be bound by std::fmt::Pointer should lint
- print_ptr(&bar);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- bound_by_ptr_trait(&bar);
- //~^ WARNING taking a reference to a function item does not give a function pointer
- bound_by_ptr_trait_tuple((&foo, &bar));
- //~^ WARNING taking a reference to a function item does not give a function pointer
- //~^^ WARNING taking a reference to a function item does not give a function pointer
- implicit_ptr_trait(&bar); // ignore
-
- //correct ways to pass function pointers as arguments bound by std::fmt::Pointer
- print_ptr(bar as fn(u32) -> u32);
- bound_by_ptr_trait(bar as fn(u32) -> u32);
- bound_by_ptr_trait_tuple((foo as fn() -> u32, bar as fn(u32) -> u32));
-}
diff --git a/src/test/ui/lint/function-item-references.stderr b/src/test/ui/lint/function-item-references.stderr
deleted file mode 100644
index a9d18bb6a..000000000
--- a/src/test/ui/lint/function-item-references.stderr
+++ /dev/null
@@ -1,206 +0,0 @@
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:44:18
- |
-LL | Pointer::fmt(&zst_ref, f)
- | ^^^^^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
- |
-note: the lint level is defined here
- --> $DIR/function-item-references.rs:3:9
- |
-LL | #![warn(function_item_references)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:81:22
- |
-LL | println!("{:p}", &foo);
- | ^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:83:20
- |
-LL | print!("{:p}", &foo);
- | ^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:85:21
- |
-LL | format!("{:p}", &foo);
- | ^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:88:22
- |
-LL | println!("{:p}", &foo as *const _);
- | ^^^^^^^^^^^^^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:90:22
- |
-LL | println!("{:p}", zst_ref);
- | ^^^^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:92:22
- |
-LL | println!("{:p}", cast_zst_ptr);
- | ^^^^^^^^^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:94:22
- |
-LL | println!("{:p}", coerced_zst_ptr);
- | ^^^^^^^^^^^^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:97:22
- |
-LL | println!("{:p}", &fn_item);
- | ^^^^^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:99:22
- |
-LL | println!("{:p}", indirect_ref);
- | ^^^^^^^^^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:102:22
- |
-LL | println!("{:p}", &nop);
- | ^^^^ help: cast `nop` to obtain a function pointer: `nop as fn()`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:104:22
- |
-LL | println!("{:p}", &bar);
- | ^^^^ help: cast `bar` to obtain a function pointer: `bar as fn(_) -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:106:22
- |
-LL | println!("{:p}", &baz);
- | ^^^^ help: cast `baz` to obtain a function pointer: `baz as fn(_, _) -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:108:22
- |
-LL | println!("{:p}", &unsafe_fn);
- | ^^^^^^^^^^ help: cast `unsafe_fn` to obtain a function pointer: `unsafe_fn as unsafe fn()`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:110:22
- |
-LL | println!("{:p}", &c_fn);
- | ^^^^^ help: cast `c_fn` to obtain a function pointer: `c_fn as extern "C" fn()`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:112:22
- |
-LL | println!("{:p}", &unsafe_c_fn);
- | ^^^^^^^^^^^^ help: cast `unsafe_c_fn` to obtain a function pointer: `unsafe_c_fn as unsafe extern "C" fn()`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:114:22
- |
-LL | println!("{:p}", &variadic);
- | ^^^^^^^^^ help: cast `variadic` to obtain a function pointer: `variadic as unsafe extern "C" fn(_, ...)`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:116:22
- |
-LL | println!("{:p}", &take_generic_ref::<u32>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^ help: cast `take_generic_ref` to obtain a function pointer: `take_generic_ref::<u32> as fn(_)`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:118:22
- |
-LL | println!("{:p}", &take_generic_array::<u32, 4>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: cast `take_generic_array` to obtain a function pointer: `take_generic_array::<u32, 4> as fn(_)`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:120:22
- |
-LL | println!("{:p}", &multiple_generic::<u32, f32>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: cast `multiple_generic` to obtain a function pointer: `multiple_generic::<u32, f32> as fn(_, _)`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:122:22
- |
-LL | println!("{:p}", &multiple_generic_arrays::<u32, f32, 4, 8>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: cast `multiple_generic_arrays` to obtain a function pointer: `multiple_generic_arrays::<u32, f32, 4, 8> as fn(_, _)`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:124:22
- |
-LL | println!("{:p}", &std::env::var::<String>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^ help: cast `var` to obtain a function pointer: `var::<String> as fn(_) -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:127:32
- |
-LL | println!("{:p} {:p} {:p}", &nop, &foo, &bar);
- | ^^^^ help: cast `nop` to obtain a function pointer: `nop as fn()`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:127:38
- |
-LL | println!("{:p} {:p} {:p}", &nop, &foo, &bar);
- | ^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:127:44
- |
-LL | println!("{:p} {:p} {:p}", &nop, &foo, &bar);
- | ^^^^ help: cast `bar` to obtain a function pointer: `bar as fn(_) -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:142:41
- |
-LL | std::mem::transmute::<_, usize>(&foo);
- | ^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:144:50
- |
-LL | std::mem::transmute::<_, (usize, usize)>((&foo, &bar));
- | ^^^^^^^^^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:144:50
- |
-LL | std::mem::transmute::<_, (usize, usize)>((&foo, &bar));
- | ^^^^^^^^^^^^ help: cast `bar` to obtain a function pointer: `bar as fn(_) -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:147:41
- |
-LL | std::mem::transmute::<_, usize>(&take_generic_ref::<u32>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^ help: cast `take_generic_ref` to obtain a function pointer: `take_generic_ref::<u32> as fn(_)`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:156:15
- |
-LL | print_ptr(&bar);
- | ^^^^ help: cast `bar` to obtain a function pointer: `bar as fn(_) -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:158:24
- |
-LL | bound_by_ptr_trait(&bar);
- | ^^^^ help: cast `bar` to obtain a function pointer: `bar as fn(_) -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:160:30
- |
-LL | bound_by_ptr_trait_tuple((&foo, &bar));
- | ^^^^^^^^^^^^ help: cast `bar` to obtain a function pointer: `bar as fn(_) -> _`
-
-warning: taking a reference to a function item does not give a function pointer
- --> $DIR/function-item-references.rs:160:30
- |
-LL | bound_by_ptr_trait_tuple((&foo, &bar));
- | ^^^^^^^^^^^^ help: cast `foo` to obtain a function pointer: `foo as fn() -> _`
-
-warning: 33 warnings emitted
-
diff --git a/src/test/ui/lint/future-incompat-test.rs b/src/test/ui/lint/future-incompat-test.rs
deleted file mode 100644
index c5f477cc4..000000000
--- a/src/test/ui/lint/future-incompat-test.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// compile-flags: -Zfuture-incompat-test
-// check-pass
-
-// The `-Zfuture-incompat-test flag causes any normal warning to be included
-// in the future-incompatible report. The stderr output here should mention
-// the future incompatible report (as extracted by compiletest).
-
-fn main() {
- let x = 1;
-}
diff --git a/src/test/ui/lint/future-incompat-test.stderr b/src/test/ui/lint/future-incompat-test.stderr
deleted file mode 100644
index 52674a843..000000000
--- a/src/test/ui/lint/future-incompat-test.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-Future incompatibility report: Future breakage diagnostic:
-warning: unused variable: `x`
- --> $DIR/future-incompat-test.rs:9:9
- |
-LL | let x = 1;
- | ^ help: if this is intentional, prefix it with an underscore: `_x`
- |
- = note: `-A unused-variables` implied by `-A unused`
-
diff --git a/src/test/ui/lint/inclusive-range-pattern-syntax.fixed b/src/test/ui/lint/inclusive-range-pattern-syntax.fixed
deleted file mode 100644
index bee5d4ae4..000000000
--- a/src/test/ui/lint/inclusive-range-pattern-syntax.fixed
+++ /dev/null
@@ -1,21 +0,0 @@
-// check-pass
-// run-rustfix
-
-#![warn(ellipsis_inclusive_range_patterns)]
-
-fn main() {
- let despondency = 2;
- match despondency {
- 1..=2 => {}
- //~^ WARN `...` range patterns are deprecated
- //~| WARN this is accepted in the current edition
- _ => {}
- }
-
- match &despondency {
- &(1..=2) => {}
- //~^ WARN `...` range patterns are deprecated
- //~| WARN this is accepted in the current edition
- _ => {}
- }
-}
diff --git a/src/test/ui/lint/inclusive-range-pattern-syntax.rs b/src/test/ui/lint/inclusive-range-pattern-syntax.rs
deleted file mode 100644
index d98c10c26..000000000
--- a/src/test/ui/lint/inclusive-range-pattern-syntax.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// check-pass
-// run-rustfix
-
-#![warn(ellipsis_inclusive_range_patterns)]
-
-fn main() {
- let despondency = 2;
- match despondency {
- 1...2 => {}
- //~^ WARN `...` range patterns are deprecated
- //~| WARN this is accepted in the current edition
- _ => {}
- }
-
- match &despondency {
- &1...2 => {}
- //~^ WARN `...` range patterns are deprecated
- //~| WARN this is accepted in the current edition
- _ => {}
- }
-}
diff --git a/src/test/ui/lint/inclusive-range-pattern-syntax.stderr b/src/test/ui/lint/inclusive-range-pattern-syntax.stderr
deleted file mode 100644
index ed9fa0d41..000000000
--- a/src/test/ui/lint/inclusive-range-pattern-syntax.stderr
+++ /dev/null
@@ -1,25 +0,0 @@
-warning: `...` range patterns are deprecated
- --> $DIR/inclusive-range-pattern-syntax.rs:9:10
- |
-LL | 1...2 => {}
- | ^^^ help: use `..=` for an inclusive range
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-note: the lint level is defined here
- --> $DIR/inclusive-range-pattern-syntax.rs:4:9
- |
-LL | #![warn(ellipsis_inclusive_range_patterns)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: `...` range patterns are deprecated
- --> $DIR/inclusive-range-pattern-syntax.rs:16:9
- |
-LL | &1...2 => {}
- | ^^^^^^ help: use `..=` for an inclusive range: `&(1..=2)`
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-
-warning: 2 warnings emitted
-
diff --git a/src/test/ui/lint/inert-attr-macro.rs b/src/test/ui/lint/inert-attr-macro.rs
deleted file mode 100644
index dc0bb8ac2..000000000
--- a/src/test/ui/lint/inert-attr-macro.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// check-pass
-
-#![warn(unused)]
-
-macro_rules! foo {
- () => {}
-}
-
-fn main() {
- #[inline] foo!(); //~ WARN unused attribute `inline`
-
- // This does nothing, since `#[allow(warnings)]` is itself
- // an inert attribute on a macro call
- #[allow(warnings)] #[inline] foo!(); //~ WARN unused attribute `allow`
- //~^ WARN unused attribute `inline`
-
- // This does work, since the attribute is on a parent
- // of the macro invocation.
- #[allow(warnings)] { #[inline] foo!(); }
-}
diff --git a/src/test/ui/lint/inert-attr-macro.stderr b/src/test/ui/lint/inert-attr-macro.stderr
deleted file mode 100644
index 5ccb4ffe7..000000000
--- a/src/test/ui/lint/inert-attr-macro.stderr
+++ /dev/null
@@ -1,44 +0,0 @@
-warning: unused attribute `inline`
- --> $DIR/inert-attr-macro.rs:10:5
- |
-LL | #[inline] foo!();
- | ^^^^^^^^^
- |
-note: the built-in attribute `inline` will be ignored, since it's applied to the macro invocation `foo`
- --> $DIR/inert-attr-macro.rs:10:15
- |
-LL | #[inline] foo!();
- | ^^^
-note: the lint level is defined here
- --> $DIR/inert-attr-macro.rs:3:9
- |
-LL | #![warn(unused)]
- | ^^^^^^
- = note: `#[warn(unused_attributes)]` implied by `#[warn(unused)]`
-
-warning: unused attribute `allow`
- --> $DIR/inert-attr-macro.rs:14:5
- |
-LL | #[allow(warnings)] #[inline] foo!();
- | ^^^^^^^^^^^^^^^^^^
- |
-note: the built-in attribute `allow` will be ignored, since it's applied to the macro invocation `foo`
- --> $DIR/inert-attr-macro.rs:14:34
- |
-LL | #[allow(warnings)] #[inline] foo!();
- | ^^^
-
-warning: unused attribute `inline`
- --> $DIR/inert-attr-macro.rs:14:24
- |
-LL | #[allow(warnings)] #[inline] foo!();
- | ^^^^^^^^^
- |
-note: the built-in attribute `inline` will be ignored, since it's applied to the macro invocation `foo`
- --> $DIR/inert-attr-macro.rs:14:34
- |
-LL | #[allow(warnings)] #[inline] foo!();
- | ^^^
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/inline-trait-and-foreign-items.rs b/src/test/ui/lint/inline-trait-and-foreign-items.rs
deleted file mode 100644
index 13dab7ed9..000000000
--- a/src/test/ui/lint/inline-trait-and-foreign-items.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-#![feature(extern_types)]
-#![feature(type_alias_impl_trait)]
-
-#![warn(unused_attributes)]
-
-trait Trait {
- #[inline] //~ WARN `#[inline]` is ignored on constants
- //~^ WARN this was previously accepted
- const X: u32;
-
- #[inline] //~ ERROR attribute should be applied to function or closure
- type T;
-
- type U;
-}
-
-impl Trait for () {
- #[inline] //~ WARN `#[inline]` is ignored on constants
- //~^ WARN this was previously accepted
- const X: u32 = 0;
-
- #[inline] //~ ERROR attribute should be applied to function or closure
- type T = Self;
-
- #[inline] //~ ERROR attribute should be applied to function or closure
- type U = impl Trait; //~ ERROR unconstrained opaque type
-}
-
-extern "C" {
- #[inline] //~ ERROR attribute should be applied to function or closure
- static X: u32;
-
- #[inline] //~ ERROR attribute should be applied to function or closure
- type T;
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/inline-trait-and-foreign-items.stderr b/src/test/ui/lint/inline-trait-and-foreign-items.stderr
deleted file mode 100644
index 2f1fb4c46..000000000
--- a/src/test/ui/lint/inline-trait-and-foreign-items.stderr
+++ /dev/null
@@ -1,74 +0,0 @@
-warning: `#[inline]` is ignored on constants
- --> $DIR/inline-trait-and-foreign-items.rs:7:5
- |
-LL | #[inline]
- | ^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: see issue #65833 <https://github.com/rust-lang/rust/issues/65833> for more information
-note: the lint level is defined here
- --> $DIR/inline-trait-and-foreign-items.rs:4:9
- |
-LL | #![warn(unused_attributes)]
- | ^^^^^^^^^^^^^^^^^
-
-error[E0518]: attribute should be applied to function or closure
- --> $DIR/inline-trait-and-foreign-items.rs:11:5
- |
-LL | #[inline]
- | ^^^^^^^^^
-LL | type T;
- | ------- not a function or closure
-
-warning: `#[inline]` is ignored on constants
- --> $DIR/inline-trait-and-foreign-items.rs:18:5
- |
-LL | #[inline]
- | ^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: see issue #65833 <https://github.com/rust-lang/rust/issues/65833> for more information
-
-error[E0518]: attribute should be applied to function or closure
- --> $DIR/inline-trait-and-foreign-items.rs:22:5
- |
-LL | #[inline]
- | ^^^^^^^^^
-LL | type T = Self;
- | -------------- not a function or closure
-
-error[E0518]: attribute should be applied to function or closure
- --> $DIR/inline-trait-and-foreign-items.rs:25:5
- |
-LL | #[inline]
- | ^^^^^^^^^
-LL | type U = impl Trait;
- | -------------------- not a function or closure
-
-error[E0518]: attribute should be applied to function or closure
- --> $DIR/inline-trait-and-foreign-items.rs:30:5
- |
-LL | #[inline]
- | ^^^^^^^^^
-LL | static X: u32;
- | -------------- not a function or closure
-
-error[E0518]: attribute should be applied to function or closure
- --> $DIR/inline-trait-and-foreign-items.rs:33:5
- |
-LL | #[inline]
- | ^^^^^^^^^
-LL | type T;
- | ------- not a function or closure
-
-error: unconstrained opaque type
- --> $DIR/inline-trait-and-foreign-items.rs:26:14
- |
-LL | type U = impl Trait;
- | ^^^^^^^^^^
- |
- = note: `U` must be used in combination with a concrete type within the same impl
-
-error: aborting due to 6 previous errors; 2 warnings emitted
-
-For more information about this error, try `rustc --explain E0518`.
diff --git a/src/test/ui/lint/invalid_value.rs b/src/test/ui/lint/invalid_value.rs
deleted file mode 100644
index 57d8cbe7c..000000000
--- a/src/test/ui/lint/invalid_value.rs
+++ /dev/null
@@ -1,169 +0,0 @@
-// This test checks that calling `mem::{uninitialized,zeroed}` with certain types results
-// in a lint.
-
-#![feature(never_type, rustc_attrs)]
-#![allow(deprecated)]
-#![deny(invalid_value)]
-
-use std::mem::{self, MaybeUninit};
-use std::ptr::NonNull;
-use std::num::NonZeroU32;
-
-enum Void {}
-
-struct Ref(&'static i32);
-struct RefPair((&'static i32, i32));
-
-struct Wrap<T> { wrapped: T }
-enum WrapEnum<T> { Wrapped(T) }
-
-#[rustc_layout_scalar_valid_range_start(0)]
-#[rustc_layout_scalar_valid_range_end(128)]
-#[repr(transparent)]
-pub(crate) struct NonBig(u64);
-
-/// A two-variant enum, thus needs a tag and may not remain uninitialized.
-enum Fruit {
- Apple,
- Banana,
-}
-
-/// Looks like two variants but really only has one.
-enum OneFruit {
- Apple(!),
- Banana,
-}
-
-enum OneFruitNonZero {
- Apple(!),
- Banana(NonZeroU32),
-}
-
-enum TwoUninhabited {
- A(!),
- B(Void),
-}
-
-#[rustc_layout_scalar_valid_range_start(254)]
-#[rustc_layout_scalar_valid_range_end(1)]
-pub(crate) struct WrapAroundRange(u8);
-
-#[allow(unused)]
-fn generic<T: 'static>() {
- unsafe {
- let _val: &'static T = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: &'static T = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: Wrap<&'static T> = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: Wrap<&'static T> = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
- }
-}
-
-fn main() {
- unsafe {
- // Things that cannot even be zero.
- let _val: ! = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: ! = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: (i32, !) = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: (i32, !) = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: Void = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: Void = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: &'static i32 = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: &'static i32 = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: Ref = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: Ref = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: fn() = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: fn() = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: Wrap<fn()> = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: Wrap<fn()> = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: WrapEnum<fn()> = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: WrapEnum<fn()> = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: Wrap<(RefPair, i32)> = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: Wrap<(RefPair, i32)> = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: NonNull<i32> = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: NonNull<i32> = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: (NonZeroU32, i32) = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: (NonZeroU32, i32) = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: *const dyn Send = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: *const dyn Send = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: [fn(); 2] = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: [fn(); 2] = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: TwoUninhabited = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: TwoUninhabited = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: OneFruitNonZero = mem::zeroed(); //~ ERROR: does not permit zero-initialization
- let _val: OneFruitNonZero = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- // Things that can be zero, but not uninit.
- let _val: bool = mem::zeroed();
- let _val: bool = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: Wrap<char> = mem::zeroed();
- let _val: Wrap<char> = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: NonBig = mem::zeroed();
- let _val: NonBig = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: Fruit = mem::zeroed();
- let _val: Fruit = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: [bool; 2] = mem::zeroed();
- let _val: [bool; 2] = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: i32 = mem::zeroed();
- let _val: i32 = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: f32 = mem::zeroed();
- let _val: f32 = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: *const () = mem::zeroed();
- let _val: *const () = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: *const [()] = mem::zeroed();
- let _val: *const [()] = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- let _val: WrapAroundRange = mem::zeroed();
- let _val: WrapAroundRange = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- // Things where 0 is okay due to rustc implementation details,
- // but that are not guaranteed to keep working.
- let _val: Result<i32, i32> = mem::zeroed();
- let _val: Result<i32, i32> = mem::uninitialized(); //~ ERROR: does not permit being left uninitialized
-
- // Some things that happen to be UB-free due to rustc implementation details,
- // but are not guaranteed to keep working.
- let _val: OneFruit = mem::zeroed();
- let _val: OneFruit = mem::uninitialized();
-
- // Transmute-from-0
- let _val: &'static i32 = mem::transmute(0usize); //~ ERROR: does not permit zero-initialization
- let _val: &'static [i32] = mem::transmute((0usize, 0usize)); //~ ERROR: does not permit zero-initialization
- let _val: NonZeroU32 = mem::transmute(0); //~ ERROR: does not permit zero-initialization
-
- // `MaybeUninit` cases
- let _val: NonNull<i32> = MaybeUninit::zeroed().assume_init(); //~ ERROR: does not permit zero-initialization
- let _val: NonNull<i32> = MaybeUninit::uninit().assume_init(); //~ ERROR: does not permit being left uninitialized
- let _val: bool = MaybeUninit::uninit().assume_init(); //~ ERROR: does not permit being left uninitialized
-
- // Some more types that should work just fine.
- let _val: Option<&'static i32> = mem::zeroed();
- let _val: Option<fn()> = mem::zeroed();
- let _val: MaybeUninit<&'static i32> = mem::zeroed();
- let _val: bool = MaybeUninit::zeroed().assume_init();
- let _val: [bool; 0] = MaybeUninit::uninit().assume_init();
- let _val: [!; 0] = MaybeUninit::zeroed().assume_init();
- }
-}
diff --git a/src/test/ui/lint/invalid_value.stderr b/src/test/ui/lint/invalid_value.stderr
deleted file mode 100644
index 5370660d6..000000000
--- a/src/test/ui/lint/invalid_value.stderr
+++ /dev/null
@@ -1,679 +0,0 @@
-error: the type `&T` does not permit zero-initialization
- --> $DIR/invalid_value.rs:54:32
- |
-LL | let _val: &'static T = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: references must be non-null
-note: the lint level is defined here
- --> $DIR/invalid_value.rs:6:9
- |
-LL | #![deny(invalid_value)]
- | ^^^^^^^^^^^^^
-
-error: the type `&T` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:55:32
- |
-LL | let _val: &'static T = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: references must be non-null
-
-error: the type `Wrap<&T>` does not permit zero-initialization
- --> $DIR/invalid_value.rs:57:38
- |
-LL | let _val: Wrap<&'static T> = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `Wrap<&T>` must be non-null
-note: because references must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:17:18
- |
-LL | struct Wrap<T> { wrapped: T }
- | ^^^^^^^^^^
-
-error: the type `Wrap<&T>` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:58:38
- |
-LL | let _val: Wrap<&'static T> = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `Wrap<&T>` must be non-null
-note: because references must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:17:18
- |
-LL | struct Wrap<T> { wrapped: T }
- | ^^^^^^^^^^
-
-error: the type `!` does not permit zero-initialization
- --> $DIR/invalid_value.rs:65:23
- |
-LL | let _val: ! = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: the `!` type has no valid value
-
-error: the type `!` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:66:23
- |
-LL | let _val: ! = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: the `!` type has no valid value
-
-error: the type `(i32, !)` does not permit zero-initialization
- --> $DIR/invalid_value.rs:68:30
- |
-LL | let _val: (i32, !) = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: the `!` type has no valid value
-
-error: the type `(i32, !)` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:69:30
- |
-LL | let _val: (i32, !) = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: integers must be initialized
-
-error: the type `Void` does not permit zero-initialization
- --> $DIR/invalid_value.rs:71:26
- |
-LL | let _val: Void = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
-note: enums with no inhabited variants have no valid value
- --> $DIR/invalid_value.rs:12:1
- |
-LL | enum Void {}
- | ^^^^^^^^^
-
-error: the type `Void` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:72:26
- |
-LL | let _val: Void = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
-note: enums with no inhabited variants have no valid value
- --> $DIR/invalid_value.rs:12:1
- |
-LL | enum Void {}
- | ^^^^^^^^^
-
-error: the type `&i32` does not permit zero-initialization
- --> $DIR/invalid_value.rs:74:34
- |
-LL | let _val: &'static i32 = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: references must be non-null
-
-error: the type `&i32` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:75:34
- |
-LL | let _val: &'static i32 = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: references must be non-null
-
-error: the type `Ref` does not permit zero-initialization
- --> $DIR/invalid_value.rs:77:25
- |
-LL | let _val: Ref = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `Ref` must be non-null
-note: because references must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:14:12
- |
-LL | struct Ref(&'static i32);
- | ^^^^^^^^^^^^
-
-error: the type `Ref` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:78:25
- |
-LL | let _val: Ref = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `Ref` must be non-null
-note: because references must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:14:12
- |
-LL | struct Ref(&'static i32);
- | ^^^^^^^^^^^^
-
-error: the type `fn()` does not permit zero-initialization
- --> $DIR/invalid_value.rs:80:26
- |
-LL | let _val: fn() = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: function pointers must be non-null
-
-error: the type `fn()` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:81:26
- |
-LL | let _val: fn() = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: function pointers must be non-null
-
-error: the type `Wrap<fn()>` does not permit zero-initialization
- --> $DIR/invalid_value.rs:83:32
- |
-LL | let _val: Wrap<fn()> = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `Wrap<fn()>` must be non-null
-note: because function pointers must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:17:18
- |
-LL | struct Wrap<T> { wrapped: T }
- | ^^^^^^^^^^
-
-error: the type `Wrap<fn()>` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:84:32
- |
-LL | let _val: Wrap<fn()> = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `Wrap<fn()>` must be non-null
-note: because function pointers must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:17:18
- |
-LL | struct Wrap<T> { wrapped: T }
- | ^^^^^^^^^^
-
-error: the type `WrapEnum<fn()>` does not permit zero-initialization
- --> $DIR/invalid_value.rs:86:36
- |
-LL | let _val: WrapEnum<fn()> = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `WrapEnum<fn()>` must be non-null
-note: because function pointers must be non-null (in this field of the only potentially inhabited enum variant)
- --> $DIR/invalid_value.rs:18:28
- |
-LL | enum WrapEnum<T> { Wrapped(T) }
- | ^
-
-error: the type `WrapEnum<fn()>` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:87:36
- |
-LL | let _val: WrapEnum<fn()> = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `WrapEnum<fn()>` must be non-null
-note: because function pointers must be non-null (in this field of the only potentially inhabited enum variant)
- --> $DIR/invalid_value.rs:18:28
- |
-LL | enum WrapEnum<T> { Wrapped(T) }
- | ^
-
-error: the type `Wrap<(RefPair, i32)>` does not permit zero-initialization
- --> $DIR/invalid_value.rs:89:42
- |
-LL | let _val: Wrap<(RefPair, i32)> = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
-note: `RefPair` must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:17:18
- |
-LL | struct Wrap<T> { wrapped: T }
- | ^^^^^^^^^^
-note: because references must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:15:16
- |
-LL | struct RefPair((&'static i32, i32));
- | ^^^^^^^^^^^^^^^^^^^
-
-error: the type `Wrap<(RefPair, i32)>` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:90:42
- |
-LL | let _val: Wrap<(RefPair, i32)> = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
-note: `RefPair` must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:17:18
- |
-LL | struct Wrap<T> { wrapped: T }
- | ^^^^^^^^^^
-note: because references must be non-null (in this struct field)
- --> $DIR/invalid_value.rs:15:16
- |
-LL | struct RefPair((&'static i32, i32));
- | ^^^^^^^^^^^^^^^^^^^
-
-error: the type `NonNull<i32>` does not permit zero-initialization
- --> $DIR/invalid_value.rs:92:34
- |
-LL | let _val: NonNull<i32> = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `std::ptr::NonNull<i32>` must be non-null
-
-error: the type `NonNull<i32>` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:93:34
- |
-LL | let _val: NonNull<i32> = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `std::ptr::NonNull<i32>` must be non-null
- = note: raw pointers must be initialized
-
-error: the type `(NonZeroU32, i32)` does not permit zero-initialization
- --> $DIR/invalid_value.rs:95:39
- |
-LL | let _val: (NonZeroU32, i32) = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `std::num::NonZeroU32` must be non-null
-
-error: the type `(NonZeroU32, i32)` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:96:39
- |
-LL | let _val: (NonZeroU32, i32) = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `std::num::NonZeroU32` must be non-null
- = note: integers must be initialized
-
-error: the type `*const dyn Send` does not permit zero-initialization
- --> $DIR/invalid_value.rs:98:37
- |
-LL | let _val: *const dyn Send = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: the vtable of a wide raw pointer must be non-null
-
-error: the type `*const dyn Send` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:99:37
- |
-LL | let _val: *const dyn Send = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: the vtable of a wide raw pointer must be non-null
-
-error: the type `[fn(); 2]` does not permit zero-initialization
- --> $DIR/invalid_value.rs:101:31
- |
-LL | let _val: [fn(); 2] = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: function pointers must be non-null
-
-error: the type `[fn(); 2]` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:102:31
- |
-LL | let _val: [fn(); 2] = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: function pointers must be non-null
-
-error: the type `TwoUninhabited` does not permit zero-initialization
- --> $DIR/invalid_value.rs:104:36
- |
-LL | let _val: TwoUninhabited = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
-note: enums with no inhabited variants have no valid value
- --> $DIR/invalid_value.rs:42:1
- |
-LL | enum TwoUninhabited {
- | ^^^^^^^^^^^^^^^^^^^
-
-error: the type `TwoUninhabited` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:105:36
- |
-LL | let _val: TwoUninhabited = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
-note: enums with no inhabited variants have no valid value
- --> $DIR/invalid_value.rs:42:1
- |
-LL | enum TwoUninhabited {
- | ^^^^^^^^^^^^^^^^^^^
-
-error: the type `OneFruitNonZero` does not permit zero-initialization
- --> $DIR/invalid_value.rs:107:37
- |
-LL | let _val: OneFruitNonZero = mem::zeroed();
- | ^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `OneFruitNonZero` must be non-null
-note: because `std::num::NonZeroU32` must be non-null (in this field of the only potentially inhabited enum variant)
- --> $DIR/invalid_value.rs:39:12
- |
-LL | Banana(NonZeroU32),
- | ^^^^^^^^^^
-
-error: the type `OneFruitNonZero` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:108:37
- |
-LL | let _val: OneFruitNonZero = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `OneFruitNonZero` must be non-null
-note: because `std::num::NonZeroU32` must be non-null (in this field of the only potentially inhabited enum variant)
- --> $DIR/invalid_value.rs:39:12
- |
-LL | Banana(NonZeroU32),
- | ^^^^^^^^^^
- = note: integers must be initialized
-
-error: the type `bool` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:112:26
- |
-LL | let _val: bool = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: booleans must be either `true` or `false`
-
-error: the type `Wrap<char>` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:115:32
- |
-LL | let _val: Wrap<char> = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `Wrap<char>` must be initialized inside its custom valid range
-note: characters must be a valid Unicode codepoint (in this struct field)
- --> $DIR/invalid_value.rs:17:18
- |
-LL | struct Wrap<T> { wrapped: T }
- | ^^^^^^^^^^
-
-error: the type `NonBig` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:118:28
- |
-LL | let _val: NonBig = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `NonBig` must be initialized inside its custom valid range
-note: integers must be initialized (in this struct field)
- --> $DIR/invalid_value.rs:23:26
- |
-LL | pub(crate) struct NonBig(u64);
- | ^^^
-
-error: the type `Fruit` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:121:27
- |
-LL | let _val: Fruit = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
-note: enums with multiple inhabited variants have to be initialized to a variant
- --> $DIR/invalid_value.rs:26:1
- |
-LL | enum Fruit {
- | ^^^^^^^^^^
-
-error: the type `[bool; 2]` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:124:31
- |
-LL | let _val: [bool; 2] = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: booleans must be either `true` or `false`
-
-error: the type `i32` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:127:25
- |
-LL | let _val: i32 = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: integers must be initialized
-
-error: the type `f32` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:130:25
- |
-LL | let _val: f32 = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: floats must be initialized
-
-error: the type `*const ()` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:133:31
- |
-LL | let _val: *const () = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: raw pointers must be initialized
-
-error: the type `*const [()]` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:136:33
- |
-LL | let _val: *const [()] = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: raw pointers must be initialized
-
-error: the type `WrapAroundRange` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:139:37
- |
-LL | let _val: WrapAroundRange = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `WrapAroundRange` must be initialized inside its custom valid range
-note: integers must be initialized (in this struct field)
- --> $DIR/invalid_value.rs:49:35
- |
-LL | pub(crate) struct WrapAroundRange(u8);
- | ^^
-
-error: the type `Result<i32, i32>` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:144:38
- |
-LL | let _val: Result<i32, i32> = mem::uninitialized();
- | ^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
-note: enums with multiple inhabited variants have to be initialized to a variant
- --> $SRC_DIR/core/src/result.rs:LL:COL
- |
-LL | pub enum Result<T, E> {
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: the type `&i32` does not permit zero-initialization
- --> $DIR/invalid_value.rs:152:34
- |
-LL | let _val: &'static i32 = mem::transmute(0usize);
- | ^^^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: references must be non-null
-
-error: the type `&[i32]` does not permit zero-initialization
- --> $DIR/invalid_value.rs:153:36
- |
-LL | let _val: &'static [i32] = mem::transmute((0usize, 0usize));
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: references must be non-null
-
-error: the type `NonZeroU32` does not permit zero-initialization
- --> $DIR/invalid_value.rs:154:32
- |
-LL | let _val: NonZeroU32 = mem::transmute(0);
- | ^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `std::num::NonZeroU32` must be non-null
-
-error: the type `NonNull<i32>` does not permit zero-initialization
- --> $DIR/invalid_value.rs:157:34
- |
-LL | let _val: NonNull<i32> = MaybeUninit::zeroed().assume_init();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `std::ptr::NonNull<i32>` must be non-null
-
-error: the type `NonNull<i32>` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:158:34
- |
-LL | let _val: NonNull<i32> = MaybeUninit::uninit().assume_init();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: `std::ptr::NonNull<i32>` must be non-null
- = note: raw pointers must be initialized
-
-error: the type `bool` does not permit being left uninitialized
- --> $DIR/invalid_value.rs:159:26
- |
-LL | let _val: bool = MaybeUninit::uninit().assume_init();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- | |
- | this code causes undefined behavior when executed
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
- |
- = note: booleans must be either `true` or `false`
-
-error: aborting due to 51 previous errors
-
diff --git a/src/test/ui/lint/issue-101284.rs b/src/test/ui/lint/issue-101284.rs
deleted file mode 100644
index 1381d4f17..000000000
--- a/src/test/ui/lint/issue-101284.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// check-pass
-// edition:2021
-#![deny(rust_2021_compatibility)]
-
-pub struct Warns {
- // `Arc` has significant drop
- _significant_drop: std::sync::Arc<()>,
- field: String,
-}
-
-pub fn test(w: Warns) {
- _ = || drop(w.field);
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-102705.rs b/src/test/ui/lint/issue-102705.rs
deleted file mode 100644
index 5bcc8950a..000000000
--- a/src/test/ui/lint/issue-102705.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// check-pass
-
-#![allow(opaque_hidden_inferred_bound)]
-#![allow(dead_code)]
-
-trait Duh {}
-
-impl Duh for i32 {}
-
-trait Trait {
- type Assoc: Duh;
-}
-
-impl<R: Duh, F: FnMut() -> R> Trait for F {
- type Assoc = R;
-}
-
-fn foo() -> impl Trait<Assoc = impl Send> {
- || 42
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-103317.fixed b/src/test/ui/lint/issue-103317.fixed
deleted file mode 100644
index 5a987423e..000000000
--- a/src/test/ui/lint/issue-103317.fixed
+++ /dev/null
@@ -1,14 +0,0 @@
-// check-pass
-// run-rustfix
-
-#[warn(unreachable_pub)]
-mod inner {
- #[allow(unused)]
- pub(crate) enum T {
- //~^ WARN unreachable `pub` item
- A(u8),
- X { a: f32, b: () },
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-103317.rs b/src/test/ui/lint/issue-103317.rs
deleted file mode 100644
index c2ba939e1..000000000
--- a/src/test/ui/lint/issue-103317.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// check-pass
-// run-rustfix
-
-#[warn(unreachable_pub)]
-mod inner {
- #[allow(unused)]
- pub enum T {
- //~^ WARN unreachable `pub` item
- A(u8),
- X { a: f32, b: () },
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-103317.stderr b/src/test/ui/lint/issue-103317.stderr
deleted file mode 100644
index 9c982ddc3..000000000
--- a/src/test/ui/lint/issue-103317.stderr
+++ /dev/null
@@ -1,17 +0,0 @@
-warning: unreachable `pub` item
- --> $DIR/issue-103317.rs:7:5
- |
-LL | pub enum T {
- | ---^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-note: the lint level is defined here
- --> $DIR/issue-103317.rs:4:8
- |
-LL | #[warn(unreachable_pub)]
- | ^^^^^^^^^^^^^^^
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/issue-103435-extra-parentheses.fixed b/src/test/ui/lint/issue-103435-extra-parentheses.fixed
deleted file mode 100644
index 2b01b414b..000000000
--- a/src/test/ui/lint/issue-103435-extra-parentheses.fixed
+++ /dev/null
@@ -1,18 +0,0 @@
-// run-rustfix
-#![deny(unused_parens)]
-
-fn main() {
- if let Some(_) = Some(1) {}
- //~^ ERROR unnecessary parentheses around pattern
-
- for _x in 1..10 {}
- //~^ ERROR unnecessary parentheses around pattern
-
- if 2 == 1 {}
- //~^ ERROR unnecessary parentheses around `if` condition
-
- // reported by parser
- for _x in 1..10 {}
- //~^ ERROR expected one of
- //~| ERROR unexpected parentheses surrounding
-}
diff --git a/src/test/ui/lint/issue-103435-extra-parentheses.rs b/src/test/ui/lint/issue-103435-extra-parentheses.rs
deleted file mode 100644
index 8261610cf..000000000
--- a/src/test/ui/lint/issue-103435-extra-parentheses.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// run-rustfix
-#![deny(unused_parens)]
-
-fn main() {
- if let(Some(_))= Some(1) {}
- //~^ ERROR unnecessary parentheses around pattern
-
- for(_x)in 1..10 {}
- //~^ ERROR unnecessary parentheses around pattern
-
- if(2 == 1){}
- //~^ ERROR unnecessary parentheses around `if` condition
-
- // reported by parser
- for(_x in 1..10){}
- //~^ ERROR expected one of
- //~| ERROR unexpected parentheses surrounding
-}
diff --git a/src/test/ui/lint/issue-103435-extra-parentheses.stderr b/src/test/ui/lint/issue-103435-extra-parentheses.stderr
deleted file mode 100644
index 29c41c910..000000000
--- a/src/test/ui/lint/issue-103435-extra-parentheses.stderr
+++ /dev/null
@@ -1,61 +0,0 @@
-error: expected one of `)`, `,`, `@`, or `|`, found keyword `in`
- --> $DIR/issue-103435-extra-parentheses.rs:15:12
- |
-LL | for(_x in 1..10){}
- | ^^ expected one of `)`, `,`, `@`, or `|`
-
-error: unexpected parentheses surrounding `for` loop head
- --> $DIR/issue-103435-extra-parentheses.rs:15:8
- |
-LL | for(_x in 1..10){}
- | ^ ^
- |
-help: remove parentheses in `for` loop
- |
-LL - for(_x in 1..10){}
-LL + for _x in 1..10 {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-103435-extra-parentheses.rs:5:11
- |
-LL | if let(Some(_))= Some(1) {}
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/issue-103435-extra-parentheses.rs:2:9
- |
-LL | #![deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - if let(Some(_))= Some(1) {}
-LL + if let Some(_) = Some(1) {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-103435-extra-parentheses.rs:8:8
- |
-LL | for(_x)in 1..10 {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - for(_x)in 1..10 {}
-LL + for _x in 1..10 {}
- |
-
-error: unnecessary parentheses around `if` condition
- --> $DIR/issue-103435-extra-parentheses.rs:11:7
- |
-LL | if(2 == 1){}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if(2 == 1){}
-LL + if 2 == 1 {}
- |
-
-error: aborting due to 5 previous errors
-
diff --git a/src/test/ui/lint/issue-104392.rs b/src/test/ui/lint/issue-104392.rs
deleted file mode 100644
index d5608edb4..000000000
--- a/src/test/ui/lint/issue-104392.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-fn main() {
- { unsafe 92 } //~ ERROR expected `{`, found `92`
-}
-
-fn foo() {
- { mod 92 } //~ ERROR expected identifier, found `92`
-}
-
-fn bar() {
- { trait 92 } //~ ERROR expected identifier, found `92`
-}
diff --git a/src/test/ui/lint/issue-104392.stderr b/src/test/ui/lint/issue-104392.stderr
deleted file mode 100644
index 8e466439a..000000000
--- a/src/test/ui/lint/issue-104392.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error: expected `{`, found `92`
- --> $DIR/issue-104392.rs:2:14
- |
-LL | { unsafe 92 }
- | ------ ^^ expected `{`
- | |
- | while parsing this `unsafe` expression
- |
-help: try placing this code inside a block
- |
-LL | { unsafe { 92 } }
- | + +
-
-error: expected identifier, found `92`
- --> $DIR/issue-104392.rs:6:11
- |
-LL | { mod 92 }
- | ^^ expected identifier
-
-error: expected identifier, found `92`
- --> $DIR/issue-104392.rs:10:13
- |
-LL | { trait 92 }
- | ^^ expected identifier
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/issue-104897.rs b/src/test/ui/lint/issue-104897.rs
deleted file mode 100644
index 5fbc658f1..000000000
--- a/src/test/ui/lint/issue-104897.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// error-pattern: this file contains an unclosed delimiter
-// error-pattern: this file contains an unclosed delimiter
-// error-pattern: this file contains an unclosed delimiter
-// error-pattern: format argument must be a string literal
-
-fn f(){(print!(á
diff --git a/src/test/ui/lint/issue-104897.stderr b/src/test/ui/lint/issue-104897.stderr
deleted file mode 100644
index 817a93c2f..000000000
--- a/src/test/ui/lint/issue-104897.stderr
+++ /dev/null
@@ -1,43 +0,0 @@
-error: this file contains an unclosed delimiter
- --> $DIR/issue-104897.rs:6:18
- |
-LL | fn f(){(print!(á
- | -- - ^
- | || |
- | || unclosed delimiter
- | |unclosed delimiter
- | unclosed delimiter
-
-error: this file contains an unclosed delimiter
- --> $DIR/issue-104897.rs:6:18
- |
-LL | fn f(){(print!(á
- | -- - ^
- | || |
- | || unclosed delimiter
- | |unclosed delimiter
- | unclosed delimiter
-
-error: this file contains an unclosed delimiter
- --> $DIR/issue-104897.rs:6:18
- |
-LL | fn f(){(print!(á
- | -- - ^
- | || |
- | || unclosed delimiter
- | |unclosed delimiter
- | unclosed delimiter
-
-error: format argument must be a string literal
- --> $DIR/issue-104897.rs:6:16
- |
-LL | fn f(){(print!(á
- | ^
- |
-help: you might be missing a string literal to format with
- |
-LL | fn f(){(print!("{}", á
- | +++++
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/lint/issue-14309.rs b/src/test/ui/lint/issue-14309.rs
deleted file mode 100644
index 328a4c982..000000000
--- a/src/test/ui/lint/issue-14309.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-#![deny(improper_ctypes)]
-#![allow(dead_code)]
-
-struct A {
- x: i32
-}
-
-#[repr(C, packed)]
-struct B {
- x: i32,
- y: A
-}
-
-#[repr(C)]
-struct C {
- x: i32
-}
-
-type A2 = A;
-type B2 = B;
-type C2 = C;
-
-#[repr(C)]
-struct D {
- x: C,
- y: A
-}
-
-extern "C" {
- fn foo(x: A); //~ ERROR type `A`, which is not FFI-safe
- fn bar(x: B); //~ ERROR type `A`
- fn baz(x: C);
- fn qux(x: A2); //~ ERROR type `A`
- fn quux(x: B2); //~ ERROR type `A`
- fn corge(x: C2);
- fn fred(x: D); //~ ERROR type `A`
-}
-
-fn main() { }
diff --git a/src/test/ui/lint/issue-14309.stderr b/src/test/ui/lint/issue-14309.stderr
deleted file mode 100644
index 9ce62a6b8..000000000
--- a/src/test/ui/lint/issue-14309.stderr
+++ /dev/null
@@ -1,77 +0,0 @@
-error: `extern` block uses type `A`, which is not FFI-safe
- --> $DIR/issue-14309.rs:30:15
- |
-LL | fn foo(x: A);
- | ^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-note: the type is defined here
- --> $DIR/issue-14309.rs:4:1
- |
-LL | struct A {
- | ^^^^^^^^
-note: the lint level is defined here
- --> $DIR/issue-14309.rs:1:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: `extern` block uses type `A`, which is not FFI-safe
- --> $DIR/issue-14309.rs:31:15
- |
-LL | fn bar(x: B);
- | ^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-note: the type is defined here
- --> $DIR/issue-14309.rs:4:1
- |
-LL | struct A {
- | ^^^^^^^^
-
-error: `extern` block uses type `A`, which is not FFI-safe
- --> $DIR/issue-14309.rs:33:15
- |
-LL | fn qux(x: A2);
- | ^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-note: the type is defined here
- --> $DIR/issue-14309.rs:4:1
- |
-LL | struct A {
- | ^^^^^^^^
-
-error: `extern` block uses type `A`, which is not FFI-safe
- --> $DIR/issue-14309.rs:34:16
- |
-LL | fn quux(x: B2);
- | ^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-note: the type is defined here
- --> $DIR/issue-14309.rs:4:1
- |
-LL | struct A {
- | ^^^^^^^^
-
-error: `extern` block uses type `A`, which is not FFI-safe
- --> $DIR/issue-14309.rs:36:16
- |
-LL | fn fred(x: D);
- | ^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-note: the type is defined here
- --> $DIR/issue-14309.rs:4:1
- |
-LL | struct A {
- | ^^^^^^^^
-
-error: aborting due to 5 previous errors
-
diff --git a/src/test/ui/lint/issue-14837.rs b/src/test/ui/lint/issue-14837.rs
deleted file mode 100644
index a83bc4150..000000000
--- a/src/test/ui/lint/issue-14837.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// check-pass
-// pretty-expanded FIXME #23616
-
-#[deny(dead_code)]
-pub enum Foo {
- Bar {
- baz: isize
- }
-}
-
-fn main() { }
diff --git a/src/test/ui/lint/issue-17718-const-naming.rs b/src/test/ui/lint/issue-17718-const-naming.rs
deleted file mode 100644
index d7f0e7276..000000000
--- a/src/test/ui/lint/issue-17718-const-naming.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-#![warn(unused)]
-#![deny(warnings)]
-
-const foo: isize = 3;
-//~^ ERROR: should have an upper case name
-//~^^ ERROR: constant `foo` is never used
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-17718-const-naming.stderr b/src/test/ui/lint/issue-17718-const-naming.stderr
deleted file mode 100644
index 7d2aadd5f..000000000
--- a/src/test/ui/lint/issue-17718-const-naming.stderr
+++ /dev/null
@@ -1,23 +0,0 @@
-error: constant `foo` is never used
- --> $DIR/issue-17718-const-naming.rs:4:7
- |
-LL | const foo: isize = 3;
- | ^^^
- |
-note: the lint level is defined here
- --> $DIR/issue-17718-const-naming.rs:2:9
- |
-LL | #![deny(warnings)]
- | ^^^^^^^^
- = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
-
-error: constant `foo` should have an upper case name
- --> $DIR/issue-17718-const-naming.rs:4:7
- |
-LL | const foo: isize = 3;
- | ^^^ help: convert the identifier to upper case (notice the capitalization): `FOO`
- |
- = note: `#[deny(non_upper_case_globals)]` implied by `#[deny(warnings)]`
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/issue-1866.rs b/src/test/ui/lint/issue-1866.rs
deleted file mode 100644
index caac0c504..000000000
--- a/src/test/ui/lint/issue-1866.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-// build-pass
-#![allow(dead_code)]
-#![allow(non_camel_case_types)]
-#![warn(clashing_extern_declarations)]
-
-// pretty-expanded FIXME #23616
-
-mod a {
- pub type rust_task = usize;
- pub mod rustrt {
- use super::rust_task;
- extern "C" {
- pub fn rust_task_is_unwinding(rt: *const rust_task) -> bool;
- }
- }
-}
-
-mod b {
- pub type rust_task = bool;
- pub mod rustrt {
- use super::rust_task;
- extern "C" {
- pub fn rust_task_is_unwinding(rt: *const rust_task) -> bool;
- //~^ WARN `rust_task_is_unwinding` redeclared with a different signature
- }
- }
-}
-
-pub fn main() {}
diff --git a/src/test/ui/lint/issue-1866.stderr b/src/test/ui/lint/issue-1866.stderr
deleted file mode 100644
index d19a13496..000000000
--- a/src/test/ui/lint/issue-1866.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-warning: `rust_task_is_unwinding` redeclared with a different signature
- --> $DIR/issue-1866.rs:23:13
- |
-LL | pub fn rust_task_is_unwinding(rt: *const rust_task) -> bool;
- | ------------------------------------------------------------ `rust_task_is_unwinding` previously declared here
-...
-LL | pub fn rust_task_is_unwinding(rt: *const rust_task) -> bool;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn(*const usize) -> bool`
- found `unsafe extern "C" fn(*const bool) -> bool`
-note: the lint level is defined here
- --> $DIR/issue-1866.rs:4:9
- |
-LL | #![warn(clashing_extern_declarations)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/issue-20343.rs b/src/test/ui/lint/issue-20343.rs
deleted file mode 100644
index 000b63984..000000000
--- a/src/test/ui/lint/issue-20343.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// run-pass
-#![allow(unused_variables)]
-// Regression test for Issue #20343.
-
-// pretty-expanded FIXME #23616
-
-#![deny(dead_code)]
-
-struct B { b: u32 }
-struct C;
-struct D;
-
-trait T<A> { fn dummy(&self, a: A) { } }
-impl<A> T<A> for () {}
-
-impl B {
- // test for unused code in arguments
- fn foo(B { b }: B) -> u32 { b }
-
- // test for unused code in return type
- fn bar() -> C { unsafe { ::std::mem::transmute(()) } }
-
- // test for unused code in generics
- fn baz<A: T<D>>() {}
-}
-
-pub fn main() {
- let b = B { b: 3 };
- B::foo(b);
- B::bar();
- B::baz::<()>();
-}
diff --git a/src/test/ui/lint/issue-30302.rs b/src/test/ui/lint/issue-30302.rs
deleted file mode 100644
index c37d4f29d..000000000
--- a/src/test/ui/lint/issue-30302.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-#![allow(dead_code)]
-#![allow(unused_variables)]
-#![allow(non_snake_case)]
-#![deny(unreachable_patterns)]
-
-enum Stack<T> {
- Nil,
- Cons(T, Box<Stack<T>>)
-}
-
-fn is_empty<T>(s: Stack<T>) -> bool {
- match s {
- Nil => true,
-//~^ WARN pattern binding `Nil` is named the same as one of the variants of the type `Stack`
- _ => false
-//~^ ERROR unreachable pattern
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-30302.stderr b/src/test/ui/lint/issue-30302.stderr
deleted file mode 100644
index 849ff1ebd..000000000
--- a/src/test/ui/lint/issue-30302.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-warning[E0170]: pattern binding `Nil` is named the same as one of the variants of the type `Stack`
- --> $DIR/issue-30302.rs:13:9
- |
-LL | Nil => true,
- | ^^^ help: to match on the variant, qualify the path: `Stack::Nil`
- |
- = note: `#[warn(bindings_with_variant_name)]` on by default
-
-error: unreachable pattern
- --> $DIR/issue-30302.rs:15:9
- |
-LL | Nil => true,
- | --- matches any value
-LL |
-LL | _ => false
- | ^ unreachable pattern
- |
-note: the lint level is defined here
- --> $DIR/issue-30302.rs:4:9
- |
-LL | #![deny(unreachable_patterns)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error; 1 warning emitted
-
-For more information about this error, try `rustc --explain E0170`.
diff --git a/src/test/ui/lint/issue-31924-non-snake-ffi.rs b/src/test/ui/lint/issue-31924-non-snake-ffi.rs
deleted file mode 100644
index 5b9faca49..000000000
--- a/src/test/ui/lint/issue-31924-non-snake-ffi.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// check-pass
-
-#![deny(non_snake_case)]
-
-#[no_mangle]
-pub extern "C" fn SparklingGenerationForeignFunctionInterface() {} // OK
-
-pub struct Foo;
-
-impl Foo {
- #[no_mangle]
- pub extern "C" fn SparklingGenerationForeignFunctionInterface() {} // OK
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-34798.rs b/src/test/ui/lint/issue-34798.rs
deleted file mode 100644
index f0d710123..000000000
--- a/src/test/ui/lint/issue-34798.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// run-pass
-#![forbid(improper_ctypes)]
-#![allow(dead_code)]
-
-#[repr(C)]
-pub struct Foo {
- size: u8,
- __value: ::std::marker::PhantomData<i32>,
-}
-
-#[repr(C)]
-pub struct ZeroSizeWithPhantomData<T>(::std::marker::PhantomData<T>);
-
-#[repr(C)]
-pub struct Bar {
- size: u8,
- baz: ZeroSizeWithPhantomData<i32>,
-}
-
-extern "C" {
- pub fn bar(_: *mut Foo, _: *mut Bar);
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/issue-35075.rs b/src/test/ui/lint/issue-35075.rs
deleted file mode 100644
index 0e54131c2..000000000
--- a/src/test/ui/lint/issue-35075.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-struct Bar<T> {
- inner: Foo<T> //~ ERROR cannot find type `Foo` in this scope
-}
-
-enum Baz<T> {
- Foo(Foo<T>) //~ ERROR cannot find type `Foo` in this scope
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-35075.stderr b/src/test/ui/lint/issue-35075.stderr
deleted file mode 100644
index 08bdaa728..000000000
--- a/src/test/ui/lint/issue-35075.stderr
+++ /dev/null
@@ -1,25 +0,0 @@
-error[E0412]: cannot find type `Foo` in this scope
- --> $DIR/issue-35075.rs:2:12
- |
-LL | inner: Foo<T>
- | ^^^ not found in this scope
- |
-help: there is an enum variant `Baz::Foo`; try using the variant's enum
- |
-LL | inner: Baz
- | ~~~
-
-error[E0412]: cannot find type `Foo` in this scope
- --> $DIR/issue-35075.rs:6:9
- |
-LL | Foo(Foo<T>)
- | ^^^ not found in this scope
- |
-help: there is an enum variant `Baz::Foo`; try using the variant's enum
- |
-LL | Foo(Baz)
- | ~~~
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0412`.
diff --git a/src/test/ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs b/src/test/ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs
deleted file mode 100644
index 0a951cfa9..000000000
--- a/src/test/ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-// check-pass
-
-#![warn(unused_parens)]
-
-macro_rules! the_worship_the_heart_lifts_above {
- ( @as_expr, $e:expr) => { $e };
- ( @generate_fn, $name:tt) => {
- #[allow(dead_code)] fn the_moth_for_the_star<'a>() -> Option<&'a str> {
- Some(the_worship_the_heart_lifts_above!( @as_expr, $name ))
- }
- };
- ( $name:ident ) => { the_worship_the_heart_lifts_above!( @generate_fn, (stringify!($name))); }
- // ↑ Notably, this does 𝘯𝘰𝘵 warn: we're declining to lint unused parens in
- // function/method arguments inside of nested macros because of situations
- // like those reported in Issue #47775
-}
-
-macro_rules! and_the_heavens_reject_not {
- () => {
- #[allow(dead_code)] fn the_night_for_the_morrow() -> Option<isize> { Some((2)) }
- }
-}
-
-the_worship_the_heart_lifts_above!(rah);
-and_the_heavens_reject_not!();
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-54099-camel-case-underscore-types.rs b/src/test/ui/lint/issue-54099-camel-case-underscore-types.rs
deleted file mode 100644
index b2bf87358..000000000
--- a/src/test/ui/lint/issue-54099-camel-case-underscore-types.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// check-pass
-
-#![forbid(non_camel_case_types)]
-#![allow(dead_code)]
-
-// None of the following types should generate a warning
-struct _X {}
-struct __X {}
-struct __ {}
-struct X_ {}
-struct X__ {}
-struct X___ {}
-
-fn main() { }
diff --git a/src/test/ui/lint/issue-57410-1.rs b/src/test/ui/lint/issue-57410-1.rs
deleted file mode 100644
index d825cb180..000000000
--- a/src/test/ui/lint/issue-57410-1.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// check-pass
-
-// Originally from #53925.
-// Tests that the `unreachable_pub` lint doesn't fire for `pub self::bar::Bar`.
-
-#![deny(unreachable_pub)]
-
-mod foo {
- mod bar {
- pub struct Bar;
- }
-
- pub use self::bar::Bar;
-}
-
-pub use foo::Bar;
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-57410.rs b/src/test/ui/lint/issue-57410.rs
deleted file mode 100644
index 0cf4b8068..000000000
--- a/src/test/ui/lint/issue-57410.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// check-pass
-
-// Tests that the `unreachable_pub` lint doesn't fire for `pub self::imp::f`.
-
-#![deny(unreachable_pub)]
-
-mod m {
- mod imp {
- pub fn f() {}
- }
-
- pub use self::imp::f;
-}
-
-pub use self::m::f;
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-63364.rs b/src/test/ui/lint/issue-63364.rs
deleted file mode 100644
index 5223267a6..000000000
--- a/src/test/ui/lint/issue-63364.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-fn part(_: u16) -> u32 {
- 1
-}
-
-fn main() {
- for n in 100_000.. {
- //~^ ERROR: literal out of range for `u16`
- let _ = part(n);
- }
-}
diff --git a/src/test/ui/lint/issue-63364.stderr b/src/test/ui/lint/issue-63364.stderr
deleted file mode 100644
index 9b5453fa8..000000000
--- a/src/test/ui/lint/issue-63364.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error: literal out of range for `u16`
- --> $DIR/issue-63364.rs:6:14
- |
-LL | for n in 100_000.. {
- | ^^^^^^^
- |
- = note: the literal `100_000` does not fit into the type `u16` whose range is `0..=65535`
- = note: `#[deny(overflowing_literals)]` on by default
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/issue-66362-no-snake-case-warning-for-field-puns.rs b/src/test/ui/lint/issue-66362-no-snake-case-warning-for-field-puns.rs
deleted file mode 100644
index c2b81959f..000000000
--- a/src/test/ui/lint/issue-66362-no-snake-case-warning-for-field-puns.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-#![deny(non_snake_case)]
-#![allow(unused_variables)]
-#![allow(dead_code)]
-
-enum Foo {
- Bad {
- lowerCamelCaseName: bool,
- //~^ ERROR structure field `lowerCamelCaseName` should have a snake case name
- },
- Good {
- snake_case_name: bool,
- },
-}
-
-fn main() {
- let b = Foo::Bad { lowerCamelCaseName: true };
-
- match b {
- Foo::Bad { lowerCamelCaseName } => {}
- Foo::Good { snake_case_name: lowerCamelCaseBinding } => { }
- //~^ ERROR variable `lowerCamelCaseBinding` should have a snake case name
- }
-
- if let Foo::Good { snake_case_name: anotherLowerCamelCaseBinding } = b { }
- //~^ ERROR variable `anotherLowerCamelCaseBinding` should have a snake case name
-
- if let Foo::Bad { lowerCamelCaseName: yetAnotherLowerCamelCaseBinding } = b { }
- //~^ ERROR variable `yetAnotherLowerCamelCaseBinding` should have a snake case name
-}
diff --git a/src/test/ui/lint/issue-66362-no-snake-case-warning-for-field-puns.stderr b/src/test/ui/lint/issue-66362-no-snake-case-warning-for-field-puns.stderr
deleted file mode 100644
index 09dc3640f..000000000
--- a/src/test/ui/lint/issue-66362-no-snake-case-warning-for-field-puns.stderr
+++ /dev/null
@@ -1,32 +0,0 @@
-error: structure field `lowerCamelCaseName` should have a snake case name
- --> $DIR/issue-66362-no-snake-case-warning-for-field-puns.rs:7:9
- |
-LL | lowerCamelCaseName: bool,
- | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lower_camel_case_name`
- |
-note: the lint level is defined here
- --> $DIR/issue-66362-no-snake-case-warning-for-field-puns.rs:1:9
- |
-LL | #![deny(non_snake_case)]
- | ^^^^^^^^^^^^^^
-
-error: variable `lowerCamelCaseBinding` should have a snake case name
- --> $DIR/issue-66362-no-snake-case-warning-for-field-puns.rs:20:38
- |
-LL | Foo::Good { snake_case_name: lowerCamelCaseBinding } => { }
- | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lower_camel_case_binding`
-
-error: variable `anotherLowerCamelCaseBinding` should have a snake case name
- --> $DIR/issue-66362-no-snake-case-warning-for-field-puns.rs:24:41
- |
-LL | if let Foo::Good { snake_case_name: anotherLowerCamelCaseBinding } = b { }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `another_lower_camel_case_binding`
-
-error: variable `yetAnotherLowerCamelCaseBinding` should have a snake case name
- --> $DIR/issue-66362-no-snake-case-warning-for-field-puns.rs:27:43
- |
-LL | if let Foo::Bad { lowerCamelCaseName: yetAnotherLowerCamelCaseBinding } = b { }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `yet_another_lower_camel_case_binding`
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs b/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs
deleted file mode 100644
index b4fc33174..000000000
--- a/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-// This test is checking that you cannot override a `forbid` by adding in other
-// attributes later in the same scope. (We already ensure that you cannot
-// override it in nested scopes).
-
-// If you turn off deduplicate diagnostics (which rustc turns on by default but
-// compiletest turns off when it runs ui tests), then the errors are
-// (unfortunately) repeated here because the checking is done as we read in the
-// errors, and currently that happens two or three different times, depending on
-// compiler flags.
-//
-// I decided avoiding the redundant output was not worth the time in engineering
-// effort for bug like this, which 1. end users are unlikely to run into in the
-// first place, and 2. they won't see the redundant output anyway.
-
-// compile-flags: -Z deduplicate-diagnostics=yes
-
-#![forbid(forbidden_lint_groups)]
-
-fn forbid_first(num: i32) -> i32 {
- #![forbid(unused)]
- #![deny(unused)]
- //~^ ERROR: deny(unused) incompatible with previous forbid
- //~| WARNING being phased out
- #![warn(unused)]
- #![allow(unused)]
-
- num * num
-}
-
-fn forbid_last(num: i32) -> i32 {
- #![deny(unused)]
- #![warn(unused)]
- #![allow(unused)]
- #![forbid(unused)]
-
- num * num
-}
-
-fn forbid_multiple(num: i32) -> i32 {
- #![forbid(unused)]
- #![forbid(unused)]
-
- num * num
-}
-
-fn main() {
- forbid_first(10);
- forbid_last(10);
- forbid_multiple(10);
-}
diff --git a/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.stderr b/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.stderr
deleted file mode 100644
index cc44f8aa5..000000000
--- a/src/test/ui/lint/issue-70819-dont-override-forbid-in-same-scope.stderr
+++ /dev/null
@@ -1,18 +0,0 @@
-error: deny(unused) incompatible with previous forbid
- --> $DIR/issue-70819-dont-override-forbid-in-same-scope.rs:21:13
- |
-LL | #![forbid(unused)]
- | ------ `forbid` level set here
-LL | #![deny(unused)]
- | ^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-note: the lint level is defined here
- --> $DIR/issue-70819-dont-override-forbid-in-same-scope.rs:17:11
- |
-LL | #![forbid(forbidden_lint_groups)]
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/issue-79546-fuel-ice.rs b/src/test/ui/lint/issue-79546-fuel-ice.rs
deleted file mode 100644
index 0e9f54088..000000000
--- a/src/test/ui/lint/issue-79546-fuel-ice.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// Regression test for the ICE described in #79546.
-
-// compile-flags: --cap-lints=allow -Zfuel=issue79546=0
-// check-pass
-#![crate_name="issue79546"]
-
-struct S;
-fn main() {}
diff --git a/src/test/ui/lint/issue-79744.rs b/src/test/ui/lint/issue-79744.rs
deleted file mode 100644
index e9725a027..000000000
--- a/src/test/ui/lint/issue-79744.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-fn main() {
- let elem = 6i8;
- let e2 = 230;
- //~^ ERROR literal out of range for `i8`
- //~| HELP consider using the type `u8` instead
-
- let mut vec = Vec::new();
-
- vec.push(e2);
- vec.push(elem);
-
- println!("{:?}", vec);
-}
diff --git a/src/test/ui/lint/issue-79744.stderr b/src/test/ui/lint/issue-79744.stderr
deleted file mode 100644
index c1b56250d..000000000
--- a/src/test/ui/lint/issue-79744.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error: literal out of range for `i8`
- --> $DIR/issue-79744.rs:3:14
- |
-LL | let e2 = 230;
- | ^^^
- |
- = note: the literal `230` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `u8` instead
- = note: `#[deny(overflowing_literals)]` on by default
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/issue-80988.rs b/src/test/ui/lint/issue-80988.rs
deleted file mode 100644
index 1e116206f..000000000
--- a/src/test/ui/lint/issue-80988.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// Regression test for #80988
-//
-// check-pass
-
-#![forbid(warnings)]
-
-#[deny(warnings)]
-//~^ WARNING incompatible with previous forbid
-//~| WARNING being phased out
-//~| WARNING incompatible with previous forbid
-//~| WARNING being phased out
-//~| WARNING incompatible with previous forbid
-//~| WARNING being phased out
-fn main() {}
diff --git a/src/test/ui/lint/issue-80988.stderr b/src/test/ui/lint/issue-80988.stderr
deleted file mode 100644
index 73e27ffda..000000000
--- a/src/test/ui/lint/issue-80988.stderr
+++ /dev/null
@@ -1,39 +0,0 @@
-warning: deny(warnings) incompatible with previous forbid
- --> $DIR/issue-80988.rs:7:8
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-LL |
-LL | #[deny(warnings)]
- | ^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
- = note: `#[warn(forbidden_lint_groups)]` on by default
-
-warning: deny(warnings) incompatible with previous forbid
- --> $DIR/issue-80988.rs:7:8
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-LL |
-LL | #[deny(warnings)]
- | ^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-warning: deny(warnings) incompatible with previous forbid
- --> $DIR/issue-80988.rs:7:8
- |
-LL | #![forbid(warnings)]
- | -------- `forbid` level set here
-LL |
-LL | #[deny(warnings)]
- | ^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/issue-81218.rs b/src/test/ui/lint/issue-81218.rs
deleted file mode 100644
index f02aa9040..000000000
--- a/src/test/ui/lint/issue-81218.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// Regression test for #81218
-//
-// check-pass
-
-#![forbid(warnings)]
-
-#[allow(unused_variables)]
-fn main() {
- // We want to ensure that you don't get an error
- // here. The idea is that a derive might generate
- // code that would otherwise trigger the "unused variables"
- // lint, but it is meant to be suppressed.
- let x: ();
-}
diff --git a/src/test/ui/lint/issue-83477.rs b/src/test/ui/lint/issue-83477.rs
deleted file mode 100644
index 4262a2879..000000000
--- a/src/test/ui/lint/issue-83477.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// compile-flags: -Zunstable-options
-// check-pass
-#![warn(rustc::internal)]
-
-#[allow(rustc::foo::bar::default_hash_types)]
-//~^ WARN unknown lint: `rustc::foo::bar::default_hash_types`
-//~| HELP did you mean
-//~| SUGGESTION rustc::default_hash_types
-#[allow(rustc::foo::default_hash_types)]
-//~^ WARN unknown lint: `rustc::foo::default_hash_types`
-//~| HELP did you mean
-//~| SUGGESTION rustc::default_hash_types
-fn main() {
- let _ = std::collections::HashMap::<String, String>::new();
- //~^ WARN prefer `FxHashMap` over `HashMap`, it has better performance
-}
diff --git a/src/test/ui/lint/issue-83477.stderr b/src/test/ui/lint/issue-83477.stderr
deleted file mode 100644
index f824fc09e..000000000
--- a/src/test/ui/lint/issue-83477.stderr
+++ /dev/null
@@ -1,30 +0,0 @@
-warning: unknown lint: `rustc::foo::bar::default_hash_types`
- --> $DIR/issue-83477.rs:5:9
- |
-LL | #[allow(rustc::foo::bar::default_hash_types)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: did you mean: `rustc::default_hash_types`
- |
- = note: `#[warn(unknown_lints)]` on by default
-
-warning: unknown lint: `rustc::foo::default_hash_types`
- --> $DIR/issue-83477.rs:9:9
- |
-LL | #[allow(rustc::foo::default_hash_types)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: did you mean: `rustc::default_hash_types`
-
-warning: prefer `FxHashMap` over `HashMap`, it has better performance
- --> $DIR/issue-83477.rs:14:13
- |
-LL | let _ = std::collections::HashMap::<String, String>::new();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: a `use rustc_data_structures::fx::FxHashMap` may be necessary
-note: the lint level is defined here
- --> $DIR/issue-83477.rs:3:9
- |
-LL | #![warn(rustc::internal)]
- | ^^^^^^^^^^^^^^^
- = note: `#[warn(rustc::default_hash_types)]` implied by `#[warn(rustc::internal)]`
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/issue-86600-lint-twice.rs b/src/test/ui/lint/issue-86600-lint-twice.rs
deleted file mode 100644
index 0e8a837d9..000000000
--- a/src/test/ui/lint/issue-86600-lint-twice.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Regression test for #86600, where an instance of the
-// `illegal_floating_point_literal_pattern` lint was issued twice.
-
-// check-pass
-
-fn main() {
- let x = 42.0;
-
- match x {
- 5.0 => {}
- //~^ WARNING: floating-point types cannot be used in patterns
- //~| WARNING: this was previously accepted by the compiler
- _ => {}
- }
-}
diff --git a/src/test/ui/lint/issue-86600-lint-twice.stderr b/src/test/ui/lint/issue-86600-lint-twice.stderr
deleted file mode 100644
index 5a65c6121..000000000
--- a/src/test/ui/lint/issue-86600-lint-twice.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-warning: floating-point types cannot be used in patterns
- --> $DIR/issue-86600-lint-twice.rs:10:9
- |
-LL | 5.0 => {}
- | ^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
- = note: `#[warn(illegal_floating_point_literal_pattern)]` on by default
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/issue-87274-paren-parent.rs b/src/test/ui/lint/issue-87274-paren-parent.rs
deleted file mode 100644
index 0141c5a25..000000000
--- a/src/test/ui/lint/issue-87274-paren-parent.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// check-pass
-// Tests that we properly lint at 'paren' expressions
-
-fn foo() -> Result<(), String> {
- (try!(Ok::<u8, String>(1))); //~ WARN use of deprecated macro `try`
- Ok(())
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-87274-paren-parent.stderr b/src/test/ui/lint/issue-87274-paren-parent.stderr
deleted file mode 100644
index f06024298..000000000
--- a/src/test/ui/lint/issue-87274-paren-parent.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: use of deprecated macro `try`: use the `?` operator instead
- --> $DIR/issue-87274-paren-parent.rs:5:6
- |
-LL | (try!(Ok::<u8, String>(1)));
- | ^^^
- |
- = note: `#[warn(deprecated)]` on by default
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/issue-89469.rs b/src/test/ui/lint/issue-89469.rs
deleted file mode 100644
index 3a6ab4528..000000000
--- a/src/test/ui/lint/issue-89469.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// Regression test for #89469, where an extra non_snake_case warning was
-// reported for a shorthand field binding.
-
-// check-pass
-#![deny(non_snake_case)]
-
-#[allow(non_snake_case)]
-struct Entry {
- A: u16,
- a: u16
-}
-
-fn foo() -> Entry {todo!()}
-
-pub fn f() {
- let Entry { A, a } = foo();
- let _ = (A, a);
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/issue-90614-accept-allow-text-direction-codepoint-in-comment-lint.rs b/src/test/ui/lint/issue-90614-accept-allow-text-direction-codepoint-in-comment-lint.rs
deleted file mode 100644
index 425e2703c..000000000
--- a/src/test/ui/lint/issue-90614-accept-allow-text-direction-codepoint-in-comment-lint.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// check-pass
-// Allowing the code lint should work without warning and
-// the text flow char in the comment should be ignored.
-
-#![allow(text_direction_codepoint_in_comment)]
-
-fn main() {
- // U+2066 LEFT-TO-RIGHT ISOLATE follows:⁦⁦
-}
diff --git a/src/test/ui/lint/issue-97094.rs b/src/test/ui/lint/issue-97094.rs
deleted file mode 100644
index 22525ca11..000000000
--- a/src/test/ui/lint/issue-97094.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-#![deny(warnings)]
-
-// Ensure that unknown lints inside cfg-attr's are linted for
-
-#![cfg_attr(all(), allow(nonex_lint_top_level))]
-//~^ ERROR unknown lint
-#![cfg_attr(all(), allow(bare_trait_object))]
-//~^ ERROR has been renamed
-
-#[cfg_attr(all(), allow(nonex_lint_mod))]
-//~^ ERROR unknown lint
-mod baz {
- #![cfg_attr(all(), allow(nonex_lint_mod_inner))]
- //~^ ERROR unknown lint
-}
-
-#[cfg_attr(all(), allow(nonex_lint_fn))]
-//~^ ERROR unknown lint
-pub fn main() {}
-
-macro_rules! bar {
- ($($t:tt)*) => {
- $($t)*
- };
-}
-
-bar!(
- #[cfg_attr(all(), allow(nonex_lint_in_macro))]
- //~^ ERROR unknown lint
- pub fn _bar() {}
-);
-
-// No warning for non-applying cfg
-#[cfg_attr(any(), allow(nonex_lint_fn))]
-pub fn _foo() {}
-
-// Allowing unknown lints works if inside cfg_attr
-#[cfg_attr(all(), allow(unknown_lints))]
-mod bar_allowed {
- #[allow(nonex_lint_fn)]
- fn _foo() {}
-}
-
-// ... but not if the cfg_attr doesn't evaluate
-#[cfg_attr(any(), allow(unknown_lints))]
-mod bar_not_allowed {
- #[allow(nonex_lint_fn)]
- //~^ ERROR unknown lint
- fn _foo() {}
-}
diff --git a/src/test/ui/lint/issue-97094.stderr b/src/test/ui/lint/issue-97094.stderr
deleted file mode 100644
index 1a0a3eaf2..000000000
--- a/src/test/ui/lint/issue-97094.stderr
+++ /dev/null
@@ -1,53 +0,0 @@
-error: unknown lint: `nonex_lint_top_level`
- --> $DIR/issue-97094.rs:5:26
- |
-LL | #![cfg_attr(all(), allow(nonex_lint_top_level))]
- | ^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/issue-97094.rs:1:9
- |
-LL | #![deny(warnings)]
- | ^^^^^^^^
- = note: `#[deny(unknown_lints)]` implied by `#[deny(warnings)]`
-
-error: lint `bare_trait_object` has been renamed to `bare_trait_objects`
- --> $DIR/issue-97094.rs:7:26
- |
-LL | #![cfg_attr(all(), allow(bare_trait_object))]
- | ^^^^^^^^^^^^^^^^^ help: use the new name: `bare_trait_objects`
- |
- = note: `#[deny(renamed_and_removed_lints)]` implied by `#[deny(warnings)]`
-
-error: unknown lint: `nonex_lint_mod`
- --> $DIR/issue-97094.rs:10:25
- |
-LL | #[cfg_attr(all(), allow(nonex_lint_mod))]
- | ^^^^^^^^^^^^^^
-
-error: unknown lint: `nonex_lint_mod_inner`
- --> $DIR/issue-97094.rs:13:30
- |
-LL | #![cfg_attr(all(), allow(nonex_lint_mod_inner))]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unknown lint: `nonex_lint_fn`
- --> $DIR/issue-97094.rs:17:25
- |
-LL | #[cfg_attr(all(), allow(nonex_lint_fn))]
- | ^^^^^^^^^^^^^
-
-error: unknown lint: `nonex_lint_in_macro`
- --> $DIR/issue-97094.rs:28:29
- |
-LL | #[cfg_attr(all(), allow(nonex_lint_in_macro))]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: unknown lint: `nonex_lint_fn`
- --> $DIR/issue-97094.rs:47:13
- |
-LL | #[allow(nonex_lint_fn)]
- | ^^^^^^^^^^^^^
-
-error: aborting due to 7 previous errors
-
diff --git a/src/test/ui/lint/issue-99387.rs b/src/test/ui/lint/issue-99387.rs
deleted file mode 100644
index 616eb935e..000000000
--- a/src/test/ui/lint/issue-99387.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// check-pass
-
-#![feature(type_alias_impl_trait)]
-#![allow(private_in_public)]
-
-pub type Successors<'a> = impl Iterator<Item = &'a ()>;
-
-pub fn f<'a>() -> Successors<'a> {
- None.into_iter()
-}
-
-trait Tr {
- type Item;
-}
-
-impl<'a> Tr for &'a () {
- type Item = Successors<'a>;
-}
-
-pub fn ohno<'a>() -> <&'a () as Tr>::Item {
- None.into_iter()
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/known-tool-in-submodule/root.rs b/src/test/ui/lint/known-tool-in-submodule/root.rs
deleted file mode 100644
index 80806dcbd..000000000
--- a/src/test/ui/lint/known-tool-in-submodule/root.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// check-pass
-
-#![feature(register_tool)]
-#![register_tool(tool)]
-
-mod submodule;
-
-fn main() {
- submodule::foo();
-}
diff --git a/src/test/ui/lint/known-tool-in-submodule/submodule.rs b/src/test/ui/lint/known-tool-in-submodule/submodule.rs
deleted file mode 100644
index bb25e1005..000000000
--- a/src/test/ui/lint/known-tool-in-submodule/submodule.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-// ignore-test: not a test
-
-#[allow(tool::lint)]
-pub fn foo() {}
diff --git a/src/test/ui/lint/let_underscore/let_underscore_drop.rs b/src/test/ui/lint/let_underscore/let_underscore_drop.rs
deleted file mode 100644
index f298871f1..000000000
--- a/src/test/ui/lint/let_underscore/let_underscore_drop.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// check-pass
-#![warn(let_underscore_drop)]
-
-struct NontrivialDrop;
-
-impl Drop for NontrivialDrop {
- fn drop(&mut self) {
- println!("Dropping!");
- }
-}
-
-fn main() {
- let _ = NontrivialDrop; //~WARNING non-binding let on a type that implements `Drop`
-}
diff --git a/src/test/ui/lint/let_underscore/let_underscore_drop.stderr b/src/test/ui/lint/let_underscore/let_underscore_drop.stderr
deleted file mode 100644
index 7b7de202e..000000000
--- a/src/test/ui/lint/let_underscore/let_underscore_drop.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-warning: non-binding let on a type that implements `Drop`
- --> $DIR/let_underscore_drop.rs:13:5
- |
-LL | let _ = NontrivialDrop;
- | ^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/let_underscore_drop.rs:2:9
- |
-LL | #![warn(let_underscore_drop)]
- | ^^^^^^^^^^^^^^^^^^^
-help: consider binding to an unused variable to avoid immediately dropping the value
- |
-LL | let _unused = NontrivialDrop;
- | ~~~~~~~
-help: consider immediately dropping the value
- |
-LL | drop(NontrivialDrop);
- | ~~~~~ +
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/let_underscore/let_underscore_lock.rs b/src/test/ui/lint/let_underscore/let_underscore_lock.rs
deleted file mode 100644
index 7423862cd..000000000
--- a/src/test/ui/lint/let_underscore/let_underscore_lock.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// check-fail
-use std::sync::{Arc, Mutex};
-
-fn main() {
- let data = Arc::new(Mutex::new(0));
- let _ = data.lock().unwrap(); //~ERROR non-binding let on a synchronization lock
-}
diff --git a/src/test/ui/lint/let_underscore/let_underscore_lock.stderr b/src/test/ui/lint/let_underscore/let_underscore_lock.stderr
deleted file mode 100644
index fb58af0a4..000000000
--- a/src/test/ui/lint/let_underscore/let_underscore_lock.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: non-binding let on a synchronization lock
- --> $DIR/let_underscore_lock.rs:6:9
- |
-LL | let _ = data.lock().unwrap();
- | ^ ^^^^^^^^^^^^^^^^^^^^ this binding will immediately drop the value assigned to it
- | |
- | this lock is not assigned to a binding and is immediately dropped
- |
- = note: `#[deny(let_underscore_lock)]` on by default
-help: consider binding to an unused variable to avoid immediately dropping the value
- |
-LL | let _unused = data.lock().unwrap();
- | ~~~~~~~
-help: consider immediately dropping the value
- |
-LL | drop(data.lock().unwrap());
- | ~~~~~ +
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-attr-everywhere-early.rs b/src/test/ui/lint/lint-attr-everywhere-early.rs
deleted file mode 100644
index fd0c4b43e..000000000
--- a/src/test/ui/lint/lint-attr-everywhere-early.rs
+++ /dev/null
@@ -1,176 +0,0 @@
-// Tests that lint levels can be set for early lints.
-#![allow(non_camel_case_types, unsafe_code, while_true, unused_parens)]
-
-// The following is a check of the lints used here to verify they do not warn
-// when allowed.
-fn verify_no_warnings() {
- type non_camel_type = i32; // non_camel_case_types
- struct NON_CAMEL_IS_ALLOWED; // non_camel_case_types
- unsafe {} // unsafe_code
- enum Enum {
- VARIANT_CAMEL // non_camel_case_types
- }
- fn generics<foo>() {} // non_camel_case_types
- while true {} // while_true
- type T = (i32); // unused_parens
-}
-
-
-// ################## Types
-
-#[deny(non_camel_case_types)]
-type type_outer = i32; //~ ERROR type `type_outer` should have an upper camel case name
-
-type BareFnPtr = fn(#[deny(unused_parens)](i32)); //~ ERROR unnecessary parentheses around type
-// There aren't any early lints that currently apply to the variadic spot.
-// type BareFnPtrVariadic = extern "C" fn(i32, #[deny()]...);
-
-// ################## Items
-#[deny(non_camel_case_types)]
-struct ITEM_OUTER; //~ ERROR type `ITEM_OUTER` should have an upper camel case name
-
-mod module_inner {
- #![deny(unsafe_code)]
- fn f() {
- unsafe {} //~ ERROR usage of an `unsafe` block
- }
-}
-
-struct Associated;
-impl Associated {
- #![deny(unsafe_code)]
-
- fn inherent_denied_from_inner() { unsafe {} } //~ usage of an `unsafe` block
-
- #[deny(while_true)]
- fn inherent_fn() { while true {} } //~ ERROR denote infinite loops with
-
- #[deny(while_true)]
- const INHERENT_CONST: i32 = {while true {} 1}; //~ ERROR denote infinite loops with
-}
-
-trait trait_inner { //~ ERROR trait `trait_inner` should have an upper camel case name
- #![deny(non_camel_case_types)]
-}
-
-trait AssociatedTrait {
- #![deny(unsafe_code)]
-
- fn denied_from_inner() { unsafe {} } //~ ERROR usage of an `unsafe` block
-
- #[deny(while_true)]
- fn assoc_fn() { while true {} } //~ ERROR denote infinite loops with
-
- #[deny(while_true)]
- const ASSOC_CONST: i32 = {while true {} 1}; //~ ERROR denote infinite loops with
-
- #[deny(non_camel_case_types)]
- type assoc_type; //~ ERROR associated type `assoc_type` should have an upper camel case name
-}
-
-impl AssociatedTrait for Associated {
- #![deny(unsafe_code)]
-
- fn denied_from_inner() { unsafe {} } //~ ERROR usage of an `unsafe` block
-
- #[deny(while_true)]
- fn assoc_fn() { while true {} } //~ ERROR denote infinite loops with
-
- #[deny(while_true)]
- const ASSOC_CONST: i32 = {while true {} 1}; //~ ERROR denote infinite loops with
-
- #[deny(unused_parens)]
- type assoc_type = (i32); //~ ERROR unnecessary parentheses around type
-}
-
-struct StructFields {
- #[deny(unused_parens)]f1: (i32), //~ ERROR unnecessary parentheses around type
-}
-struct StructTuple(#[deny(unused_parens)](i32)); //~ ERROR unnecessary parentheses around type
-
-enum Enum {
- #[deny(non_camel_case_types)]
- VARIANT_CAMEL, //~ ERROR variant `VARIANT_CAMEL` should have an upper camel case name
-}
-
-extern "C" {
- #![deny(unused_parens)]
-
- fn foreign_denied_from_inner(x: (i32)); //~ ERROR unnecessary parentheses around type
-}
-
-extern "C" {
- #[deny(unused_parens)]
- fn foreign_denied_from_outer(x: (i32)); //~ ERROR unnecessary parentheses around type
-}
-
-fn function(#[deny(unused_parens)] param: (i32)) {} //~ ERROR unnecessary parentheses around type
-
-fn generics<#[deny(non_camel_case_types)]foo>() {} //~ ERROR type parameter `foo` should have an upper camel case name
-
-
-// ################## Statements
-fn statements() {
- #[deny(unused_parens)]
- let x = (1); //~ ERROR unnecessary parentheses around assigned value
-}
-
-
-// ################## Expressions
-fn expressions() {
- let closure = |#[deny(unused_parens)] param: (i32)| {}; //~ ERROR unnecessary parentheses around type
-
- struct Match{f1: i32}
- // Strangely unused_parens doesn't fire with {f1: (123)}
- let f = Match{#[deny(unused_parens)]f1: {(123)}}; //~ ERROR unnecessary parentheses around block return value
-
- match f {
- #![deny(unsafe_code)]
-
- #[deny(while_true)]
- Match{f1} => {
- unsafe {} //~ ERROR usage of an `unsafe` block
- while true {} //~ ERROR denote infinite loops with
- }
- }
-
- // Statement Block
- {
- #![deny(unsafe_code)]
- unsafe {} //~ ERROR usage of an `unsafe` block
- }
- let block_tail = {
- #[deny(unsafe_code)]
- unsafe {} //~ ERROR usage of an `unsafe` block
- };
-
- // Before expression as a statement.
- #[deny(unsafe_code)]
- unsafe {}; //~ ERROR usage of an `unsafe` block
-
- [#[deny(unsafe_code)] unsafe {123}]; //~ ERROR usage of an `unsafe` block
- (#[deny(unsafe_code)] unsafe {123},); //~ ERROR usage of an `unsafe` block
- fn call(p: i32) {}
- call(#[deny(unsafe_code)] unsafe {123}); //~ ERROR usage of an `unsafe` block
- struct TupleStruct(i32);
- TupleStruct(#[deny(unsafe_code)] unsafe {123}); //~ ERROR usage of an `unsafe` block
-}
-
-
-// ################## Patterns
-fn patterns() {
- struct PatField{f1: i32, f2: i32};
- let f = PatField{f1: 1, f2: 2};
- match f {
- PatField {
- #[deny(ellipsis_inclusive_range_patterns)]
- f1: 0...100,
- //~^ ERROR range patterns are deprecated
- //~| WARNING this is accepted in the current edition
- ..
- } => {}
- _ => {}
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-attr-everywhere-early.stderr b/src/test/ui/lint/lint-attr-everywhere-early.stderr
deleted file mode 100644
index d6c6d5fae..000000000
--- a/src/test/ui/lint/lint-attr-everywhere-early.stderr
+++ /dev/null
@@ -1,486 +0,0 @@
-error: type `type_outer` should have an upper camel case name
- --> $DIR/lint-attr-everywhere-early.rs:22:6
- |
-LL | type type_outer = i32;
- | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TypeOuter`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:21:8
- |
-LL | #[deny(non_camel_case_types)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unnecessary parentheses around type
- --> $DIR/lint-attr-everywhere-early.rs:24:43
- |
-LL | type BareFnPtr = fn(#[deny(unused_parens)](i32));
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:24:28
- |
-LL | type BareFnPtr = fn(#[deny(unused_parens)](i32));
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - type BareFnPtr = fn(#[deny(unused_parens)](i32));
-LL + type BareFnPtr = fn(#[deny(unused_parens)]i32);
- |
-
-error: type `ITEM_OUTER` should have an upper camel case name
- --> $DIR/lint-attr-everywhere-early.rs:30:8
- |
-LL | struct ITEM_OUTER;
- | ^^^^^^^^^^ help: convert the identifier to upper camel case: `ItemOuter`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:29:8
- |
-LL | #[deny(non_camel_case_types)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:35:9
- |
-LL | unsafe {}
- | ^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:33:13
- |
-LL | #![deny(unsafe_code)]
- | ^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:43:39
- |
-LL | fn inherent_denied_from_inner() { unsafe {} }
- | ^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:41:13
- |
-LL | #![deny(unsafe_code)]
- | ^^^^^^^^^^^
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-attr-everywhere-early.rs:46:24
- |
-LL | fn inherent_fn() { while true {} }
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:45:12
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-attr-everywhere-early.rs:49:34
- |
-LL | const INHERENT_CONST: i32 = {while true {} 1};
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:48:12
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: trait `trait_inner` should have an upper camel case name
- --> $DIR/lint-attr-everywhere-early.rs:52:7
- |
-LL | trait trait_inner {
- | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TraitInner`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:53:13
- |
-LL | #![deny(non_camel_case_types)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:59:30
- |
-LL | fn denied_from_inner() { unsafe {} }
- | ^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:57:13
- |
-LL | #![deny(unsafe_code)]
- | ^^^^^^^^^^^
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-attr-everywhere-early.rs:62:21
- |
-LL | fn assoc_fn() { while true {} }
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:61:12
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-attr-everywhere-early.rs:65:31
- |
-LL | const ASSOC_CONST: i32 = {while true {} 1};
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:64:12
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: associated type `assoc_type` should have an upper camel case name
- --> $DIR/lint-attr-everywhere-early.rs:68:10
- |
-LL | type assoc_type;
- | ^^^^^^^^^^ help: convert the identifier to upper camel case: `AssocType`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:67:12
- |
-LL | #[deny(non_camel_case_types)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:74:30
- |
-LL | fn denied_from_inner() { unsafe {} }
- | ^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:72:13
- |
-LL | #![deny(unsafe_code)]
- | ^^^^^^^^^^^
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-attr-everywhere-early.rs:77:21
- |
-LL | fn assoc_fn() { while true {} }
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:76:12
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-attr-everywhere-early.rs:80:31
- |
-LL | const ASSOC_CONST: i32 = {while true {} 1};
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:79:12
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: unnecessary parentheses around type
- --> $DIR/lint-attr-everywhere-early.rs:83:23
- |
-LL | type assoc_type = (i32);
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:82:12
- |
-LL | #[deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - type assoc_type = (i32);
-LL + type assoc_type = i32;
- |
-
-error: unnecessary parentheses around type
- --> $DIR/lint-attr-everywhere-early.rs:87:31
- |
-LL | #[deny(unused_parens)]f1: (i32),
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:87:12
- |
-LL | #[deny(unused_parens)]f1: (i32),
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - #[deny(unused_parens)]f1: (i32),
-LL + #[deny(unused_parens)]f1: i32,
- |
-
-error: unnecessary parentheses around type
- --> $DIR/lint-attr-everywhere-early.rs:89:42
- |
-LL | struct StructTuple(#[deny(unused_parens)](i32));
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:89:27
- |
-LL | struct StructTuple(#[deny(unused_parens)](i32));
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - struct StructTuple(#[deny(unused_parens)](i32));
-LL + struct StructTuple(#[deny(unused_parens)]i32);
- |
-
-error: variant `VARIANT_CAMEL` should have an upper camel case name
- --> $DIR/lint-attr-everywhere-early.rs:93:5
- |
-LL | VARIANT_CAMEL,
- | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `VariantCamel`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:92:12
- |
-LL | #[deny(non_camel_case_types)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unnecessary parentheses around type
- --> $DIR/lint-attr-everywhere-early.rs:99:37
- |
-LL | fn foreign_denied_from_inner(x: (i32));
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:97:13
- |
-LL | #![deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - fn foreign_denied_from_inner(x: (i32));
-LL + fn foreign_denied_from_inner(x: i32);
- |
-
-error: unnecessary parentheses around type
- --> $DIR/lint-attr-everywhere-early.rs:104:37
- |
-LL | fn foreign_denied_from_outer(x: (i32));
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:103:12
- |
-LL | #[deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - fn foreign_denied_from_outer(x: (i32));
-LL + fn foreign_denied_from_outer(x: i32);
- |
-
-error: unnecessary parentheses around type
- --> $DIR/lint-attr-everywhere-early.rs:107:43
- |
-LL | fn function(#[deny(unused_parens)] param: (i32)) {}
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:107:20
- |
-LL | fn function(#[deny(unused_parens)] param: (i32)) {}
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - fn function(#[deny(unused_parens)] param: (i32)) {}
-LL + fn function(#[deny(unused_parens)] param: i32) {}
- |
-
-error: type parameter `foo` should have an upper camel case name
- --> $DIR/lint-attr-everywhere-early.rs:109:42
- |
-LL | fn generics<#[deny(non_camel_case_types)]foo>() {}
- | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Foo`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:109:20
- |
-LL | fn generics<#[deny(non_camel_case_types)]foo>() {}
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unnecessary parentheses around assigned value
- --> $DIR/lint-attr-everywhere-early.rs:115:13
- |
-LL | let x = (1);
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:114:12
- |
-LL | #[deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - let x = (1);
-LL + let x = 1;
- |
-
-error: unnecessary parentheses around type
- --> $DIR/lint-attr-everywhere-early.rs:121:50
- |
-LL | let closure = |#[deny(unused_parens)] param: (i32)| {};
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:121:27
- |
-LL | let closure = |#[deny(unused_parens)] param: (i32)| {};
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - let closure = |#[deny(unused_parens)] param: (i32)| {};
-LL + let closure = |#[deny(unused_parens)] param: i32| {};
- |
-
-error: unnecessary parentheses around block return value
- --> $DIR/lint-attr-everywhere-early.rs:125:46
- |
-LL | let f = Match{#[deny(unused_parens)]f1: {(123)}};
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:125:26
- |
-LL | let f = Match{#[deny(unused_parens)]f1: {(123)}};
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - let f = Match{#[deny(unused_parens)]f1: {(123)}};
-LL + let f = Match{#[deny(unused_parens)]f1: {123}};
- |
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:132:13
- |
-LL | unsafe {}
- | ^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:128:17
- |
-LL | #![deny(unsafe_code)]
- | ^^^^^^^^^^^
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-attr-everywhere-early.rs:133:13
- |
-LL | while true {}
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:130:16
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:140:9
- |
-LL | unsafe {}
- | ^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:139:17
- |
-LL | #![deny(unsafe_code)]
- | ^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:144:9
- |
-LL | unsafe {}
- | ^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:143:16
- |
-LL | #[deny(unsafe_code)]
- | ^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:149:5
- |
-LL | unsafe {};
- | ^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:148:12
- |
-LL | #[deny(unsafe_code)]
- | ^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:151:27
- |
-LL | [#[deny(unsafe_code)] unsafe {123}];
- | ^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:151:13
- |
-LL | [#[deny(unsafe_code)] unsafe {123}];
- | ^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:152:27
- |
-LL | (#[deny(unsafe_code)] unsafe {123},);
- | ^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:152:13
- |
-LL | (#[deny(unsafe_code)] unsafe {123},);
- | ^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:154:31
- |
-LL | call(#[deny(unsafe_code)] unsafe {123});
- | ^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:154:17
- |
-LL | call(#[deny(unsafe_code)] unsafe {123});
- | ^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-attr-everywhere-early.rs:156:38
- |
-LL | TupleStruct(#[deny(unsafe_code)] unsafe {123});
- | ^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:156:24
- |
-LL | TupleStruct(#[deny(unsafe_code)] unsafe {123});
- | ^^^^^^^^^^^
-
-error: `...` range patterns are deprecated
- --> $DIR/lint-attr-everywhere-early.rs:167:18
- |
-LL | f1: 0...100,
- | ^^^ help: use `..=` for an inclusive range
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
- = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-early.rs:166:20
- |
-LL | #[deny(ellipsis_inclusive_range_patterns)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 36 previous errors
-
diff --git a/src/test/ui/lint/lint-attr-everywhere-late.rs b/src/test/ui/lint/lint-attr-everywhere-late.rs
deleted file mode 100644
index 1055157d6..000000000
--- a/src/test/ui/lint/lint-attr-everywhere-late.rs
+++ /dev/null
@@ -1,197 +0,0 @@
-// Tests that lint levels can be set for late lints.
-#![allow(
- non_snake_case,
- overflowing_literals,
- missing_docs,
- dyn_drop,
- enum_intrinsics_non_enums,
- clashing_extern_declarations
-)]
-
-extern crate core;
-use core::mem::{Discriminant, discriminant};
-
-// The following is a check of the lints used here to verify they do not warn
-// when allowed.
-pub fn missing_docs_allowed() {} // missing_docs
-fn dyn_drop_allowed(_x: Box<dyn Drop>) {} // dyn_drop
-fn verify_no_warnings() {
- discriminant::<i32>(&123); // enum_intrinsics_non_enums
- let x: u8 = 1000; // overflowing_literals
- let NON_SNAKE_CASE = 1; // non_snake_case
-}
-mod clashing_extern_allowed {
- extern "C" {
- fn extern_allowed();
- }
-}
-extern "C" {
- fn extern_allowed(_: i32); // clashing_extern_declarations
-}
-
-// ################## Types
-
-#[deny(missing_docs)]
-pub type MissingDocType = i32; //~ ERROR missing documentation for a type alias
-
-// There aren't any late lints that I can find that can be easily used with types.
-// type BareFnPtr = fn(#[deny()]i32);
-// type BareFnPtrVariadic = extern "C" fn(i32, #[deny()]...);
-
-// ################## Items
-#[deny(missing_docs)]
-pub struct ItemOuter; //~ ERROR missing documentation for a struct
-
-pub mod module_inner { //~ ERROR missing documentation for a module
- #![deny(missing_docs)]
- pub fn missing_inner() {} //~ ERROR missing documentation for a function
-}
-
-pub struct Associated;
-impl Associated {
- #![deny(missing_docs)]
-
- pub fn inherent_denied_from_inner() {} //~ ERROR missing documentation for an associated function
-}
-
-impl Associated {
- #[deny(missing_docs)]
- pub fn inherent_fn() {} //~ ERROR missing documentation for an associated function
-
- #[deny(missing_docs)]
- pub const INHERENT_CONST: i32 = 1; //~ ERROR missing documentation for an associated constant
-}
-
-pub trait TraitInner { //~ ERROR missing documentation for a trait
- #![deny(missing_docs)]
-}
-
-pub trait AssociatedTraitInner { //~ ERROR missing documentation for a trait
- #![deny(missing_docs)]
-
- fn denied_from_inner() {} //~ ERROR missing documentation for an associated function
-}
-
-pub trait AssociatedTrait {
- fn denied_from_inner(_x: Box<dyn Drop>) {} // Used below
-
- #[deny(missing_docs)]
- fn assoc_fn() {} //~ ERROR missing documentation for an associated function
-
- #[deny(missing_docs)]
- const ASSOC_CONST: u8 = 1; //~ ERROR missing documentation for an associated constant
-
- #[deny(missing_docs)]
- type AssocType; //~ ERROR missing documentation for an associated type
-}
-
-struct Foo;
-
-impl AssociatedTrait for Associated {
- #![deny(dyn_drop)]
-
- fn denied_from_inner(_x: Box<dyn Drop>) {} //~ ERROR types that do not implement `Drop`
-
- #[deny(enum_intrinsics_non_enums)]
- fn assoc_fn() { discriminant::<i32>(&123); } //~ ERROR the return value of
-
- #[deny(overflowing_literals)] const ASSOC_CONST: u8 = 1000; //~ ERROR literal out of range
- type AssocType = i32;
-}
-
-
-// There aren't any late lints that can apply to a field that I can find.
-// non_snake_case doesn't work on fields
-// struct StructFields {
-// #[deny()]f1: i32,
-// }
-// struct StructTuple(#[deny()]i32);
-
-pub enum Enum {
- #[deny(missing_docs)]
- Variant1, //~ ERROR missing documentation for a variant
-}
-
-mod clashing_extern {
- extern "C" {
- fn clashing1();
- fn clashing2();
- }
-}
-extern "C" {
- #![deny(clashing_extern_declarations)]
- fn clashing1(_: i32); //~ ERROR `clashing1` redeclared with a different signature
-}
-
-extern "C" {
- #[deny(clashing_extern_declarations)]
- fn clashing2(_: i32); //~ ERROR `clashing2` redeclared with a different signature
-}
-
-fn function(#[deny(non_snake_case)] PARAM: i32) {} //~ ERROR variable `PARAM` should have a snake case name
-// There aren't any late lints that can apply to generics that I can find.
-// fn generics<#[deny()]T>() {}
-
-
-// ################## Statements
-fn statements() {
- #[deny(enum_intrinsics_non_enums)]
- let _ = discriminant::<i32>(&123); //~ ERROR the return value of
-}
-
-
-// ################## Expressions
-fn expressions() {
- let closure = |#[deny(non_snake_case)] PARAM: i32| {}; //~ ERROR variable `PARAM` should have a snake case name
-
- struct Match{f1: i32}
- // I can't find any late lints for patterns.
- // let f = Match{#[deny()]f1: 123};
-
- let f = Match{f1: 123};
- match f {
- #![deny(enum_intrinsics_non_enums)]
- Match{f1} => {
- discriminant::<i32>(&123); //~ ERROR the return value of
- }
- }
- match f {
- #[deny(enum_intrinsics_non_enums)]
- Match{f1} => {
- discriminant::<i32>(&123); //~ ERROR the return value of
- }
- }
-
- // Statement Block
- {
- #![deny(enum_intrinsics_non_enums)]
- discriminant::<i32>(&123); //~ ERROR the return value of
- }
- let block_tail = {
- #[deny(enum_intrinsics_non_enums)]
- discriminant::<i32>(&123); //~ ERROR the return value of
- };
-
- // Before expression as a statement.
- #[deny(enum_intrinsics_non_enums)]
- discriminant::<i32>(&123); //~ ERROR the return value of
-
- [#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123)]; //~ ERROR the return value of
- (#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123),); //~ ERROR the return value of
- fn call(p: Discriminant<i32>) {}
- call(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123)); //~ ERROR the return value of
- struct TupleStruct(Discriminant<i32>);
- TupleStruct(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123)); //~ ERROR the return value of
-}
-
-
-// ################## Patterns
-fn patterns() {
- // There aren't any late lints that I can find that apply to pattern fields.
- //
- // struct PatField{f1: i32, f2: i32};
- // let f = PatField{f1: 1, f2: 2};
- // let PatField{#[deny()]f1, #[deny()]..} = f;
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-attr-everywhere-late.stderr b/src/test/ui/lint/lint-attr-everywhere-late.stderr
deleted file mode 100644
index a69c2e0ef..000000000
--- a/src/test/ui/lint/lint-attr-everywhere-late.stderr
+++ /dev/null
@@ -1,428 +0,0 @@
-error: missing documentation for a type alias
- --> $DIR/lint-attr-everywhere-late.rs:35:1
- |
-LL | pub type MissingDocType = i32;
- | ^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:34:8
- |
-LL | #[deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for a struct
- --> $DIR/lint-attr-everywhere-late.rs:43:1
- |
-LL | pub struct ItemOuter;
- | ^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:42:8
- |
-LL | #[deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for a module
- --> $DIR/lint-attr-everywhere-late.rs:45:1
- |
-LL | pub mod module_inner {
- | ^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:46:13
- |
-LL | #![deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for a function
- --> $DIR/lint-attr-everywhere-late.rs:47:5
- |
-LL | pub fn missing_inner() {}
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for an associated function
- --> $DIR/lint-attr-everywhere-late.rs:54:5
- |
-LL | pub fn inherent_denied_from_inner() {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:52:13
- |
-LL | #![deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for an associated function
- --> $DIR/lint-attr-everywhere-late.rs:59:5
- |
-LL | pub fn inherent_fn() {}
- | ^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:58:12
- |
-LL | #[deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for an associated constant
- --> $DIR/lint-attr-everywhere-late.rs:62:5
- |
-LL | pub const INHERENT_CONST: i32 = 1;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:61:12
- |
-LL | #[deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for a trait
- --> $DIR/lint-attr-everywhere-late.rs:65:1
- |
-LL | pub trait TraitInner {
- | ^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:66:13
- |
-LL | #![deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for a trait
- --> $DIR/lint-attr-everywhere-late.rs:69:1
- |
-LL | pub trait AssociatedTraitInner {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:70:13
- |
-LL | #![deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for an associated function
- --> $DIR/lint-attr-everywhere-late.rs:72:5
- |
-LL | fn denied_from_inner() {}
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for an associated function
- --> $DIR/lint-attr-everywhere-late.rs:79:5
- |
-LL | fn assoc_fn() {}
- | ^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:78:12
- |
-LL | #[deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for an associated constant
- --> $DIR/lint-attr-everywhere-late.rs:82:5
- |
-LL | const ASSOC_CONST: u8 = 1;
- | ^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:81:12
- |
-LL | #[deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for an associated type
- --> $DIR/lint-attr-everywhere-late.rs:85:5
- |
-LL | type AssocType;
- | ^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:84:12
- |
-LL | #[deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for a variant
- --> $DIR/lint-attr-everywhere-late.rs:112:5
- |
-LL | Variant1,
- | ^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:111:12
- |
-LL | #[deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: `clashing1` redeclared with a different signature
- --> $DIR/lint-attr-everywhere-late.rs:123:5
- |
-LL | fn clashing1();
- | --------------- `clashing1` previously declared here
-...
-LL | fn clashing1(_: i32);
- | ^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn()`
- found `unsafe extern "C" fn(i32)`
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:122:13
- |
-LL | #![deny(clashing_extern_declarations)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: `clashing2` redeclared with a different signature
- --> $DIR/lint-attr-everywhere-late.rs:128:5
- |
-LL | fn clashing2();
- | --------------- `clashing2` previously declared here
-...
-LL | fn clashing2(_: i32);
- | ^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
- |
- = note: expected `unsafe extern "C" fn()`
- found `unsafe extern "C" fn(i32)`
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:127:12
- |
-LL | #[deny(clashing_extern_declarations)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: types that do not implement `Drop` can still have drop glue, consider instead using `std::mem::needs_drop` to detect whether a type is trivially dropped
- --> $DIR/lint-attr-everywhere-late.rs:93:38
- |
-LL | fn denied_from_inner(_x: Box<dyn Drop>) {}
- | ^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:91:13
- |
-LL | #![deny(dyn_drop)]
- | ^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:96:21
- |
-LL | fn assoc_fn() { discriminant::<i32>(&123); }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:96:41
- |
-LL | fn assoc_fn() { discriminant::<i32>(&123); }
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:95:12
- |
-LL | #[deny(enum_intrinsics_non_enums)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: literal out of range for `u8`
- --> $DIR/lint-attr-everywhere-late.rs:98:59
- |
-LL | #[deny(overflowing_literals)] const ASSOC_CONST: u8 = 1000;
- | ^^^^
- |
- = note: the literal `1000` does not fit into the type `u8` whose range is `0..=255`
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:98:12
- |
-LL | #[deny(overflowing_literals)] const ASSOC_CONST: u8 = 1000;
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: variable `PARAM` should have a snake case name
- --> $DIR/lint-attr-everywhere-late.rs:131:37
- |
-LL | fn function(#[deny(non_snake_case)] PARAM: i32) {}
- | ^^^^^ help: convert the identifier to snake case: `param`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:131:20
- |
-LL | fn function(#[deny(non_snake_case)] PARAM: i32) {}
- | ^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:139:13
- |
-LL | let _ = discriminant::<i32>(&123);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:139:33
- |
-LL | let _ = discriminant::<i32>(&123);
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:138:12
- |
-LL | #[deny(enum_intrinsics_non_enums)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: variable `PARAM` should have a snake case name
- --> $DIR/lint-attr-everywhere-late.rs:145:44
- |
-LL | let closure = |#[deny(non_snake_case)] PARAM: i32| {};
- | ^^^^^ help: convert the identifier to snake case: `param`
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:145:27
- |
-LL | let closure = |#[deny(non_snake_case)] PARAM: i32| {};
- | ^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:155:13
- |
-LL | discriminant::<i32>(&123);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:155:33
- |
-LL | discriminant::<i32>(&123);
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:153:17
- |
-LL | #![deny(enum_intrinsics_non_enums)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:161:13
- |
-LL | discriminant::<i32>(&123);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:161:33
- |
-LL | discriminant::<i32>(&123);
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:159:16
- |
-LL | #[deny(enum_intrinsics_non_enums)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:168:9
- |
-LL | discriminant::<i32>(&123);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:168:29
- |
-LL | discriminant::<i32>(&123);
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:167:17
- |
-LL | #![deny(enum_intrinsics_non_enums)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:172:9
- |
-LL | discriminant::<i32>(&123);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:172:29
- |
-LL | discriminant::<i32>(&123);
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:171:16
- |
-LL | #[deny(enum_intrinsics_non_enums)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:177:5
- |
-LL | discriminant::<i32>(&123);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:177:25
- |
-LL | discriminant::<i32>(&123);
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:176:12
- |
-LL | #[deny(enum_intrinsics_non_enums)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:179:41
- |
-LL | [#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123)];
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:179:61
- |
-LL | [#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123)];
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:179:13
- |
-LL | [#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123)];
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:180:41
- |
-LL | (#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123),);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:180:61
- |
-LL | (#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123),);
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:180:13
- |
-LL | (#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123),);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:182:45
- |
-LL | call(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123));
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:182:65
- |
-LL | call(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123));
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:182:17
- |
-LL | call(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123));
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-attr-everywhere-late.rs:184:52
- |
-LL | TupleStruct(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123));
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `i32`, which is not an enum.
- --> $DIR/lint-attr-everywhere-late.rs:184:72
- |
-LL | TupleStruct(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123));
- | ^^^^
-note: the lint level is defined here
- --> $DIR/lint-attr-everywhere-late.rs:184:24
- |
-LL | TupleStruct(#[deny(enum_intrinsics_non_enums)] discriminant::<i32>(&123));
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 31 previous errors
-
diff --git a/src/test/ui/lint/lint-attr-non-item-node.rs b/src/test/ui/lint/lint-attr-non-item-node.rs
deleted file mode 100644
index 3f05e83a7..000000000
--- a/src/test/ui/lint/lint-attr-non-item-node.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// Checks that lint attributes work on non-item AST nodes
-
-fn main() {
- #[deny(unreachable_code)]
- loop {
- break;
- "unreachable"; //~ ERROR unreachable statement
- }
-}
diff --git a/src/test/ui/lint/lint-attr-non-item-node.stderr b/src/test/ui/lint/lint-attr-non-item-node.stderr
deleted file mode 100644
index 583579140..000000000
--- a/src/test/ui/lint/lint-attr-non-item-node.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-error: unreachable statement
- --> $DIR/lint-attr-non-item-node.rs:7:9
- |
-LL | break;
- | ----- any code following this expression is unreachable
-LL | "unreachable";
- | ^^^^^^^^^^^^^^ unreachable statement
- |
-note: the lint level is defined here
- --> $DIR/lint-attr-non-item-node.rs:4:12
- |
-LL | #[deny(unreachable_code)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-cap.rs b/src/test/ui/lint/lint-cap.rs
deleted file mode 100644
index 461b923cc..000000000
--- a/src/test/ui/lint/lint-cap.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// run-pass
-// compile-flags: --cap-lints allow
-
-#![deny(warnings)]
-
-use std::option;
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-change-warnings.rs b/src/test/ui/lint/lint-change-warnings.rs
deleted file mode 100644
index 37af3b761..000000000
--- a/src/test/ui/lint/lint-change-warnings.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-#![deny(warnings)]
-#![allow(dead_code)]
-
-fn main() {
- while true {} //~ ERROR: infinite
-}
-
-#[allow(warnings)]
-fn foo() {
- while true {}
-}
-
-#[warn(warnings)]
-fn bar() {
- while true {} //~ WARNING: infinite
-}
-
-#[forbid(warnings)]
-fn baz() {
- while true {} //~ ERROR: infinite
-}
diff --git a/src/test/ui/lint/lint-change-warnings.stderr b/src/test/ui/lint/lint-change-warnings.stderr
deleted file mode 100644
index 3fd5283aa..000000000
--- a/src/test/ui/lint/lint-change-warnings.stderr
+++ /dev/null
@@ -1,36 +0,0 @@
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-change-warnings.rs:5:5
- |
-LL | while true {}
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-change-warnings.rs:1:9
- |
-LL | #![deny(warnings)]
- | ^^^^^^^^
- = note: `#[deny(while_true)]` implied by `#[deny(warnings)]`
-
-warning: denote infinite loops with `loop { ... }`
- --> $DIR/lint-change-warnings.rs:15:5
- |
-LL | while true {}
- | ^^^^^^^^^^ help: use `loop`
- |
- = note: `#[warn(while_true)]` on by default
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-change-warnings.rs:20:5
- |
-LL | while true {}
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-change-warnings.rs:18:10
- |
-LL | #[forbid(warnings)]
- | ^^^^^^^^
- = note: `#[forbid(while_true)]` implied by `#[forbid(warnings)]`
-
-error: aborting due to 2 previous errors; 1 warning emitted
-
diff --git a/src/test/ui/lint/lint-const-item-mutation.rs b/src/test/ui/lint/lint-const-item-mutation.rs
deleted file mode 100644
index 4bf5e0a9e..000000000
--- a/src/test/ui/lint/lint-const-item-mutation.rs
+++ /dev/null
@@ -1,66 +0,0 @@
-// check-pass
-
-struct MyStruct {
- field: bool,
- inner_array: [char; 1],
- raw_ptr: *mut u8
-}
-impl MyStruct {
- fn use_mut(&mut self) {}
-}
-
-struct Mutable {
- msg: &'static str,
-}
-impl Drop for Mutable {
- fn drop(&mut self) {
- println!("{}", self.msg);
- }
-}
-
-struct Mutable2 { // this one has drop glue but not a Drop impl
- msg: &'static str,
- other: String,
-}
-
-const ARRAY: [u8; 1] = [25];
-const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
-const RAW_PTR: *mut u8 = 1 as *mut u8;
-const MUTABLE: Mutable = Mutable { msg: "" };
-const MUTABLE2: Mutable2 = Mutable2 { msg: "", other: String::new() };
-const VEC: Vec<i32> = Vec::new();
-const PTR: *mut () = 1 as *mut _;
-const PTR_TO_ARRAY: *mut [u32; 4] = 0x12345678 as _;
-const ARRAY_OF_PTR: [*mut u32; 1] = [1 as *mut _];
-
-fn main() {
- ARRAY[0] = 5; //~ WARN attempting to modify
- MY_STRUCT.field = false; //~ WARN attempting to modify
- MY_STRUCT.inner_array[0] = 'b'; //~ WARN attempting to modify
- MY_STRUCT.use_mut(); //~ WARN taking
- &mut MY_STRUCT; //~ WARN taking
- (&mut MY_STRUCT).use_mut(); //~ WARN taking
-
- // Test that we don't warn when writing through
- // a raw pointer
- // This is U.B., but this test is check-pass,
- // so this never actually executes
- unsafe {
- *RAW_PTR = 0;
- *MY_STRUCT.raw_ptr = 0;
- }
-
- MUTABLE.msg = "wow"; // no warning, because Drop observes the mutation
- MUTABLE2.msg = "wow"; //~ WARN attempting to modify
- VEC.push(0); //~ WARN taking a mutable reference to a `const` item
-
- // Test that we don't warn when converting a raw pointer
- // into a mutable reference
- unsafe { &mut *PTR };
-
- // Test that we don't warn when there's a dereference involved.
- // If we ever 'leave' the const via a deference, we're going
- // to end up modifying something other than the temporary
- unsafe { (*PTR_TO_ARRAY)[0] = 1 };
- unsafe { *ARRAY_OF_PTR[0] = 25; }
-}
diff --git a/src/test/ui/lint/lint-const-item-mutation.stderr b/src/test/ui/lint/lint-const-item-mutation.stderr
deleted file mode 100644
index 9f4360e67..000000000
--- a/src/test/ui/lint/lint-const-item-mutation.stderr
+++ /dev/null
@@ -1,121 +0,0 @@
-warning: attempting to modify a `const` item
- --> $DIR/lint-const-item-mutation.rs:37:5
- |
-LL | ARRAY[0] = 5;
- | ^^^^^^^^^^^^
- |
- = note: each usage of a `const` item creates a new temporary; the original `const` item will not be modified
-note: `const` item defined here
- --> $DIR/lint-const-item-mutation.rs:26:1
- |
-LL | const ARRAY: [u8; 1] = [25];
- | ^^^^^^^^^^^^^^^^^^^^
- = note: `#[warn(const_item_mutation)]` on by default
-
-warning: attempting to modify a `const` item
- --> $DIR/lint-const-item-mutation.rs:38:5
- |
-LL | MY_STRUCT.field = false;
- | ^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: each usage of a `const` item creates a new temporary; the original `const` item will not be modified
-note: `const` item defined here
- --> $DIR/lint-const-item-mutation.rs:27:1
- |
-LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: attempting to modify a `const` item
- --> $DIR/lint-const-item-mutation.rs:39:5
- |
-LL | MY_STRUCT.inner_array[0] = 'b';
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: each usage of a `const` item creates a new temporary; the original `const` item will not be modified
-note: `const` item defined here
- --> $DIR/lint-const-item-mutation.rs:27:1
- |
-LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: taking a mutable reference to a `const` item
- --> $DIR/lint-const-item-mutation.rs:40:5
- |
-LL | MY_STRUCT.use_mut();
- | ^^^^^^^^^^^^^^^^^^^
- |
- = note: each usage of a `const` item creates a new temporary
- = note: the mutable reference will refer to this temporary, not the original `const` item
-note: mutable reference created due to call to this method
- --> $DIR/lint-const-item-mutation.rs:9:5
- |
-LL | fn use_mut(&mut self) {}
- | ^^^^^^^^^^^^^^^^^^^^^
-note: `const` item defined here
- --> $DIR/lint-const-item-mutation.rs:27:1
- |
-LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: taking a mutable reference to a `const` item
- --> $DIR/lint-const-item-mutation.rs:41:5
- |
-LL | &mut MY_STRUCT;
- | ^^^^^^^^^^^^^^
- |
- = note: each usage of a `const` item creates a new temporary
- = note: the mutable reference will refer to this temporary, not the original `const` item
-note: `const` item defined here
- --> $DIR/lint-const-item-mutation.rs:27:1
- |
-LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: taking a mutable reference to a `const` item
- --> $DIR/lint-const-item-mutation.rs:42:5
- |
-LL | (&mut MY_STRUCT).use_mut();
- | ^^^^^^^^^^^^^^^^
- |
- = note: each usage of a `const` item creates a new temporary
- = note: the mutable reference will refer to this temporary, not the original `const` item
-note: `const` item defined here
- --> $DIR/lint-const-item-mutation.rs:27:1
- |
-LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: attempting to modify a `const` item
- --> $DIR/lint-const-item-mutation.rs:54:5
- |
-LL | MUTABLE2.msg = "wow";
- | ^^^^^^^^^^^^^^^^^^^^
- |
- = note: each usage of a `const` item creates a new temporary; the original `const` item will not be modified
-note: `const` item defined here
- --> $DIR/lint-const-item-mutation.rs:30:1
- |
-LL | const MUTABLE2: Mutable2 = Mutable2 { msg: "", other: String::new() };
- | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: taking a mutable reference to a `const` item
- --> $DIR/lint-const-item-mutation.rs:55:5
- |
-LL | VEC.push(0);
- | ^^^^^^^^^^^
- |
- = note: each usage of a `const` item creates a new temporary
- = note: the mutable reference will refer to this temporary, not the original `const` item
-note: mutable reference created due to call to this method
- --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
- |
-LL | pub fn push(&mut self, value: T) {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-note: `const` item defined here
- --> $DIR/lint-const-item-mutation.rs:31:1
- |
-LL | const VEC: Vec<i32> = Vec::new();
- | ^^^^^^^^^^^^^^^^^^^
-
-warning: 8 warnings emitted
-
diff --git a/src/test/ui/lint/lint-ctypes-66202.rs b/src/test/ui/lint/lint-ctypes-66202.rs
deleted file mode 100644
index ebab41d14..000000000
--- a/src/test/ui/lint/lint-ctypes-66202.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// check-pass
-
-#![deny(improper_ctypes)]
-
-// This test checks that return types are normalized before being checked for FFI-safety, and that
-// transparent newtype wrappers are FFI-safe if the type being wrapped is FFI-safe.
-
-#[repr(transparent)]
-pub struct W<T>(T);
-
-extern "C" {
- pub fn bare() -> ();
- pub fn normalize() -> <() as ToOwned>::Owned;
- pub fn transparent() -> W<()>;
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73249-1.rs b/src/test/ui/lint/lint-ctypes-73249-1.rs
deleted file mode 100644
index cf416c3fe..000000000
--- a/src/test/ui/lint/lint-ctypes-73249-1.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// check-pass
-#![deny(improper_ctypes)]
-
-pub trait Foo {
- type Assoc: 'static;
-}
-
-impl Foo for () {
- type Assoc = u32;
-}
-
-extern "C" {
- pub fn lint_me(x: Bar<()>);
-}
-
-#[repr(transparent)]
-pub struct Bar<T: Foo> {
- value: &'static <T as Foo>::Assoc,
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73249-2.rs b/src/test/ui/lint/lint-ctypes-73249-2.rs
deleted file mode 100644
index 691047c8a..000000000
--- a/src/test/ui/lint/lint-ctypes-73249-2.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-#![feature(type_alias_impl_trait)]
-#![deny(improper_ctypes)]
-
-pub trait Baz {}
-
-impl Baz for () {}
-
-type Qux = impl Baz;
-
-fn assign() -> Qux {}
-
-pub trait Foo {
- type Assoc: 'static;
-}
-
-impl Foo for () {
- type Assoc = Qux;
-}
-
-#[repr(transparent)]
-pub struct A<T: Foo> {
- x: &'static <T as Foo>::Assoc,
-}
-
-extern "C" {
- pub fn lint_me() -> A<()>; //~ ERROR: uses type `Qux`
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73249-2.stderr b/src/test/ui/lint/lint-ctypes-73249-2.stderr
deleted file mode 100644
index 8073c33dd..000000000
--- a/src/test/ui/lint/lint-ctypes-73249-2.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: `extern` block uses type `Qux`, which is not FFI-safe
- --> $DIR/lint-ctypes-73249-2.rs:26:25
- |
-LL | pub fn lint_me() -> A<()>;
- | ^^^^^ not FFI-safe
- |
- = note: opaque types have no C equivalent
-note: the lint level is defined here
- --> $DIR/lint-ctypes-73249-2.rs:2:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-ctypes-73249-3.rs b/src/test/ui/lint/lint-ctypes-73249-3.rs
deleted file mode 100644
index ef8ab7e03..000000000
--- a/src/test/ui/lint/lint-ctypes-73249-3.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-#![feature(type_alias_impl_trait)]
-#![deny(improper_ctypes)]
-
-pub trait Baz {}
-
-impl Baz for u32 {}
-
-type Qux = impl Baz;
-
-fn assign() -> Qux {
- 3
-}
-
-#[repr(C)]
-pub struct A {
- x: Qux,
-}
-
-extern "C" {
- pub fn lint_me() -> A; //~ ERROR: uses type `Qux`
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73249-3.stderr b/src/test/ui/lint/lint-ctypes-73249-3.stderr
deleted file mode 100644
index c41ce666d..000000000
--- a/src/test/ui/lint/lint-ctypes-73249-3.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: `extern` block uses type `Qux`, which is not FFI-safe
- --> $DIR/lint-ctypes-73249-3.rs:20:25
- |
-LL | pub fn lint_me() -> A;
- | ^ not FFI-safe
- |
- = note: opaque types have no C equivalent
-note: the lint level is defined here
- --> $DIR/lint-ctypes-73249-3.rs:2:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-ctypes-73249-4.rs b/src/test/ui/lint/lint-ctypes-73249-4.rs
deleted file mode 100644
index 6c72bd691..000000000
--- a/src/test/ui/lint/lint-ctypes-73249-4.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// check-pass
-#![deny(improper_ctypes)]
-
-use std::marker::PhantomData;
-
-trait Foo {
- type Assoc;
-}
-
-impl Foo for () {
- type Assoc = PhantomData<()>;
-}
-
-#[repr(transparent)]
-struct Wow<T> where T: Foo<Assoc = PhantomData<T>> {
- x: <T as Foo>::Assoc,
- v: u32,
-}
-
-extern "C" {
- fn test(v: Wow<()>);
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73249-5.rs b/src/test/ui/lint/lint-ctypes-73249-5.rs
deleted file mode 100644
index 083fb6c5f..000000000
--- a/src/test/ui/lint/lint-ctypes-73249-5.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-#![feature(type_alias_impl_trait)]
-#![deny(improper_ctypes)]
-
-pub trait Baz {}
-
-impl Baz for u32 {}
-
-type Qux = impl Baz;
-
-fn assign() -> Qux {
- 3
-}
-
-#[repr(transparent)]
-pub struct A {
- x: Qux,
-}
-
-extern "C" {
- pub fn lint_me() -> A; //~ ERROR: uses type `Qux`
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73249-5.stderr b/src/test/ui/lint/lint-ctypes-73249-5.stderr
deleted file mode 100644
index 98245c4f1..000000000
--- a/src/test/ui/lint/lint-ctypes-73249-5.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: `extern` block uses type `Qux`, which is not FFI-safe
- --> $DIR/lint-ctypes-73249-5.rs:20:25
- |
-LL | pub fn lint_me() -> A;
- | ^ not FFI-safe
- |
- = note: opaque types have no C equivalent
-note: the lint level is defined here
- --> $DIR/lint-ctypes-73249-5.rs:2:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-ctypes-73249.rs b/src/test/ui/lint/lint-ctypes-73249.rs
deleted file mode 100644
index 5b48fa9b7..000000000
--- a/src/test/ui/lint/lint-ctypes-73249.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// check-pass
-#![deny(improper_ctypes)]
-
-pub trait Foo {
- type Assoc;
-}
-
-impl Foo for () {
- type Assoc = u32;
-}
-
-extern "C" {
- pub fn lint_me(x: Bar<()>);
-}
-
-#[repr(transparent)]
-pub struct Bar<T: Foo> {
- value: <T as Foo>::Assoc,
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73251-1.rs b/src/test/ui/lint/lint-ctypes-73251-1.rs
deleted file mode 100644
index 145ba784f..000000000
--- a/src/test/ui/lint/lint-ctypes-73251-1.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-#![feature(type_alias_impl_trait)]
-#![deny(improper_ctypes)]
-
-pub trait Baz {}
-
-impl Baz for u32 {}
-
-type Qux = impl Baz;
-
-pub trait Foo {
- type Assoc;
-}
-
-impl Foo for u32 {
- type Assoc = Qux;
-}
-
-fn assign() -> Qux {
- 1
-}
-
-extern "C" {
- pub fn lint_me() -> <u32 as Foo>::Assoc; //~ ERROR: uses type `Qux`
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73251-1.stderr b/src/test/ui/lint/lint-ctypes-73251-1.stderr
deleted file mode 100644
index 9f43576ad..000000000
--- a/src/test/ui/lint/lint-ctypes-73251-1.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: `extern` block uses type `Qux`, which is not FFI-safe
- --> $DIR/lint-ctypes-73251-1.rs:23:25
- |
-LL | pub fn lint_me() -> <u32 as Foo>::Assoc;
- | ^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: opaque types have no C equivalent
-note: the lint level is defined here
- --> $DIR/lint-ctypes-73251-1.rs:2:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-ctypes-73251-2.rs b/src/test/ui/lint/lint-ctypes-73251-2.rs
deleted file mode 100644
index df71a9457..000000000
--- a/src/test/ui/lint/lint-ctypes-73251-2.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-#![feature(type_alias_impl_trait)]
-#![deny(improper_ctypes)]
-
-pub trait TraitA {
- type Assoc;
-}
-
-impl TraitA for u32 {
- type Assoc = u32;
-}
-
-pub trait TraitB {
- type Assoc;
-}
-
-impl<T> TraitB for T
-where
- T: TraitA,
-{
- type Assoc = <T as TraitA>::Assoc;
-}
-
-type AliasA = impl TraitA<Assoc = u32>;
-
-type AliasB = impl TraitB<Assoc = AliasA>;
-
-fn use_of_a() -> AliasA {
- 3
-}
-
-fn use_of_b() -> AliasB {
- 3
-}
-
-extern "C" {
- pub fn lint_me() -> <AliasB as TraitB>::Assoc; //~ ERROR: uses type `AliasA`
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73251-2.stderr b/src/test/ui/lint/lint-ctypes-73251-2.stderr
deleted file mode 100644
index 0b3de379c..000000000
--- a/src/test/ui/lint/lint-ctypes-73251-2.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: `extern` block uses type `AliasA`, which is not FFI-safe
- --> $DIR/lint-ctypes-73251-2.rs:36:25
- |
-LL | pub fn lint_me() -> <AliasB as TraitB>::Assoc;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: opaque types have no C equivalent
-note: the lint level is defined here
- --> $DIR/lint-ctypes-73251-2.rs:2:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-ctypes-73251.rs b/src/test/ui/lint/lint-ctypes-73251.rs
deleted file mode 100644
index ebc2ca77b..000000000
--- a/src/test/ui/lint/lint-ctypes-73251.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// check-pass
-
-#![feature(type_alias_impl_trait)]
-#![deny(improper_ctypes)]
-
-pub trait Foo {
- type Assoc;
-}
-
-impl Foo for () {
- type Assoc = u32;
-}
-
-type Bar = impl Foo<Assoc = u32>;
-
-fn assign() -> Bar {}
-
-extern "C" {
- pub fn lint_me() -> <Bar as Foo>::Assoc;
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-73747.rs b/src/test/ui/lint/lint-ctypes-73747.rs
deleted file mode 100644
index 293ffd5c2..000000000
--- a/src/test/ui/lint/lint-ctypes-73747.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// check-pass
-
-#[repr(transparent)]
-struct NonNullRawComPtr<T: ComInterface> {
- inner: std::ptr::NonNull<<T as ComInterface>::VTable>,
-}
-
-trait ComInterface {
- type VTable;
-}
-
-extern "C" fn invoke<T: ComInterface>(_: Option<NonNullRawComPtr<T>>) {}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-enum.rs b/src/test/ui/lint/lint-ctypes-enum.rs
deleted file mode 100644
index 7c2060805..000000000
--- a/src/test/ui/lint/lint-ctypes-enum.rs
+++ /dev/null
@@ -1,92 +0,0 @@
-#![feature(transparent_unions)]
-#![feature(ptr_internals)]
-#![deny(improper_ctypes)]
-#![allow(dead_code)]
-
-use std::num;
-
-enum Z {}
-enum U {
- A,
-}
-enum B {
- C,
- D,
-}
-enum T {
- E,
- F,
- G,
-}
-
-#[repr(C)]
-enum ReprC {
- A,
- B,
- C,
-}
-
-#[repr(u8)]
-enum U8 {
- A,
- B,
- C,
-}
-
-#[repr(isize)]
-enum Isize {
- A,
- B,
- C,
-}
-
-#[repr(transparent)]
-struct TransparentStruct<T>(T, std::marker::PhantomData<Z>);
-
-#[repr(transparent)]
-enum TransparentEnum<T> {
- Variant(T, std::marker::PhantomData<Z>),
-}
-
-#[repr(transparent)]
-union TransparentUnion<T: Copy> {
- field: T,
-}
-
-struct Rust<T>(T);
-
-extern "C" {
- fn zf(x: Z);
- fn uf(x: U); //~ ERROR `extern` block uses type `U`
- fn bf(x: B); //~ ERROR `extern` block uses type `B`
- fn tf(x: T); //~ ERROR `extern` block uses type `T`
- fn repr_c(x: ReprC);
- fn repr_u8(x: U8);
- fn repr_isize(x: Isize);
- fn option_ref(x: Option<&'static u8>);
- fn option_fn(x: Option<extern "C" fn()>);
- fn nonnull(x: Option<std::ptr::NonNull<u8>>);
- fn unique(x: Option<std::ptr::Unique<u8>>);
- fn nonzero_u8(x: Option<num::NonZeroU8>);
- fn nonzero_u16(x: Option<num::NonZeroU16>);
- fn nonzero_u32(x: Option<num::NonZeroU32>);
- fn nonzero_u64(x: Option<num::NonZeroU64>);
- fn nonzero_u128(x: Option<num::NonZeroU128>);
- //~^ ERROR `extern` block uses type `u128`
- fn nonzero_usize(x: Option<num::NonZeroUsize>);
- fn nonzero_i8(x: Option<num::NonZeroI8>);
- fn nonzero_i16(x: Option<num::NonZeroI16>);
- fn nonzero_i32(x: Option<num::NonZeroI32>);
- fn nonzero_i64(x: Option<num::NonZeroI64>);
- fn nonzero_i128(x: Option<num::NonZeroI128>);
- //~^ ERROR `extern` block uses type `i128`
- fn nonzero_isize(x: Option<num::NonZeroIsize>);
- fn transparent_struct(x: Option<TransparentStruct<num::NonZeroU8>>);
- fn transparent_enum(x: Option<TransparentEnum<num::NonZeroU8>>);
- fn transparent_union(x: Option<TransparentUnion<num::NonZeroU8>>);
- //~^ ERROR `extern` block uses type
- fn repr_rust(x: Option<Rust<num::NonZeroU8>>); //~ ERROR `extern` block uses type
- fn no_result(x: Result<(), num::NonZeroI32>); //~ ERROR `extern` block uses type
-}
-
-pub fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-enum.stderr b/src/test/ui/lint/lint-ctypes-enum.stderr
deleted file mode 100644
index 8554e2617..000000000
--- a/src/test/ui/lint/lint-ctypes-enum.stderr
+++ /dev/null
@@ -1,92 +0,0 @@
-error: `extern` block uses type `U`, which is not FFI-safe
- --> $DIR/lint-ctypes-enum.rs:60:13
- |
-LL | fn uf(x: U);
- | ^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-note: the type is defined here
- --> $DIR/lint-ctypes-enum.rs:9:1
- |
-LL | enum U {
- | ^^^^^^
-note: the lint level is defined here
- --> $DIR/lint-ctypes-enum.rs:3:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: `extern` block uses type `B`, which is not FFI-safe
- --> $DIR/lint-ctypes-enum.rs:61:13
- |
-LL | fn bf(x: B);
- | ^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-note: the type is defined here
- --> $DIR/lint-ctypes-enum.rs:12:1
- |
-LL | enum B {
- | ^^^^^^
-
-error: `extern` block uses type `T`, which is not FFI-safe
- --> $DIR/lint-ctypes-enum.rs:62:13
- |
-LL | fn tf(x: T);
- | ^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-note: the type is defined here
- --> $DIR/lint-ctypes-enum.rs:16:1
- |
-LL | enum T {
- | ^^^^^^
-
-error: `extern` block uses type `u128`, which is not FFI-safe
- --> $DIR/lint-ctypes-enum.rs:74:23
- |
-LL | fn nonzero_u128(x: Option<num::NonZeroU128>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: `extern` block uses type `i128`, which is not FFI-safe
- --> $DIR/lint-ctypes-enum.rs:81:23
- |
-LL | fn nonzero_i128(x: Option<num::NonZeroI128>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: `extern` block uses type `Option<TransparentUnion<NonZeroU8>>`, which is not FFI-safe
- --> $DIR/lint-ctypes-enum.rs:86:28
- |
-LL | fn transparent_union(x: Option<TransparentUnion<num::NonZeroU8>>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-
-error: `extern` block uses type `Option<Rust<NonZeroU8>>`, which is not FFI-safe
- --> $DIR/lint-ctypes-enum.rs:88:20
- |
-LL | fn repr_rust(x: Option<Rust<num::NonZeroU8>>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-
-error: `extern` block uses type `Result<(), NonZeroI32>`, which is not FFI-safe
- --> $DIR/lint-ctypes-enum.rs:89:20
- |
-LL | fn no_result(x: Result<(), num::NonZeroI32>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-
-error: aborting due to 8 previous errors
-
diff --git a/src/test/ui/lint/lint-ctypes-fn.rs b/src/test/ui/lint/lint-ctypes-fn.rs
deleted file mode 100644
index d3b36a9d5..000000000
--- a/src/test/ui/lint/lint-ctypes-fn.rs
+++ /dev/null
@@ -1,196 +0,0 @@
-#![feature(rustc_private)]
-
-#![allow(private_in_public)]
-#![deny(improper_ctypes_definitions)]
-
-extern crate libc;
-
-use std::default::Default;
-use std::marker::PhantomData;
-
-trait Trait {}
-
-trait Mirror { type It: ?Sized; }
-
-impl<T: ?Sized> Mirror for T { type It = Self; }
-
-#[repr(C)]
-pub struct StructWithProjection(*mut <StructWithProjection as Mirror>::It);
-
-#[repr(C)]
-pub struct StructWithProjectionAndLifetime<'a>(
- &'a mut <StructWithProjectionAndLifetime<'a> as Mirror>::It
-);
-
-pub type I32Pair = (i32, i32);
-
-#[repr(C)]
-pub struct ZeroSize;
-
-pub type RustFn = fn();
-
-pub type RustBadRet = extern "C" fn() -> Box<u32>;
-
-pub type CVoidRet = ();
-
-pub struct Foo;
-
-#[repr(transparent)]
-pub struct TransparentI128(i128);
-
-#[repr(transparent)]
-pub struct TransparentStr(&'static str);
-
-#[repr(transparent)]
-pub struct TransparentBadFn(RustBadRet);
-
-#[repr(transparent)]
-pub struct TransparentInt(u32);
-
-#[repr(transparent)]
-pub struct TransparentRef<'a>(&'a TransparentInt);
-
-#[repr(transparent)]
-pub struct TransparentLifetime<'a>(*const u8, PhantomData<&'a ()>);
-
-#[repr(transparent)]
-pub struct TransparentUnit<U>(f32, PhantomData<U>);
-
-#[repr(transparent)]
-pub struct TransparentCustomZst(i32, ZeroSize);
-
-#[repr(C)]
-pub struct ZeroSizeWithPhantomData(PhantomData<i32>);
-
-pub extern "C" fn ptr_type1(size: *const Foo) { }
-
-pub extern "C" fn ptr_type2(size: *const Foo) { }
-
-pub extern "C" fn ptr_unit(p: *const ()) { }
-
-pub extern "C" fn ptr_tuple(p: *const ((),)) { }
-
-pub extern "C" fn slice_type(p: &[u32]) { }
-//~^ ERROR: uses type `[u32]`
-
-pub extern "C" fn str_type(p: &str) { }
-//~^ ERROR: uses type `str`
-
-pub extern "C" fn box_type(p: Box<u32>) { }
-
-pub extern "C" fn opt_box_type(p: Option<Box<u32>>) { }
-
-pub extern "C" fn boxed_slice(p: Box<[u8]>) { }
-//~^ ERROR: uses type `Box<[u8]>`
-
-pub extern "C" fn boxed_string(p: Box<str>) { }
-//~^ ERROR: uses type `Box<str>`
-
-pub extern "C" fn boxed_trait(p: Box<dyn Trait>) { }
-//~^ ERROR: uses type `Box<dyn Trait>`
-
-pub extern "C" fn char_type(p: char) { }
-//~^ ERROR uses type `char`
-
-pub extern "C" fn i128_type(p: i128) { }
-//~^ ERROR uses type `i128`
-
-pub extern "C" fn u128_type(p: u128) { }
-//~^ ERROR uses type `u128`
-
-pub extern "C" fn tuple_type(p: (i32, i32)) { }
-//~^ ERROR uses type `(i32, i32)`
-
-pub extern "C" fn tuple_type2(p: I32Pair) { }
-//~^ ERROR uses type `(i32, i32)`
-
-pub extern "C" fn zero_size(p: ZeroSize) { }
-//~^ ERROR uses type `ZeroSize`
-
-pub extern "C" fn zero_size_phantom(p: ZeroSizeWithPhantomData) { }
-//~^ ERROR uses type `ZeroSizeWithPhantomData`
-
-pub extern "C" fn zero_size_phantom_toplevel() -> PhantomData<bool> {
-//~^ ERROR uses type `PhantomData<bool>`
- Default::default()
-}
-
-pub extern "C" fn fn_type(p: RustFn) { }
-//~^ ERROR uses type `fn()`
-
-pub extern "C" fn fn_type2(p: fn()) { }
-//~^ ERROR uses type `fn()`
-
-pub extern "C" fn fn_contained(p: RustBadRet) { }
-
-pub extern "C" fn transparent_i128(p: TransparentI128) { }
-//~^ ERROR: uses type `i128`
-
-pub extern "C" fn transparent_str(p: TransparentStr) { }
-//~^ ERROR: uses type `str`
-
-pub extern "C" fn transparent_fn(p: TransparentBadFn) { }
-
-pub extern "C" fn good3(fptr: Option<extern "C" fn()>) { }
-
-pub extern "C" fn good4(aptr: &[u8; 4 as usize]) { }
-
-pub extern "C" fn good5(s: StructWithProjection) { }
-
-pub extern "C" fn good6(s: StructWithProjectionAndLifetime) { }
-
-pub extern "C" fn good7(fptr: extern "C" fn() -> ()) { }
-
-pub extern "C" fn good8(fptr: extern "C" fn() -> !) { }
-
-pub extern "C" fn good9() -> () { }
-
-pub extern "C" fn good10() -> CVoidRet { }
-
-pub extern "C" fn good11(size: isize) { }
-
-pub extern "C" fn good12(size: usize) { }
-
-pub extern "C" fn good13(n: TransparentInt) { }
-
-pub extern "C" fn good14(p: TransparentRef) { }
-
-pub extern "C" fn good15(p: TransparentLifetime) { }
-
-pub extern "C" fn good16(p: TransparentUnit<ZeroSize>) { }
-
-pub extern "C" fn good17(p: TransparentCustomZst) { }
-
-#[allow(improper_ctypes_definitions)]
-pub extern "C" fn good18(_: &String) { }
-
-#[cfg(not(target_arch = "wasm32"))]
-pub extern "C" fn good1(size: *const libc::c_int) { }
-
-#[cfg(not(target_arch = "wasm32"))]
-pub extern "C" fn good2(size: *const libc::c_uint) { }
-
-pub extern "C" fn unused_generic1<T>(size: *const Foo) { }
-
-pub extern "C" fn unused_generic2<T>() -> PhantomData<bool> {
-//~^ ERROR uses type `PhantomData<bool>`
- Default::default()
-}
-
-pub extern "C" fn used_generic1<T>(x: T) { }
-
-pub extern "C" fn used_generic2<T>(x: T, size: *const Foo) { }
-
-pub extern "C" fn used_generic3<T: Default>() -> T {
- Default::default()
-}
-
-pub extern "C" fn used_generic4<T>(x: Vec<T>) { }
-//~^ ERROR: uses type `Vec<T>`
-
-pub extern "C" fn used_generic5<T>() -> Vec<T> {
-//~^ ERROR: uses type `Vec<T>`
- Default::default()
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-ctypes-fn.stderr b/src/test/ui/lint/lint-ctypes-fn.stderr
deleted file mode 100644
index a05206bf1..000000000
--- a/src/test/ui/lint/lint-ctypes-fn.stderr
+++ /dev/null
@@ -1,188 +0,0 @@
-error: `extern` fn uses type `[u32]`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:73:33
- |
-LL | pub extern "C" fn slice_type(p: &[u32]) { }
- | ^^^^^^ not FFI-safe
- |
- = help: consider using a raw pointer instead
- = note: slices have no C equivalent
-note: the lint level is defined here
- --> $DIR/lint-ctypes-fn.rs:4:9
- |
-LL | #![deny(improper_ctypes_definitions)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: `extern` fn uses type `str`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:76:31
- |
-LL | pub extern "C" fn str_type(p: &str) { }
- | ^^^^ not FFI-safe
- |
- = help: consider using `*const u8` and a length instead
- = note: string slices have no C equivalent
-
-error: `extern` fn uses type `Box<[u8]>`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:83:34
- |
-LL | pub extern "C" fn boxed_slice(p: Box<[u8]>) { }
- | ^^^^^^^^^ not FFI-safe
- |
- = note: box cannot be represented as a single pointer
-
-error: `extern` fn uses type `Box<str>`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:86:35
- |
-LL | pub extern "C" fn boxed_string(p: Box<str>) { }
- | ^^^^^^^^ not FFI-safe
- |
- = note: box cannot be represented as a single pointer
-
-error: `extern` fn uses type `Box<dyn Trait>`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:89:34
- |
-LL | pub extern "C" fn boxed_trait(p: Box<dyn Trait>) { }
- | ^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: box cannot be represented as a single pointer
-
-error: `extern` fn uses type `char`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:92:32
- |
-LL | pub extern "C" fn char_type(p: char) { }
- | ^^^^ not FFI-safe
- |
- = help: consider using `u32` or `libc::wchar_t` instead
- = note: the `char` type has no C equivalent
-
-error: `extern` fn uses type `i128`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:95:32
- |
-LL | pub extern "C" fn i128_type(p: i128) { }
- | ^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: `extern` fn uses type `u128`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:98:32
- |
-LL | pub extern "C" fn u128_type(p: u128) { }
- | ^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: `extern` fn uses type `(i32, i32)`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:101:33
- |
-LL | pub extern "C" fn tuple_type(p: (i32, i32)) { }
- | ^^^^^^^^^^ not FFI-safe
- |
- = help: consider using a struct instead
- = note: tuples have unspecified layout
-
-error: `extern` fn uses type `(i32, i32)`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:104:34
- |
-LL | pub extern "C" fn tuple_type2(p: I32Pair) { }
- | ^^^^^^^ not FFI-safe
- |
- = help: consider using a struct instead
- = note: tuples have unspecified layout
-
-error: `extern` fn uses type `ZeroSize`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:107:32
- |
-LL | pub extern "C" fn zero_size(p: ZeroSize) { }
- | ^^^^^^^^ not FFI-safe
- |
- = help: consider adding a member to this struct
- = note: this struct has no fields
-note: the type is defined here
- --> $DIR/lint-ctypes-fn.rs:28:1
- |
-LL | pub struct ZeroSize;
- | ^^^^^^^^^^^^^^^^^^^
-
-error: `extern` fn uses type `ZeroSizeWithPhantomData`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:110:40
- |
-LL | pub extern "C" fn zero_size_phantom(p: ZeroSizeWithPhantomData) { }
- | ^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: composed only of `PhantomData`
-note: the type is defined here
- --> $DIR/lint-ctypes-fn.rs:63:1
- |
-LL | pub struct ZeroSizeWithPhantomData(PhantomData<i32>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: `extern` fn uses type `PhantomData<bool>`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:113:51
- |
-LL | pub extern "C" fn zero_size_phantom_toplevel() -> PhantomData<bool> {
- | ^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: composed only of `PhantomData`
-
-error: `extern` fn uses type `fn()`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:118:30
- |
-LL | pub extern "C" fn fn_type(p: RustFn) { }
- | ^^^^^^ not FFI-safe
- |
- = help: consider using an `extern fn(...) -> ...` function pointer instead
- = note: this function pointer has Rust-specific calling convention
-
-error: `extern` fn uses type `fn()`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:121:31
- |
-LL | pub extern "C" fn fn_type2(p: fn()) { }
- | ^^^^ not FFI-safe
- |
- = help: consider using an `extern fn(...) -> ...` function pointer instead
- = note: this function pointer has Rust-specific calling convention
-
-error: `extern` fn uses type `i128`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:126:39
- |
-LL | pub extern "C" fn transparent_i128(p: TransparentI128) { }
- | ^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: `extern` fn uses type `str`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:129:38
- |
-LL | pub extern "C" fn transparent_str(p: TransparentStr) { }
- | ^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider using `*const u8` and a length instead
- = note: string slices have no C equivalent
-
-error: `extern` fn uses type `PhantomData<bool>`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:175:43
- |
-LL | pub extern "C" fn unused_generic2<T>() -> PhantomData<bool> {
- | ^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: composed only of `PhantomData`
-
-error: `extern` fn uses type `Vec<T>`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:188:39
- |
-LL | pub extern "C" fn used_generic4<T>(x: Vec<T>) { }
- | ^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-
-error: `extern` fn uses type `Vec<T>`, which is not FFI-safe
- --> $DIR/lint-ctypes-fn.rs:191:41
- |
-LL | pub extern "C" fn used_generic5<T>() -> Vec<T> {
- | ^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-
-error: aborting due to 20 previous errors
-
diff --git a/src/test/ui/lint/lint-ctypes.rs b/src/test/ui/lint/lint-ctypes.rs
deleted file mode 100644
index 9165e14b7..000000000
--- a/src/test/ui/lint/lint-ctypes.rs
+++ /dev/null
@@ -1,118 +0,0 @@
-#![feature(rustc_private)]
-
-#![allow(private_in_public)]
-#![deny(improper_ctypes)]
-
-extern crate libc;
-
-use std::cell::UnsafeCell;
-use std::marker::PhantomData;
-
-trait Bar { }
-trait Mirror { type It: ?Sized; }
-impl<T: ?Sized> Mirror for T { type It = Self; }
-#[repr(C)]
-pub struct StructWithProjection(*mut <StructWithProjection as Mirror>::It);
-#[repr(C)]
-pub struct StructWithProjectionAndLifetime<'a>(
- &'a mut <StructWithProjectionAndLifetime<'a> as Mirror>::It
-);
-pub type I32Pair = (i32, i32);
-#[repr(C)]
-pub struct ZeroSize;
-pub type RustFn = fn();
-pub type RustBadRet = extern "C" fn() -> Box<u32>;
-pub type CVoidRet = ();
-pub struct Foo;
-#[repr(transparent)]
-pub struct TransparentI128(i128);
-#[repr(transparent)]
-pub struct TransparentStr(&'static str);
-#[repr(transparent)]
-pub struct TransparentBadFn(RustBadRet);
-#[repr(transparent)]
-pub struct TransparentInt(u32);
-#[repr(transparent)]
-pub struct TransparentRef<'a>(&'a TransparentInt);
-#[repr(transparent)]
-pub struct TransparentLifetime<'a>(*const u8, PhantomData<&'a ()>);
-#[repr(transparent)]
-pub struct TransparentUnit<U>(f32, PhantomData<U>);
-#[repr(transparent)]
-pub struct TransparentCustomZst(i32, ZeroSize);
-
-#[repr(C)]
-pub struct ZeroSizeWithPhantomData(::std::marker::PhantomData<i32>);
-
-extern "C" {
- pub fn ptr_type1(size: *const Foo); //~ ERROR: uses type `Foo`
- pub fn ptr_type2(size: *const Foo); //~ ERROR: uses type `Foo`
- pub fn ptr_unit(p: *const ());
- pub fn ptr_tuple(p: *const ((),)); //~ ERROR: uses type `((),)`
- pub fn slice_type(p: &[u32]); //~ ERROR: uses type `[u32]`
- pub fn str_type(p: &str); //~ ERROR: uses type `str`
- pub fn box_type(p: Box<u32>); //~ ERROR uses type `Box<u32>`
- pub fn opt_box_type(p: Option<Box<u32>>);
- //~^ ERROR uses type `Option<Box<u32>>`
- pub fn char_type(p: char); //~ ERROR uses type `char`
- pub fn i128_type(p: i128); //~ ERROR uses type `i128`
- pub fn u128_type(p: u128); //~ ERROR uses type `u128`
- pub fn trait_type(p: &dyn Bar); //~ ERROR uses type `dyn Bar`
- pub fn tuple_type(p: (i32, i32)); //~ ERROR uses type `(i32, i32)`
- pub fn tuple_type2(p: I32Pair); //~ ERROR uses type `(i32, i32)`
- pub fn zero_size(p: ZeroSize); //~ ERROR uses type `ZeroSize`
- pub fn zero_size_phantom(p: ZeroSizeWithPhantomData);
- //~^ ERROR uses type `ZeroSizeWithPhantomData`
- pub fn zero_size_phantom_toplevel()
- -> ::std::marker::PhantomData<bool>; //~ ERROR uses type `PhantomData<bool>`
- pub fn fn_type(p: RustFn); //~ ERROR uses type `fn()`
- pub fn fn_type2(p: fn()); //~ ERROR uses type `fn()`
- pub fn fn_contained(p: RustBadRet); //~ ERROR: uses type `Box<u32>`
- pub fn transparent_i128(p: TransparentI128); //~ ERROR: uses type `i128`
- pub fn transparent_str(p: TransparentStr); //~ ERROR: uses type `str`
- pub fn transparent_fn(p: TransparentBadFn); //~ ERROR: uses type `Box<u32>`
- pub fn raw_array(arr: [u8; 8]); //~ ERROR: uses type `[u8; 8]`
-
- pub fn no_niche_a(a: Option<UnsafeCell<extern fn()>>);
- //~^ ERROR: uses type `Option<UnsafeCell<extern "C" fn()>>`
- pub fn no_niche_b(b: Option<UnsafeCell<&i32>>);
- //~^ ERROR: uses type `Option<UnsafeCell<&i32>>`
-
- pub static static_u128_type: u128; //~ ERROR: uses type `u128`
- pub static static_u128_array_type: [u128; 16]; //~ ERROR: uses type `u128`
-
- pub fn good3(fptr: Option<extern "C" fn()>);
- pub fn good4(aptr: &[u8; 4 as usize]);
- pub fn good5(s: StructWithProjection);
- pub fn good6(s: StructWithProjectionAndLifetime);
- pub fn good7(fptr: extern "C" fn() -> ());
- pub fn good8(fptr: extern "C" fn() -> !);
- pub fn good9() -> ();
- pub fn good10() -> CVoidRet;
- pub fn good11(size: isize);
- pub fn good12(size: usize);
- pub fn good13(n: TransparentInt);
- pub fn good14(p: TransparentRef);
- pub fn good15(p: TransparentLifetime);
- pub fn good16(p: TransparentUnit<ZeroSize>);
- pub fn good17(p: TransparentCustomZst);
- #[allow(improper_ctypes)]
- pub fn good18(_: &String);
- pub fn good20(arr: *const [u8; 8]);
- pub static good21: [u8; 8];
-
-}
-
-#[allow(improper_ctypes)]
-extern "C" {
- pub fn good19(_: &String);
-}
-
-#[cfg(not(target_arch = "wasm32"))]
-extern "C" {
- pub fn good1(size: *const libc::c_int);
- pub fn good2(size: *const libc::c_uint);
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/lint-ctypes.stderr b/src/test/ui/lint/lint-ctypes.stderr
deleted file mode 100644
index 121ad0ce8..000000000
--- a/src/test/ui/lint/lint-ctypes.stderr
+++ /dev/null
@@ -1,262 +0,0 @@
-error: `extern` block uses type `Foo`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:48:28
- |
-LL | pub fn ptr_type1(size: *const Foo);
- | ^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-note: the type is defined here
- --> $DIR/lint-ctypes.rs:26:1
- |
-LL | pub struct Foo;
- | ^^^^^^^^^^^^^^
-note: the lint level is defined here
- --> $DIR/lint-ctypes.rs:4:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: `extern` block uses type `Foo`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:49:28
- |
-LL | pub fn ptr_type2(size: *const Foo);
- | ^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-note: the type is defined here
- --> $DIR/lint-ctypes.rs:26:1
- |
-LL | pub struct Foo;
- | ^^^^^^^^^^^^^^
-
-error: `extern` block uses type `((),)`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:51:25
- |
-LL | pub fn ptr_tuple(p: *const ((),));
- | ^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider using a struct instead
- = note: tuples have unspecified layout
-
-error: `extern` block uses type `[u32]`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:52:26
- |
-LL | pub fn slice_type(p: &[u32]);
- | ^^^^^^ not FFI-safe
- |
- = help: consider using a raw pointer instead
- = note: slices have no C equivalent
-
-error: `extern` block uses type `str`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:53:24
- |
-LL | pub fn str_type(p: &str);
- | ^^^^ not FFI-safe
- |
- = help: consider using `*const u8` and a length instead
- = note: string slices have no C equivalent
-
-error: `extern` block uses type `Box<u32>`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:54:24
- |
-LL | pub fn box_type(p: Box<u32>);
- | ^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-
-error: `extern` block uses type `Option<Box<u32>>`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:55:28
- |
-LL | pub fn opt_box_type(p: Option<Box<u32>>);
- | ^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-
-error: `extern` block uses type `char`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:57:25
- |
-LL | pub fn char_type(p: char);
- | ^^^^ not FFI-safe
- |
- = help: consider using `u32` or `libc::wchar_t` instead
- = note: the `char` type has no C equivalent
-
-error: `extern` block uses type `i128`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:58:25
- |
-LL | pub fn i128_type(p: i128);
- | ^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: `extern` block uses type `u128`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:59:25
- |
-LL | pub fn u128_type(p: u128);
- | ^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: `extern` block uses type `dyn Bar`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:60:26
- |
-LL | pub fn trait_type(p: &dyn Bar);
- | ^^^^^^^^ not FFI-safe
- |
- = note: trait objects have no C equivalent
-
-error: `extern` block uses type `(i32, i32)`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:61:26
- |
-LL | pub fn tuple_type(p: (i32, i32));
- | ^^^^^^^^^^ not FFI-safe
- |
- = help: consider using a struct instead
- = note: tuples have unspecified layout
-
-error: `extern` block uses type `(i32, i32)`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:62:27
- |
-LL | pub fn tuple_type2(p: I32Pair);
- | ^^^^^^^ not FFI-safe
- |
- = help: consider using a struct instead
- = note: tuples have unspecified layout
-
-error: `extern` block uses type `ZeroSize`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:63:25
- |
-LL | pub fn zero_size(p: ZeroSize);
- | ^^^^^^^^ not FFI-safe
- |
- = help: consider adding a member to this struct
- = note: this struct has no fields
-note: the type is defined here
- --> $DIR/lint-ctypes.rs:22:1
- |
-LL | pub struct ZeroSize;
- | ^^^^^^^^^^^^^^^^^^^
-
-error: `extern` block uses type `ZeroSizeWithPhantomData`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:64:33
- |
-LL | pub fn zero_size_phantom(p: ZeroSizeWithPhantomData);
- | ^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: composed only of `PhantomData`
-note: the type is defined here
- --> $DIR/lint-ctypes.rs:45:1
- |
-LL | pub struct ZeroSizeWithPhantomData(::std::marker::PhantomData<i32>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: `extern` block uses type `PhantomData<bool>`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:67:12
- |
-LL | -> ::std::marker::PhantomData<bool>;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: composed only of `PhantomData`
-
-error: `extern` block uses type `fn()`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:68:23
- |
-LL | pub fn fn_type(p: RustFn);
- | ^^^^^^ not FFI-safe
- |
- = help: consider using an `extern fn(...) -> ...` function pointer instead
- = note: this function pointer has Rust-specific calling convention
-
-error: `extern` block uses type `fn()`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:69:24
- |
-LL | pub fn fn_type2(p: fn());
- | ^^^^ not FFI-safe
- |
- = help: consider using an `extern fn(...) -> ...` function pointer instead
- = note: this function pointer has Rust-specific calling convention
-
-error: `extern` block uses type `Box<u32>`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:70:28
- |
-LL | pub fn fn_contained(p: RustBadRet);
- | ^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-
-error: `extern` block uses type `i128`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:71:32
- |
-LL | pub fn transparent_i128(p: TransparentI128);
- | ^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: `extern` block uses type `str`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:72:31
- |
-LL | pub fn transparent_str(p: TransparentStr);
- | ^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider using `*const u8` and a length instead
- = note: string slices have no C equivalent
-
-error: `extern` block uses type `Box<u32>`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:73:30
- |
-LL | pub fn transparent_fn(p: TransparentBadFn);
- | ^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
- = note: this struct has unspecified layout
-
-error: `extern` block uses type `[u8; 8]`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:74:27
- |
-LL | pub fn raw_array(arr: [u8; 8]);
- | ^^^^^^^ not FFI-safe
- |
- = help: consider passing a pointer to the array
- = note: passing raw arrays by value is not FFI-safe
-
-error: `extern` block uses type `Option<UnsafeCell<extern "C" fn()>>`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:76:26
- |
-LL | pub fn no_niche_a(a: Option<UnsafeCell<extern fn()>>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-
-error: `extern` block uses type `Option<UnsafeCell<&i32>>`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:78:26
- |
-LL | pub fn no_niche_b(b: Option<UnsafeCell<&i32>>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
- = note: enum has no representation hint
-
-error: `extern` block uses type `u128`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:81:34
- |
-LL | pub static static_u128_type: u128;
- | ^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: `extern` block uses type `u128`, which is not FFI-safe
- --> $DIR/lint-ctypes.rs:82:40
- |
-LL | pub static static_u128_array_type: [u128; 16];
- | ^^^^^^^^^^ not FFI-safe
- |
- = note: 128-bit integers don't currently have a known stable ABI
-
-error: aborting due to 27 previous errors
-
diff --git a/src/test/ui/lint/lint-deref-nullptr.rs b/src/test/ui/lint/lint-deref-nullptr.rs
deleted file mode 100644
index d052dbd9b..000000000
--- a/src/test/ui/lint/lint-deref-nullptr.rs
+++ /dev/null
@@ -1,38 +0,0 @@
-// test the deref_nullptr lint
-
-#![deny(deref_nullptr)]
-
-use std::ptr;
-
-struct Struct {
- field: u8,
-}
-
-fn f() {
- unsafe {
- let a = 1;
- let ub = *(a as *const i32);
- let ub = *(0 as *const i32);
- //~^ ERROR dereferencing a null pointer
- let ub = *ptr::null::<i32>();
- //~^ ERROR dereferencing a null pointer
- let ub = *ptr::null_mut::<i32>();
- //~^ ERROR dereferencing a null pointer
- let ub = *(ptr::null::<i16>() as *const i32);
- //~^ ERROR dereferencing a null pointer
- let ub = *(ptr::null::<i16>() as *mut i32 as *mut usize as *const u8);
- //~^ ERROR dereferencing a null pointer
- let ub = &*ptr::null::<i32>();
- //~^ ERROR dereferencing a null pointer
- let ub = &*ptr::null_mut::<i32>();
- //~^ ERROR dereferencing a null pointer
- ptr::addr_of!(*ptr::null::<i32>());
- //~^ ERROR dereferencing a null pointer
- ptr::addr_of_mut!(*ptr::null_mut::<i32>());
- //~^ ERROR dereferencing a null pointer
- let offset = ptr::addr_of!((*ptr::null::<Struct>()).field);
- //~^ ERROR dereferencing a null pointer
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-deref-nullptr.stderr b/src/test/ui/lint/lint-deref-nullptr.stderr
deleted file mode 100644
index c6f432e4e..000000000
--- a/src/test/ui/lint/lint-deref-nullptr.stderr
+++ /dev/null
@@ -1,68 +0,0 @@
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:15:18
- |
-LL | let ub = *(0 as *const i32);
- | ^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
- |
-note: the lint level is defined here
- --> $DIR/lint-deref-nullptr.rs:3:9
- |
-LL | #![deny(deref_nullptr)]
- | ^^^^^^^^^^^^^
-
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:17:18
- |
-LL | let ub = *ptr::null::<i32>();
- | ^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
-
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:19:18
- |
-LL | let ub = *ptr::null_mut::<i32>();
- | ^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
-
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:21:18
- |
-LL | let ub = *(ptr::null::<i16>() as *const i32);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
-
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:23:18
- |
-LL | let ub = *(ptr::null::<i16>() as *mut i32 as *mut usize as *const u8);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
-
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:25:19
- |
-LL | let ub = &*ptr::null::<i32>();
- | ^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
-
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:27:19
- |
-LL | let ub = &*ptr::null_mut::<i32>();
- | ^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
-
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:29:23
- |
-LL | ptr::addr_of!(*ptr::null::<i32>());
- | ^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
-
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:31:27
- |
-LL | ptr::addr_of_mut!(*ptr::null_mut::<i32>());
- | ^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
-
-error: dereferencing a null pointer
- --> $DIR/lint-deref-nullptr.rs:33:36
- |
-LL | let offset = ptr::addr_of!((*ptr::null::<Struct>()).field);
- | ^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
-
-error: aborting due to 10 previous errors
-
diff --git a/src/test/ui/lint/lint-directives-on-use-items-issue-10534.rs b/src/test/ui/lint/lint-directives-on-use-items-issue-10534.rs
deleted file mode 100644
index e5cb0d3df..000000000
--- a/src/test/ui/lint/lint-directives-on-use-items-issue-10534.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-#![deny(unused_imports)]
-#![allow(non_upper_case_globals)]
-
-// The aim of this test is to ensure that deny/allow/warn directives
-// are applied to individual "use" statements instead of silently
-// ignored.
-
-#[allow(dead_code)]
-mod a { pub static x: isize = 3; pub static y: isize = 4; }
-
-mod b {
- use a::x; //~ ERROR: unused import
- #[allow(unused_imports)]
- use a::y; // no error here
-}
-
-#[allow(unused_imports)]
-mod c {
- use a::x;
- #[deny(unused_imports)]
- use a::y; //~ ERROR: unused import
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-directives-on-use-items-issue-10534.stderr b/src/test/ui/lint/lint-directives-on-use-items-issue-10534.stderr
deleted file mode 100644
index ccb139e0e..000000000
--- a/src/test/ui/lint/lint-directives-on-use-items-issue-10534.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: unused import: `a::x`
- --> $DIR/lint-directives-on-use-items-issue-10534.rs:12:9
- |
-LL | use a::x;
- | ^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-directives-on-use-items-issue-10534.rs:1:9
- |
-LL | #![deny(unused_imports)]
- | ^^^^^^^^^^^^^^
-
-error: unused import: `a::y`
- --> $DIR/lint-directives-on-use-items-issue-10534.rs:21:9
- |
-LL | use a::y;
- | ^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-directives-on-use-items-issue-10534.rs:20:12
- |
-LL | #[deny(unused_imports)]
- | ^^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/lint-enum-intrinsics-non-enums.rs b/src/test/ui/lint/lint-enum-intrinsics-non-enums.rs
deleted file mode 100644
index 8ad337064..000000000
--- a/src/test/ui/lint/lint-enum-intrinsics-non-enums.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Test the enum_intrinsics_non_enums lint.
-
-#![feature(variant_count)]
-
-use std::mem::{discriminant, variant_count};
-
-enum SomeEnum {
- A,
- B,
-}
-
-struct SomeStruct;
-
-fn generic_discriminant<T>(v: &T) {
- discriminant::<T>(v);
-}
-
-fn generic_variant_count<T>() -> usize {
- variant_count::<T>()
-}
-
-fn test_discriminant() {
- discriminant(&SomeEnum::A);
- generic_discriminant(&SomeEnum::B);
-
- discriminant(&());
- //~^ error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
-
- discriminant(&&SomeEnum::B);
- //~^ error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
-
- discriminant(&SomeStruct);
- //~^ error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
-
- discriminant(&123u32);
- //~^ error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
-
- discriminant(&&123i8);
- //~^ error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
-}
-
-fn test_variant_count() {
- variant_count::<SomeEnum>();
- generic_variant_count::<SomeEnum>();
-
- variant_count::<&str>();
- //~^ error: the return value of `mem::variant_count` is unspecified when called with a non-enum type
-
- variant_count::<*const u8>();
- //~^ error: the return value of `mem::variant_count` is unspecified when called with a non-enum type
-
- variant_count::<()>();
- //~^ error: the return value of `mem::variant_count` is unspecified when called with a non-enum type
-
- variant_count::<&SomeEnum>();
- //~^ error: the return value of `mem::variant_count` is unspecified when called with a non-enum type
-}
-
-fn main() {
- test_discriminant();
- test_variant_count();
-
- // The lint ignores cases where the type is generic, so these should be
- // allowed even though their return values are unspecified
- generic_variant_count::<SomeStruct>();
- generic_discriminant::<SomeStruct>(&SomeStruct);
-}
diff --git a/src/test/ui/lint/lint-enum-intrinsics-non-enums.stderr b/src/test/ui/lint/lint-enum-intrinsics-non-enums.stderr
deleted file mode 100644
index 63ed2503c..000000000
--- a/src/test/ui/lint/lint-enum-intrinsics-non-enums.stderr
+++ /dev/null
@@ -1,95 +0,0 @@
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-enum-intrinsics-non-enums.rs:26:5
- |
-LL | discriminant(&());
- | ^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `()`, which is not an enum.
- --> $DIR/lint-enum-intrinsics-non-enums.rs:26:18
- |
-LL | discriminant(&());
- | ^^^
- = note: `#[deny(enum_intrinsics_non_enums)]` on by default
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-enum-intrinsics-non-enums.rs:29:5
- |
-LL | discriminant(&&SomeEnum::B);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `&SomeEnum`, which is not an enum.
- --> $DIR/lint-enum-intrinsics-non-enums.rs:29:18
- |
-LL | discriminant(&&SomeEnum::B);
- | ^^^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-enum-intrinsics-non-enums.rs:32:5
- |
-LL | discriminant(&SomeStruct);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `SomeStruct`, which is not an enum.
- --> $DIR/lint-enum-intrinsics-non-enums.rs:32:18
- |
-LL | discriminant(&SomeStruct);
- | ^^^^^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-enum-intrinsics-non-enums.rs:35:5
- |
-LL | discriminant(&123u32);
- | ^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `u32`, which is not an enum.
- --> $DIR/lint-enum-intrinsics-non-enums.rs:35:18
- |
-LL | discriminant(&123u32);
- | ^^^^^^^
-
-error: the return value of `mem::discriminant` is unspecified when called with a non-enum type
- --> $DIR/lint-enum-intrinsics-non-enums.rs:38:5
- |
-LL | discriminant(&&123i8);
- | ^^^^^^^^^^^^^^^^^^^^^
- |
-note: the argument to `discriminant` should be a reference to an enum, but it was passed a reference to a `&i8`, which is not an enum.
- --> $DIR/lint-enum-intrinsics-non-enums.rs:38:18
- |
-LL | discriminant(&&123i8);
- | ^^^^^^^
-
-error: the return value of `mem::variant_count` is unspecified when called with a non-enum type
- --> $DIR/lint-enum-intrinsics-non-enums.rs:46:5
- |
-LL | variant_count::<&str>();
- | ^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the type parameter of `variant_count` should be an enum, but it was instantiated with the type `&str`, which is not an enum.
-
-error: the return value of `mem::variant_count` is unspecified when called with a non-enum type
- --> $DIR/lint-enum-intrinsics-non-enums.rs:49:5
- |
-LL | variant_count::<*const u8>();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the type parameter of `variant_count` should be an enum, but it was instantiated with the type `*const u8`, which is not an enum.
-
-error: the return value of `mem::variant_count` is unspecified when called with a non-enum type
- --> $DIR/lint-enum-intrinsics-non-enums.rs:52:5
- |
-LL | variant_count::<()>();
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the type parameter of `variant_count` should be an enum, but it was instantiated with the type `()`, which is not an enum.
-
-error: the return value of `mem::variant_count` is unspecified when called with a non-enum type
- --> $DIR/lint-enum-intrinsics-non-enums.rs:55:5
- |
-LL | variant_count::<&SomeEnum>();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the type parameter of `variant_count` should be an enum, but it was instantiated with the type `&SomeEnum`, which is not an enum.
-
-error: aborting due to 9 previous errors
-
diff --git a/src/test/ui/lint/lint-exceeding-bitshifts.noopt.stderr b/src/test/ui/lint/lint-exceeding-bitshifts.noopt.stderr
deleted file mode 100644
index 3a84c6c1f..000000000
--- a/src/test/ui/lint/lint-exceeding-bitshifts.noopt.stderr
+++ /dev/null
@@ -1,152 +0,0 @@
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:18:20
- |
-LL | const N: i32 = T::N << 42;
- | ^^^^^^^^^^ attempt to shift left by `42_i32`, which would overflow
- |
-note: the lint level is defined here
- --> $DIR/lint-exceeding-bitshifts.rs:10:9
- |
-LL | #![warn(arithmetic_overflow)]
- | ^^^^^^^^^^^^^^^^^^^
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:22:13
- |
-LL | let _ = x << 42;
- | ^^^^^^^ attempt to shift left by `42_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:27:15
- |
-LL | let n = 1u8 << 8;
- | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:29:15
- |
-LL | let n = 1u16 << 16;
- | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:31:15
- |
-LL | let n = 1u32 << 32;
- | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:33:15
- |
-LL | let n = 1u64 << 64;
- | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:35:15
- |
-LL | let n = 1i8 << 8;
- | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:37:15
- |
-LL | let n = 1i16 << 16;
- | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:39:15
- |
-LL | let n = 1i32 << 32;
- | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:41:15
- |
-LL | let n = 1i64 << 64;
- | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:44:15
- |
-LL | let n = 1u8 >> 8;
- | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:46:15
- |
-LL | let n = 1u16 >> 16;
- | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:48:15
- |
-LL | let n = 1u32 >> 32;
- | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:50:15
- |
-LL | let n = 1u64 >> 64;
- | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:52:15
- |
-LL | let n = 1i8 >> 8;
- | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:54:15
- |
-LL | let n = 1i16 >> 16;
- | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:56:15
- |
-LL | let n = 1i32 >> 32;
- | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:58:15
- |
-LL | let n = 1i64 >> 64;
- | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:62:15
- |
-LL | let n = n << 8;
- | ^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:64:15
- |
-LL | let n = 1u8 << -8;
- | ^^^^^^^^^ attempt to shift left by `-8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:69:15
- |
-LL | let n = 1u8 << (4+4);
- | ^^^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:71:15
- |
-LL | let n = 1i64 >> [64][0];
- | ^^^^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:77:15
- |
-LL | let n = 1_isize << BITS;
- | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:78:15
- |
-LL | let n = 1_usize << BITS;
- | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
-
-warning: 24 warnings emitted
-
diff --git a/src/test/ui/lint/lint-exceeding-bitshifts.opt.stderr b/src/test/ui/lint/lint-exceeding-bitshifts.opt.stderr
deleted file mode 100644
index 3a84c6c1f..000000000
--- a/src/test/ui/lint/lint-exceeding-bitshifts.opt.stderr
+++ /dev/null
@@ -1,152 +0,0 @@
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:18:20
- |
-LL | const N: i32 = T::N << 42;
- | ^^^^^^^^^^ attempt to shift left by `42_i32`, which would overflow
- |
-note: the lint level is defined here
- --> $DIR/lint-exceeding-bitshifts.rs:10:9
- |
-LL | #![warn(arithmetic_overflow)]
- | ^^^^^^^^^^^^^^^^^^^
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:22:13
- |
-LL | let _ = x << 42;
- | ^^^^^^^ attempt to shift left by `42_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:27:15
- |
-LL | let n = 1u8 << 8;
- | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:29:15
- |
-LL | let n = 1u16 << 16;
- | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:31:15
- |
-LL | let n = 1u32 << 32;
- | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:33:15
- |
-LL | let n = 1u64 << 64;
- | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:35:15
- |
-LL | let n = 1i8 << 8;
- | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:37:15
- |
-LL | let n = 1i16 << 16;
- | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:39:15
- |
-LL | let n = 1i32 << 32;
- | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:41:15
- |
-LL | let n = 1i64 << 64;
- | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:44:15
- |
-LL | let n = 1u8 >> 8;
- | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:46:15
- |
-LL | let n = 1u16 >> 16;
- | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:48:15
- |
-LL | let n = 1u32 >> 32;
- | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:50:15
- |
-LL | let n = 1u64 >> 64;
- | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:52:15
- |
-LL | let n = 1i8 >> 8;
- | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:54:15
- |
-LL | let n = 1i16 >> 16;
- | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:56:15
- |
-LL | let n = 1i32 >> 32;
- | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:58:15
- |
-LL | let n = 1i64 >> 64;
- | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:62:15
- |
-LL | let n = n << 8;
- | ^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:64:15
- |
-LL | let n = 1u8 << -8;
- | ^^^^^^^^^ attempt to shift left by `-8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:69:15
- |
-LL | let n = 1u8 << (4+4);
- | ^^^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:71:15
- |
-LL | let n = 1i64 >> [64][0];
- | ^^^^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:77:15
- |
-LL | let n = 1_isize << BITS;
- | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:78:15
- |
-LL | let n = 1_usize << BITS;
- | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
-
-warning: 24 warnings emitted
-
diff --git a/src/test/ui/lint/lint-exceeding-bitshifts.opt_with_overflow_checks.stderr b/src/test/ui/lint/lint-exceeding-bitshifts.opt_with_overflow_checks.stderr
deleted file mode 100644
index 3a84c6c1f..000000000
--- a/src/test/ui/lint/lint-exceeding-bitshifts.opt_with_overflow_checks.stderr
+++ /dev/null
@@ -1,152 +0,0 @@
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:18:20
- |
-LL | const N: i32 = T::N << 42;
- | ^^^^^^^^^^ attempt to shift left by `42_i32`, which would overflow
- |
-note: the lint level is defined here
- --> $DIR/lint-exceeding-bitshifts.rs:10:9
- |
-LL | #![warn(arithmetic_overflow)]
- | ^^^^^^^^^^^^^^^^^^^
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:22:13
- |
-LL | let _ = x << 42;
- | ^^^^^^^ attempt to shift left by `42_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:27:15
- |
-LL | let n = 1u8 << 8;
- | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:29:15
- |
-LL | let n = 1u16 << 16;
- | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:31:15
- |
-LL | let n = 1u32 << 32;
- | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:33:15
- |
-LL | let n = 1u64 << 64;
- | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:35:15
- |
-LL | let n = 1i8 << 8;
- | ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:37:15
- |
-LL | let n = 1i16 << 16;
- | ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:39:15
- |
-LL | let n = 1i32 << 32;
- | ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:41:15
- |
-LL | let n = 1i64 << 64;
- | ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:44:15
- |
-LL | let n = 1u8 >> 8;
- | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:46:15
- |
-LL | let n = 1u16 >> 16;
- | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:48:15
- |
-LL | let n = 1u32 >> 32;
- | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:50:15
- |
-LL | let n = 1u64 >> 64;
- | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:52:15
- |
-LL | let n = 1i8 >> 8;
- | ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:54:15
- |
-LL | let n = 1i16 >> 16;
- | ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:56:15
- |
-LL | let n = 1i32 >> 32;
- | ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:58:15
- |
-LL | let n = 1i64 >> 64;
- | ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:62:15
- |
-LL | let n = n << 8;
- | ^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:64:15
- |
-LL | let n = 1u8 << -8;
- | ^^^^^^^^^ attempt to shift left by `-8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:69:15
- |
-LL | let n = 1u8 << (4+4);
- | ^^^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:71:15
- |
-LL | let n = 1i64 >> [64][0];
- | ^^^^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:77:15
- |
-LL | let n = 1_isize << BITS;
- | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
-
-warning: this arithmetic operation will overflow
- --> $DIR/lint-exceeding-bitshifts.rs:78:15
- |
-LL | let n = 1_usize << BITS;
- | ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
-
-warning: 24 warnings emitted
-
diff --git a/src/test/ui/lint/lint-exceeding-bitshifts.rs b/src/test/ui/lint/lint-exceeding-bitshifts.rs
deleted file mode 100644
index 048c1aff8..000000000
--- a/src/test/ui/lint/lint-exceeding-bitshifts.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-// revisions: noopt opt opt_with_overflow_checks
-//[noopt]compile-flags: -C opt-level=0
-//[opt]compile-flags: -O
-//[opt_with_overflow_checks]compile-flags: -C overflow-checks=on -O
-// build-pass
-// ignore-pass (test emits codegen-time warnings and verifies that they are not errors)
-// normalize-stderr-test "shift left by `(64|32)_usize`, which" -> "shift left by `%BITS%`, which"
-
-#![crate_type="lib"]
-#![warn(arithmetic_overflow)]
-
-
-pub trait Foo {
- const N: i32;
-}
-
-impl<T: Foo> Foo for Vec<T> {
- const N: i32 = T::N << 42; //~ WARN: arithmetic operation will overflow
-}
-
-pub fn foo(x: i32) {
- let _ = x << 42; //~ WARN: arithmetic operation will overflow
-}
-
-pub fn main() {
- let n = 1u8 << 7;
- let n = 1u8 << 8; //~ WARN: arithmetic operation will overflow
- let n = 1u16 << 15;
- let n = 1u16 << 16; //~ WARN: arithmetic operation will overflow
- let n = 1u32 << 31;
- let n = 1u32 << 32; //~ WARN: arithmetic operation will overflow
- let n = 1u64 << 63;
- let n = 1u64 << 64; //~ WARN: arithmetic operation will overflow
- let n = 1i8 << 7;
- let n = 1i8 << 8; //~ WARN: arithmetic operation will overflow
- let n = 1i16 << 15;
- let n = 1i16 << 16; //~ WARN: arithmetic operation will overflow
- let n = 1i32 << 31;
- let n = 1i32 << 32; //~ WARN: arithmetic operation will overflow
- let n = 1i64 << 63;
- let n = 1i64 << 64; //~ WARN: arithmetic operation will overflow
-
- let n = 1u8 >> 7;
- let n = 1u8 >> 8; //~ WARN: arithmetic operation will overflow
- let n = 1u16 >> 15;
- let n = 1u16 >> 16; //~ WARN: arithmetic operation will overflow
- let n = 1u32 >> 31;
- let n = 1u32 >> 32; //~ WARN: arithmetic operation will overflow
- let n = 1u64 >> 63;
- let n = 1u64 >> 64; //~ WARN: arithmetic operation will overflow
- let n = 1i8 >> 7;
- let n = 1i8 >> 8; //~ WARN: arithmetic operation will overflow
- let n = 1i16 >> 15;
- let n = 1i16 >> 16; //~ WARN: arithmetic operation will overflow
- let n = 1i32 >> 31;
- let n = 1i32 >> 32; //~ WARN: arithmetic operation will overflow
- let n = 1i64 >> 63;
- let n = 1i64 >> 64; //~ WARN: arithmetic operation will overflow
-
- let n = 1u8;
- let n = n << 7;
- let n = n << 8; //~ WARN: arithmetic operation will overflow
-
- let n = 1u8 << -8; //~ WARN: arithmetic operation will overflow
-
- let n = 1i8<<(1isize+-1);
-
- let n = 1u8 << (4+3);
- let n = 1u8 << (4+4); //~ WARN: arithmetic operation will overflow
- let n = 1i64 >> [63][0];
- let n = 1i64 >> [64][0]; //~ WARN: arithmetic operation will overflow
-
- #[cfg(target_pointer_width = "32")]
- const BITS: usize = 32;
- #[cfg(target_pointer_width = "64")]
- const BITS: usize = 64;
- let n = 1_isize << BITS; //~ WARN: arithmetic operation will overflow
- let n = 1_usize << BITS; //~ WARN: arithmetic operation will overflow
-}
diff --git a/src/test/ui/lint/lint-expr-stmt-attrs-for-early-lints.rs b/src/test/ui/lint/lint-expr-stmt-attrs-for-early-lints.rs
deleted file mode 100644
index 07a32904a..000000000
--- a/src/test/ui/lint/lint-expr-stmt-attrs-for-early-lints.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// run-pass
-
-#![feature(stmt_expr_attributes)]
-#![deny(unused_parens)]
-
-// Tests that lint attributes on statements/expressions are
-// correctly applied to non-builtin early (AST) lints
-
-fn main() {
- #[allow(unused_parens)]
- {
- let _ = (9);
- }
-}
diff --git a/src/test/ui/lint/lint-forbid-attr.rs b/src/test/ui/lint/lint-forbid-attr.rs
deleted file mode 100644
index 6d4cfd834..000000000
--- a/src/test/ui/lint/lint-forbid-attr.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-#![forbid(deprecated)]
-
-#[allow(deprecated)]
-//~^ ERROR allow(deprecated) incompatible
-//~| ERROR allow(deprecated) incompatible
-fn main() {
-}
diff --git a/src/test/ui/lint/lint-forbid-attr.stderr b/src/test/ui/lint/lint-forbid-attr.stderr
deleted file mode 100644
index 5977b9c94..000000000
--- a/src/test/ui/lint/lint-forbid-attr.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0453]: allow(deprecated) incompatible with previous forbid
- --> $DIR/lint-forbid-attr.rs:3:9
- |
-LL | #![forbid(deprecated)]
- | ---------- `forbid` level set here
-LL |
-LL | #[allow(deprecated)]
- | ^^^^^^^^^^ overruled by previous forbid
-
-error[E0453]: allow(deprecated) incompatible with previous forbid
- --> $DIR/lint-forbid-attr.rs:3:9
- |
-LL | #![forbid(deprecated)]
- | ---------- `forbid` level set here
-LL |
-LL | #[allow(deprecated)]
- | ^^^^^^^^^^ overruled by previous forbid
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0453`.
diff --git a/src/test/ui/lint/lint-forbid-cmdline.rs b/src/test/ui/lint/lint-forbid-cmdline.rs
deleted file mode 100644
index 5246ccb57..000000000
--- a/src/test/ui/lint/lint-forbid-cmdline.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// compile-flags: -F deprecated
-
-#[allow(deprecated)] //~ ERROR allow(deprecated) incompatible
- //~| ERROR allow(deprecated) incompatible
-fn main() {
-}
diff --git a/src/test/ui/lint/lint-forbid-cmdline.stderr b/src/test/ui/lint/lint-forbid-cmdline.stderr
deleted file mode 100644
index 0a92e58c0..000000000
--- a/src/test/ui/lint/lint-forbid-cmdline.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0453]: allow(deprecated) incompatible with previous forbid
- --> $DIR/lint-forbid-cmdline.rs:3:9
- |
-LL | #[allow(deprecated)]
- | ^^^^^^^^^^ overruled by previous forbid
- |
- = note: `forbid` lint level was set on command line
-
-error[E0453]: allow(deprecated) incompatible with previous forbid
- --> $DIR/lint-forbid-cmdline.rs:3:9
- |
-LL | #[allow(deprecated)]
- | ^^^^^^^^^^ overruled by previous forbid
- |
- = note: `forbid` lint level was set on command line
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0453`.
diff --git a/src/test/ui/lint/lint-forbid-internal-unsafe.rs b/src/test/ui/lint/lint-forbid-internal-unsafe.rs
deleted file mode 100644
index 3ee55ba96..000000000
--- a/src/test/ui/lint/lint-forbid-internal-unsafe.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![forbid(unsafe_code)]
-#![feature(allow_internal_unsafe)]
-
-#[allow_internal_unsafe]
-//~^ ERROR: `allow_internal_unsafe` allows defining
-macro_rules! evil {
- ($e:expr) => {
- unsafe {
- $e
- }
- }
-}
-
-fn main() {
- println!("{}", evil!(*(0 as *const u8)));
- //~^ WARNING dereferencing a null pointer
-}
diff --git a/src/test/ui/lint/lint-forbid-internal-unsafe.stderr b/src/test/ui/lint/lint-forbid-internal-unsafe.stderr
deleted file mode 100644
index ba425ceb4..000000000
--- a/src/test/ui/lint/lint-forbid-internal-unsafe.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error: `allow_internal_unsafe` allows defining macros using unsafe without triggering the `unsafe_code` lint at their call site
- --> $DIR/lint-forbid-internal-unsafe.rs:4:1
- |
-LL | #[allow_internal_unsafe]
- | ^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-forbid-internal-unsafe.rs:1:11
- |
-LL | #![forbid(unsafe_code)]
- | ^^^^^^^^^^^
-
-warning: dereferencing a null pointer
- --> $DIR/lint-forbid-internal-unsafe.rs:15:26
- |
-LL | println!("{}", evil!(*(0 as *const u8)));
- | ^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
- |
- = note: `#[warn(deref_nullptr)]` on by default
-
-error: aborting due to previous error; 1 warning emitted
-
diff --git a/src/test/ui/lint/lint-group-nonstandard-style.rs b/src/test/ui/lint/lint-group-nonstandard-style.rs
deleted file mode 100644
index bd7f327bc..000000000
--- a/src/test/ui/lint/lint-group-nonstandard-style.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-#![deny(nonstandard_style)]
-#![allow(dead_code)]
-
-fn CamelCase() {} //~ ERROR should have a snake
-
-#[allow(nonstandard_style)]
-mod test {
- fn CamelCase() {}
-
- #[forbid(nonstandard_style)]
- mod bad {
- fn CamelCase() {} //~ ERROR should have a snake
-
- static bad: isize = 1; //~ ERROR should have an upper
- }
-
- mod warn {
- #![warn(nonstandard_style)]
-
- fn CamelCase() {} //~ WARN should have a snake
-
- struct snake_case; //~ WARN should have an upper camel
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-group-nonstandard-style.stderr b/src/test/ui/lint/lint-group-nonstandard-style.stderr
deleted file mode 100644
index fcd010123..000000000
--- a/src/test/ui/lint/lint-group-nonstandard-style.stderr
+++ /dev/null
@@ -1,57 +0,0 @@
-warning: type `snake_case` should have an upper camel case name
- --> $DIR/lint-group-nonstandard-style.rs:22:16
- |
-LL | struct snake_case;
- | ^^^^^^^^^^ help: convert the identifier to upper camel case: `SnakeCase`
- |
-note: the lint level is defined here
- --> $DIR/lint-group-nonstandard-style.rs:18:17
- |
-LL | #![warn(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^
- = note: `#[warn(non_camel_case_types)]` implied by `#[warn(nonstandard_style)]`
-
-error: function `CamelCase` should have a snake case name
- --> $DIR/lint-group-nonstandard-style.rs:4:4
- |
-LL | fn CamelCase() {}
- | ^^^^^^^^^ help: convert the identifier to snake case: `camel_case`
- |
-note: the lint level is defined here
- --> $DIR/lint-group-nonstandard-style.rs:1:9
- |
-LL | #![deny(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^
- = note: `#[deny(non_snake_case)]` implied by `#[deny(nonstandard_style)]`
-
-error: function `CamelCase` should have a snake case name
- --> $DIR/lint-group-nonstandard-style.rs:12:12
- |
-LL | fn CamelCase() {}
- | ^^^^^^^^^ help: convert the identifier to snake case: `camel_case`
- |
-note: the lint level is defined here
- --> $DIR/lint-group-nonstandard-style.rs:10:14
- |
-LL | #[forbid(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^
- = note: `#[forbid(non_snake_case)]` implied by `#[forbid(nonstandard_style)]`
-
-error: static variable `bad` should have an upper case name
- --> $DIR/lint-group-nonstandard-style.rs:14:16
- |
-LL | static bad: isize = 1;
- | ^^^ help: convert the identifier to upper case: `BAD`
- |
- = note: `#[forbid(non_upper_case_globals)]` implied by `#[forbid(nonstandard_style)]`
-
-warning: function `CamelCase` should have a snake case name
- --> $DIR/lint-group-nonstandard-style.rs:20:12
- |
-LL | fn CamelCase() {}
- | ^^^^^^^^^ help: convert the identifier to snake case: `camel_case`
- |
- = note: `#[warn(non_snake_case)]` implied by `#[warn(nonstandard_style)]`
-
-error: aborting due to 3 previous errors; 2 warnings emitted
-
diff --git a/src/test/ui/lint/lint-impl-fn.rs b/src/test/ui/lint/lint-impl-fn.rs
deleted file mode 100644
index 46874d95c..000000000
--- a/src/test/ui/lint/lint-impl-fn.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-#![allow(while_true)]
-#![allow(dead_code)]
-
-struct A(isize);
-
-impl A {
- fn foo(&self) { while true {} }
-
- #[deny(while_true)]
- fn bar(&self) { while true {} } //~ ERROR: infinite loops
-}
-
-#[deny(while_true)]
-mod foo {
- struct B(isize);
-
- impl B {
- fn foo(&self) { while true {} } //~ ERROR: infinite loops
-
- #[allow(while_true)]
- fn bar(&self) { while true {} }
- }
-}
-
-#[deny(while_true)]
-fn main() {
- while true {} //~ ERROR: infinite loops
-}
-
-#[deny(while_true)]
-fn bar() {
- while cfg!(unix) {} // no error
-}
diff --git a/src/test/ui/lint/lint-impl-fn.stderr b/src/test/ui/lint/lint-impl-fn.stderr
deleted file mode 100644
index 24ec9c7e4..000000000
--- a/src/test/ui/lint/lint-impl-fn.stderr
+++ /dev/null
@@ -1,38 +0,0 @@
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-impl-fn.rs:10:21
- |
-LL | fn bar(&self) { while true {} }
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-impl-fn.rs:9:12
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-impl-fn.rs:18:25
- |
-LL | fn foo(&self) { while true {} }
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-impl-fn.rs:13:8
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/lint-impl-fn.rs:27:5
- |
-LL | while true {}
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/lint-impl-fn.rs:25:8
- |
-LL | #[deny(while_true)]
- | ^^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/lint-incoherent-auto-trait-objects.rs b/src/test/ui/lint/lint-incoherent-auto-trait-objects.rs
deleted file mode 100644
index d53b51447..000000000
--- a/src/test/ui/lint/lint-incoherent-auto-trait-objects.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-trait Foo {}
-
-impl Foo for dyn Send {}
-
-impl Foo for dyn Send + Send {}
-//~^ ERROR conflicting implementations
-//~| hard error
-
-impl Foo for dyn Send + Sync {}
-
-impl Foo for dyn Sync + Send {}
-//~^ ERROR conflicting implementations
-//~| hard error
-
-impl Foo for dyn Send + Sync + Send {}
-//~^ ERROR conflicting implementations
-//~| hard error
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-incoherent-auto-trait-objects.stderr b/src/test/ui/lint/lint-incoherent-auto-trait-objects.stderr
deleted file mode 100644
index 553ab3869..000000000
--- a/src/test/ui/lint/lint-incoherent-auto-trait-objects.stderr
+++ /dev/null
@@ -1,81 +0,0 @@
-error: conflicting implementations of trait `Foo` for type `(dyn Send + 'static)`: (E0119)
- --> $DIR/lint-incoherent-auto-trait-objects.rs:5:1
- |
-LL | impl Foo for dyn Send {}
- | --------------------- first implementation here
-LL |
-LL | impl Foo for dyn Send + Send {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + 'static)`
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
- = note: `#[deny(order_dependent_trait_objects)]` on by default
-
-error: conflicting implementations of trait `Foo` for type `(dyn Send + Sync + 'static)`: (E0119)
- --> $DIR/lint-incoherent-auto-trait-objects.rs:11:1
- |
-LL | impl Foo for dyn Send + Sync {}
- | ---------------------------- first implementation here
-LL |
-LL | impl Foo for dyn Sync + Send {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + Sync + 'static)`
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
-
-error: conflicting implementations of trait `Foo` for type `(dyn Send + Sync + 'static)`: (E0119)
- --> $DIR/lint-incoherent-auto-trait-objects.rs:15:1
- |
-LL | impl Foo for dyn Sync + Send {}
- | ---------------------------- first implementation here
-...
-LL | impl Foo for dyn Send + Sync + Send {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + Sync + 'static)`
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
-
-error: aborting due to 3 previous errors
-
-Future incompatibility report: Future breakage diagnostic:
-error: conflicting implementations of trait `Foo` for type `(dyn Send + 'static)`: (E0119)
- --> $DIR/lint-incoherent-auto-trait-objects.rs:5:1
- |
-LL | impl Foo for dyn Send {}
- | --------------------- first implementation here
-LL |
-LL | impl Foo for dyn Send + Send {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + 'static)`
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
- = note: `#[deny(order_dependent_trait_objects)]` on by default
-
-Future breakage diagnostic:
-error: conflicting implementations of trait `Foo` for type `(dyn Send + Sync + 'static)`: (E0119)
- --> $DIR/lint-incoherent-auto-trait-objects.rs:11:1
- |
-LL | impl Foo for dyn Send + Sync {}
- | ---------------------------- first implementation here
-LL |
-LL | impl Foo for dyn Sync + Send {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + Sync + 'static)`
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
- = note: `#[deny(order_dependent_trait_objects)]` on by default
-
-Future breakage diagnostic:
-error: conflicting implementations of trait `Foo` for type `(dyn Send + Sync + 'static)`: (E0119)
- --> $DIR/lint-incoherent-auto-trait-objects.rs:15:1
- |
-LL | impl Foo for dyn Sync + Send {}
- | ---------------------------- first implementation here
-...
-LL | impl Foo for dyn Send + Sync + Send {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + Sync + 'static)`
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
- = note: `#[deny(order_dependent_trait_objects)]` on by default
-
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-bool.rs b/src/test/ui/lint/lint-invalid-atomic-ordering-bool.rs
deleted file mode 100644
index 15ceb6195..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-bool.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// only-x86_64
-use std::sync::atomic::{AtomicBool, Ordering};
-
-fn main() {
- let x = AtomicBool::new(true);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Allowed store ordering modes
- x.store(false, Ordering::Release);
- x.store(false, Ordering::SeqCst);
- x.store(false, Ordering::Relaxed);
-
- // Disallowed store ordering modes
- x.store(false, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(false, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-}
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-bool.stderr b/src/test/ui/lint/lint-invalid-atomic-ordering-bool.stderr
deleted file mode 100644
index 9f38dcb0b..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-bool.stderr
+++ /dev/null
@@ -1,35 +0,0 @@
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-bool.rs:13:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
- = note: `#[deny(invalid_atomic_ordering)]` on by default
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-bool.rs:15:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-bool.rs:24:20
- |
-LL | x.store(false, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-bool.rs:26:20
- |
-LL | x.store(false, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-exchange-weak.rs b/src/test/ui/lint/lint-invalid-atomic-ordering-exchange-weak.rs
deleted file mode 100644
index 63204c725..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-exchange-weak.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-// only-x86_64
-use std::sync::atomic::{AtomicPtr, Ordering};
-
-fn main() {
- let ptr = &mut 5;
- let ptr2 = &mut 10;
- // `compare_exchange_weak` testing
- let x = AtomicPtr::new(ptr);
-
- // Allowed ordering combos
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Relaxed, Ordering::Relaxed);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Relaxed, Ordering::Acquire);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Relaxed, Ordering::SeqCst);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Acquire, Ordering::Relaxed);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Acquire, Ordering::Acquire);
- let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::Acquire, Ordering::SeqCst);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Release, Ordering::Relaxed);
- let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::Release, Ordering::Acquire);
- let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::Release, Ordering::SeqCst);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::AcqRel, Ordering::Relaxed);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::AcqRel, Ordering::Acquire);
- let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::AcqRel, Ordering::SeqCst);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::SeqCst, Ordering::Relaxed);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::SeqCst, Ordering::Acquire);
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::SeqCst, Ordering::SeqCst);
-
- // AcqRel is always forbidden as a failure ordering
- let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::Relaxed, Ordering::AcqRel);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::Acquire, Ordering::AcqRel);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::Release, Ordering::AcqRel);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::AcqRel, Ordering::AcqRel);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::SeqCst, Ordering::AcqRel);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
-
- // Release is always forbidden as a failure ordering
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Relaxed, Ordering::Release);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Acquire, Ordering::Release);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Release, Ordering::Release);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::AcqRel, Ordering::Release);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::SeqCst, Ordering::Release);
- //~^ ERROR `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`
-}
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-exchange-weak.stderr b/src/test/ui/lint/lint-invalid-atomic-ordering-exchange-weak.stderr
deleted file mode 100644
index cc075ce9e..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-exchange-weak.stderr
+++ /dev/null
@@ -1,83 +0,0 @@
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:28:67
- |
-LL | let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::Relaxed, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
- = note: `#[deny(invalid_atomic_ordering)]` on by default
-
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:30:67
- |
-LL | let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::Acquire, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:32:67
- |
-LL | let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::Release, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:34:66
- |
-LL | let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::AcqRel, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:36:66
- |
-LL | let _ = x.compare_exchange_weak(ptr2, ptr, Ordering::SeqCst, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:40:67
- |
-LL | let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Relaxed, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:42:67
- |
-LL | let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Acquire, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:44:67
- |
-LL | let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::Release, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:46:66
- |
-LL | let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::AcqRel, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange_weak`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange_weak` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange-weak.rs:48:66
- |
-LL | let _ = x.compare_exchange_weak(ptr, ptr2, Ordering::SeqCst, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: aborting due to 10 previous errors
-
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-exchange.rs b/src/test/ui/lint/lint-invalid-atomic-ordering-exchange.rs
deleted file mode 100644
index 488d268ee..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-exchange.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-// only-x86_64
-use std::sync::atomic::{AtomicUsize, Ordering};
-
-fn main() {
- // `compare_exchange` (not weak) testing
- let x = AtomicUsize::new(0);
-
- // Allowed ordering combos
- let _ = x.compare_exchange(0, 0, Ordering::Relaxed, Ordering::Relaxed);
- let _ = x.compare_exchange(0, 0, Ordering::Relaxed, Ordering::Acquire);
- let _ = x.compare_exchange(0, 0, Ordering::Relaxed, Ordering::SeqCst);
- let _ = x.compare_exchange(0, 0, Ordering::Acquire, Ordering::Relaxed);
- let _ = x.compare_exchange(0, 0, Ordering::Acquire, Ordering::Acquire);
- let _ = x.compare_exchange(0, 0, Ordering::Acquire, Ordering::SeqCst);
- let _ = x.compare_exchange(0, 0, Ordering::Release, Ordering::Relaxed);
- let _ = x.compare_exchange(0, 0, Ordering::Release, Ordering::Acquire);
- let _ = x.compare_exchange(0, 0, Ordering::Release, Ordering::SeqCst);
- let _ = x.compare_exchange(0, 0, Ordering::AcqRel, Ordering::Relaxed);
- let _ = x.compare_exchange(0, 0, Ordering::AcqRel, Ordering::Acquire);
- let _ = x.compare_exchange(0, 0, Ordering::AcqRel, Ordering::SeqCst);
- let _ = x.compare_exchange(0, 0, Ordering::SeqCst, Ordering::Relaxed);
- let _ = x.compare_exchange(0, 0, Ordering::SeqCst, Ordering::Acquire);
- let _ = x.compare_exchange(0, 0, Ordering::SeqCst, Ordering::SeqCst);
-
- // AcqRel is always forbidden as a failure ordering
- let _ = x.compare_exchange(0, 0, Ordering::Relaxed, Ordering::AcqRel);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange(0, 0, Ordering::Acquire, Ordering::AcqRel);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange(0, 0, Ordering::Release, Ordering::AcqRel);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange(0, 0, Ordering::AcqRel, Ordering::AcqRel);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange(0, 0, Ordering::SeqCst, Ordering::AcqRel);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
-
- // Release is always forbidden as a failure ordering
- let _ = x.compare_exchange(0, 0, Ordering::Relaxed, Ordering::Release);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange(0, 0, Ordering::Acquire, Ordering::Release);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange(0, 0, Ordering::Release, Ordering::Release);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange(0, 0, Ordering::AcqRel, Ordering::Release);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.compare_exchange(0, 0, Ordering::SeqCst, Ordering::Release);
- //~^ ERROR `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`
-}
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-exchange.stderr b/src/test/ui/lint/lint-invalid-atomic-ordering-exchange.stderr
deleted file mode 100644
index fe6c7e55c..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-exchange.stderr
+++ /dev/null
@@ -1,83 +0,0 @@
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:26:57
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::Relaxed, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
- = note: `#[deny(invalid_atomic_ordering)]` on by default
-
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:28:57
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::Acquire, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:30:57
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::Release, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:32:56
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::AcqRel, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:34:56
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::SeqCst, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:38:57
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::Relaxed, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:40:57
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::Acquire, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:42:57
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::Release, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:44:56
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::AcqRel, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `compare_exchange`'s failure ordering may not be `Release` or `AcqRel`, since a failed `compare_exchange` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-exchange.rs:46:56
- |
-LL | let _ = x.compare_exchange(0, 0, Ordering::SeqCst, Ordering::Release);
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: aborting due to 10 previous errors
-
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-false-positive.rs b/src/test/ui/lint/lint-invalid-atomic-ordering-false-positive.rs
deleted file mode 100644
index 4fb8605b4..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-false-positive.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// only-x86_64
-// check-pass
-use std::sync::atomic::{AtomicUsize, Ordering};
-
-trait Foo {
- fn store(self, ordering: Ordering);
-}
-
-impl Foo for AtomicUsize {
- fn store(self, _ordering: Ordering) {
- AtomicUsize::store(&self, 4, Ordering::SeqCst);
- }
-}
-
-fn main() {
- let x = AtomicUsize::new(3);
- x.store(Ordering::Acquire);
-}
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-fence.rs b/src/test/ui/lint/lint-invalid-atomic-ordering-fence.rs
deleted file mode 100644
index 22034472c..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-fence.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// only-x86_64
-use std::sync::atomic::{compiler_fence, fence, Ordering};
-
-fn main() {
- // Allowed ordering modes
- fence(Ordering::Acquire);
- fence(Ordering::Release);
- fence(Ordering::AcqRel);
- fence(Ordering::SeqCst);
-
- compiler_fence(Ordering::Acquire);
- compiler_fence(Ordering::Release);
- compiler_fence(Ordering::AcqRel);
- compiler_fence(Ordering::SeqCst);
-
- // Disallowed ordering modes
- fence(Ordering::Relaxed);
- //~^ ERROR memory fences cannot have `Relaxed` ordering
- compiler_fence(Ordering::Relaxed);
- //~^ ERROR memory fences cannot have `Relaxed` ordering
-}
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-fence.stderr b/src/test/ui/lint/lint-invalid-atomic-ordering-fence.stderr
deleted file mode 100644
index 38327d607..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-fence.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error: memory fences cannot have `Relaxed` ordering
- --> $DIR/lint-invalid-atomic-ordering-fence.rs:17:11
- |
-LL | fence(Ordering::Relaxed);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `Release`, `AcqRel` or `SeqCst`
- = note: `#[deny(invalid_atomic_ordering)]` on by default
-
-error: memory fences cannot have `Relaxed` ordering
- --> $DIR/lint-invalid-atomic-ordering-fence.rs:19:20
- |
-LL | compiler_fence(Ordering::Relaxed);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `Release`, `AcqRel` or `SeqCst`
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-fetch-update.rs b/src/test/ui/lint/lint-invalid-atomic-ordering-fetch-update.rs
deleted file mode 100644
index 734b63324..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-fetch-update.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-// only-x86_64
-use std::sync::atomic::{AtomicIsize, Ordering};
-
-fn main() {
- // `fetch_update` testing
- let x = AtomicIsize::new(0);
-
- // Allowed ordering combos
- let _ = x.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::Relaxed, Ordering::Acquire, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::Relaxed, Ordering::SeqCst, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::Acquire, Ordering::Relaxed, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::Acquire, Ordering::Acquire, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::Acquire, Ordering::SeqCst, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::Release, Ordering::Relaxed, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::Release, Ordering::Acquire, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::Release, Ordering::SeqCst, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::AcqRel, Ordering::Relaxed, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::AcqRel, Ordering::Acquire, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::AcqRel, Ordering::SeqCst, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::SeqCst, Ordering::Relaxed, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::SeqCst, Ordering::Acquire, |old| Some(old + 1));
- let _ = x.fetch_update(Ordering::SeqCst, Ordering::SeqCst, |old| Some(old + 1));
-
- // AcqRel is always forbidden as a failure ordering
- let _ = x.fetch_update(Ordering::Relaxed, Ordering::AcqRel, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.fetch_update(Ordering::Acquire, Ordering::AcqRel, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.fetch_update(Ordering::Release, Ordering::AcqRel, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.fetch_update(Ordering::AcqRel, Ordering::AcqRel, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.fetch_update(Ordering::SeqCst, Ordering::AcqRel, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
-
- // Release is always forbidden as a failure ordering
- let _ = x.fetch_update(Ordering::Relaxed, Ordering::Release, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.fetch_update(Ordering::Acquire, Ordering::Release, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.fetch_update(Ordering::Release, Ordering::Release, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.fetch_update(Ordering::AcqRel, Ordering::Release, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
- let _ = x.fetch_update(Ordering::SeqCst, Ordering::Release, |old| Some(old + 1));
- //~^ ERROR `fetch_update`'s failure ordering may not be `Release` or `AcqRel`
-
-}
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-fetch-update.stderr b/src/test/ui/lint/lint-invalid-atomic-ordering-fetch-update.stderr
deleted file mode 100644
index 33829d68f..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-fetch-update.stderr
+++ /dev/null
@@ -1,83 +0,0 @@
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:26:47
- |
-LL | let _ = x.fetch_update(Ordering::Relaxed, Ordering::AcqRel, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
- = note: `#[deny(invalid_atomic_ordering)]` on by default
-
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:28:47
- |
-LL | let _ = x.fetch_update(Ordering::Acquire, Ordering::AcqRel, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:30:47
- |
-LL | let _ = x.fetch_update(Ordering::Release, Ordering::AcqRel, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:32:46
- |
-LL | let _ = x.fetch_update(Ordering::AcqRel, Ordering::AcqRel, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:34:46
- |
-LL | let _ = x.fetch_update(Ordering::SeqCst, Ordering::AcqRel, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:38:47
- |
-LL | let _ = x.fetch_update(Ordering::Relaxed, Ordering::Release, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:40:47
- |
-LL | let _ = x.fetch_update(Ordering::Acquire, Ordering::Release, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:42:47
- |
-LL | let _ = x.fetch_update(Ordering::Release, Ordering::Release, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:44:46
- |
-LL | let _ = x.fetch_update(Ordering::AcqRel, Ordering::Release, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: `fetch_update`'s failure ordering may not be `Release` or `AcqRel`, since a failed `fetch_update` does not result in a write
- --> $DIR/lint-invalid-atomic-ordering-fetch-update.rs:46:46
- |
-LL | let _ = x.fetch_update(Ordering::SeqCst, Ordering::Release, |old| Some(old + 1));
- | ^^^^^^^^^^^^^^^^^ invalid failure ordering
- |
- = help: consider using `Acquire` or `Relaxed` failure ordering instead
-
-error: aborting due to 10 previous errors
-
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-int.rs b/src/test/ui/lint/lint-invalid-atomic-ordering-int.rs
deleted file mode 100644
index 462c9670f..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-int.rs
+++ /dev/null
@@ -1,130 +0,0 @@
-// FIXME: add support for `// only-atomic` to compiletest/header.rs
-// only-x86_64
-use std::sync::atomic::{AtomicI16, AtomicI32, AtomicI64, AtomicI8, AtomicIsize, Ordering};
-
-fn main() {
- // `AtomicI8` test cases
- let x = AtomicI8::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-
- // `AtomicI16` test cases
- let x = AtomicI16::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-
- // `AtomicI32` test cases
- let x = AtomicI32::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-
- // `AtomicI64` test cases
- let x = AtomicI64::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-
- // `AtomicIsize` test cases
- let x = AtomicIsize::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-}
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-int.stderr b/src/test/ui/lint/lint-invalid-atomic-ordering-int.stderr
deleted file mode 100644
index 36930e2f4..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-int.stderr
+++ /dev/null
@@ -1,163 +0,0 @@
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:20:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
- = note: `#[deny(invalid_atomic_ordering)]` on by default
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:22:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:26:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:28:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:45:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:47:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:51:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:53:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:70:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:72:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:76:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:78:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:95:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:97:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:101:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:103:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:120:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:122:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:126:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-int.rs:128:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: aborting due to 20 previous errors
-
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-ptr.rs b/src/test/ui/lint/lint-invalid-atomic-ordering-ptr.rs
deleted file mode 100644
index 984f7edeb..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-ptr.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-// only-x86_64
-use std::sync::atomic::{AtomicPtr, Ordering};
-
-fn main() {
- let ptr = &mut 5;
- let other_ptr = &mut 10;
- let x = AtomicPtr::new(ptr);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Allowed store ordering modes
- x.store(other_ptr, Ordering::Release);
- x.store(other_ptr, Ordering::SeqCst);
- x.store(other_ptr, Ordering::Relaxed);
-
- // Disallowed store ordering modes
- x.store(other_ptr, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(other_ptr, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-}
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-ptr.stderr b/src/test/ui/lint/lint-invalid-atomic-ordering-ptr.stderr
deleted file mode 100644
index 12f4cad90..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-ptr.stderr
+++ /dev/null
@@ -1,35 +0,0 @@
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-ptr.rs:15:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
- = note: `#[deny(invalid_atomic_ordering)]` on by default
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-ptr.rs:17:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-ptr.rs:26:24
- |
-LL | x.store(other_ptr, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-ptr.rs:28:24
- |
-LL | x.store(other_ptr, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-uint.rs b/src/test/ui/lint/lint-invalid-atomic-ordering-uint.rs
deleted file mode 100644
index 80ec3b9ee..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-uint.rs
+++ /dev/null
@@ -1,129 +0,0 @@
-// only-x86_64
-use std::sync::atomic::{AtomicU16, AtomicU32, AtomicU64, AtomicU8, AtomicUsize, Ordering};
-
-fn main() {
- // `AtomicU8` test cases
- let x = AtomicU8::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-
- // `AtomicU16` test cases
- let x = AtomicU16::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-
- // `AtomicU32` test cases
- let x = AtomicU32::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-
- // `AtomicU64` test cases
- let x = AtomicU64::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-
- // `AtomicUsize` test cases
- let x = AtomicUsize::new(0);
-
- // Allowed load ordering modes
- let _ = x.load(Ordering::Acquire);
- let _ = x.load(Ordering::SeqCst);
- let _ = x.load(Ordering::Relaxed);
-
- // Allowed store ordering modes
- x.store(1, Ordering::Release);
- x.store(1, Ordering::SeqCst);
- x.store(1, Ordering::Relaxed);
-
- // Disallowed load ordering modes
- let _ = x.load(Ordering::Release);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
- let _ = x.load(Ordering::AcqRel);
- //~^ ERROR atomic loads cannot have `Release` or `AcqRel` ordering
-
- // Disallowed store ordering modes
- x.store(1, Ordering::Acquire);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
- x.store(1, Ordering::AcqRel);
- //~^ ERROR atomic stores cannot have `Acquire` or `AcqRel` ordering
-}
diff --git a/src/test/ui/lint/lint-invalid-atomic-ordering-uint.stderr b/src/test/ui/lint/lint-invalid-atomic-ordering-uint.stderr
deleted file mode 100644
index d26621f2a..000000000
--- a/src/test/ui/lint/lint-invalid-atomic-ordering-uint.stderr
+++ /dev/null
@@ -1,163 +0,0 @@
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:19:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
- = note: `#[deny(invalid_atomic_ordering)]` on by default
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:21:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:25:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:27:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:44:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:46:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:50:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:52:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:69:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:71:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:75:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:77:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:94:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:96:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:100:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:102:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:119:20
- |
-LL | let _ = x.load(Ordering::Release);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic loads cannot have `Release` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:121:20
- |
-LL | let _ = x.load(Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Acquire`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:125:16
- |
-LL | x.store(1, Ordering::Acquire);
- | ^^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: atomic stores cannot have `Acquire` or `AcqRel` ordering
- --> $DIR/lint-invalid-atomic-ordering-uint.rs:127:16
- |
-LL | x.store(1, Ordering::AcqRel);
- | ^^^^^^^^^^^^^^^^
- |
- = help: consider using ordering modes `Release`, `SeqCst` or `Relaxed`
-
-error: aborting due to 20 previous errors
-
diff --git a/src/test/ui/lint/lint-level-macro-def-mod.rs b/src/test/ui/lint/lint-level-macro-def-mod.rs
deleted file mode 100644
index 79f7d1206..000000000
--- a/src/test/ui/lint/lint-level-macro-def-mod.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// This checks that exported macros lint as part of their module of origin, not
-// the root module.
-//
-// check-pass
-
-//! Top level documentation
-#![deny(missing_docs)]
-
-#[allow(missing_docs)]
-mod module {
- #[macro_export]
- macro_rules! hello {
- () => ()
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-level-macro-def.rs b/src/test/ui/lint/lint-level-macro-def.rs
deleted file mode 100644
index 720f4b453..000000000
--- a/src/test/ui/lint/lint-level-macro-def.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Checks that you can set a lint level specficially for a macro definition.
-//
-// This is a regression test for issue #59306.
-//
-// check-pass
-
-
-#[deny(missing_docs)]
-mod module {
- #[allow(missing_docs)]
- #[macro_export]
- macro_rules! hello {
- () => ()
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-lowercase-static-const-pattern-rename.rs b/src/test/ui/lint/lint-lowercase-static-const-pattern-rename.rs
deleted file mode 100644
index d085db43a..000000000
--- a/src/test/ui/lint/lint-lowercase-static-const-pattern-rename.rs
+++ /dev/null
@@ -1,63 +0,0 @@
-// check-pass
-// Issue #7526: lowercase static constants in patterns look like bindings
-
-// This is similar to lint-lowercase-static-const-pattern.rs, except it
-// shows the expected usual workaround (choosing a different name for
-// the static definition) and also demonstrates that one can work
-// around this problem locally by renaming the constant in the `use`
-// form to an uppercase identifier that placates the lint.
-
-#![deny(non_upper_case_globals)]
-
-pub const A : isize = 97;
-
-fn f() {
- let r = match (0,0) {
- (0, A) => 0,
- (x, y) => 1 + x + y,
- };
- assert_eq!(r, 1);
- let r = match (0,97) {
- (0, A) => 0,
- (x, y) => 1 + x + y,
- };
- assert_eq!(r, 0);
-}
-
-mod m {
- #[allow(non_upper_case_globals)]
- pub const aha : isize = 7;
-}
-
-fn g() {
- use self::m::aha as AHA;
- let r = match (0,0) {
- (0, AHA) => 0,
- (x, y) => 1 + x + y,
- };
- assert_eq!(r, 1);
- let r = match (0,7) {
- (0, AHA) => 0,
- (x, y) => 1 + x + y,
- };
- assert_eq!(r, 0);
-}
-
-fn h() {
- let r = match (0,0) {
- (0, self::m::aha) => 0,
- (x, y) => 1 + x + y,
- };
- assert_eq!(r, 1);
- let r = match (0,7) {
- (0, self::m::aha) => 0,
- (x, y) => 1 + x + y,
- };
- assert_eq!(r, 0);
-}
-
-pub fn main () {
- f();
- g();
- h();
-}
diff --git a/src/test/ui/lint/lint-lowercase-static-const-pattern.rs b/src/test/ui/lint/lint-lowercase-static-const-pattern.rs
deleted file mode 100644
index c2e159eec..000000000
--- a/src/test/ui/lint/lint-lowercase-static-const-pattern.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-// Issue #7526: lowercase static constants in patterns look like bindings
-
-#![allow(dead_code)]
-#![deny(non_upper_case_globals)]
-
-#[allow(non_upper_case_globals)]
-pub const a : isize = 97;
-
-fn f() {
- let r = match (0,0) {
- (0, a) => 0,
- //~^ ERROR constant in pattern `a` should have an upper case name
- (x, y) => 1 + x + y,
- };
- assert_eq!(r, 1);
-}
-
-mod m {
- #[allow(non_upper_case_globals)]
- pub const aha : isize = 7;
-}
-
-fn g() {
- use self::m::aha;
- let r = match (0,0) {
- (0, aha) => 0,
- //~^ ERROR constant in pattern `aha` should have an upper case name
- (x, y) => 1 + x + y,
- };
- assert_eq!(r, 1);
-}
-
-mod n {
- pub const OKAY : isize = 8;
-}
-
-fn h() {
- use self::n::OKAY as not_okay;
- let r = match (0,0) {
- (0, not_okay) => 0,
-//~^ ERROR constant in pattern `not_okay` should have an upper case name
- (x, y) => 1 + x + y,
- };
- assert_eq!(r, 1);
-}
-
-fn main () {
- f();
- g();
- h();
-}
diff --git a/src/test/ui/lint/lint-lowercase-static-const-pattern.stderr b/src/test/ui/lint/lint-lowercase-static-const-pattern.stderr
deleted file mode 100644
index 8780fac05..000000000
--- a/src/test/ui/lint/lint-lowercase-static-const-pattern.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: constant in pattern `a` should have an upper case name
- --> $DIR/lint-lowercase-static-const-pattern.rs:11:13
- |
-LL | (0, a) => 0,
- | ^ help: convert the identifier to upper case: `A`
- |
-note: the lint level is defined here
- --> $DIR/lint-lowercase-static-const-pattern.rs:4:9
- |
-LL | #![deny(non_upper_case_globals)]
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: constant in pattern `aha` should have an upper case name
- --> $DIR/lint-lowercase-static-const-pattern.rs:26:13
- |
-LL | (0, aha) => 0,
- | ^^^ help: convert the identifier to upper case: `AHA`
-
-error: constant in pattern `not_okay` should have an upper case name
- --> $DIR/lint-lowercase-static-const-pattern.rs:40:13
- |
-LL | (0, not_okay) => 0,
- | ^^^^^^^^ help: convert the identifier to upper case: `NOT_OKAY`
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/lint-malformed.rs b/src/test/ui/lint/lint-malformed.rs
deleted file mode 100644
index 188e702f9..000000000
--- a/src/test/ui/lint/lint-malformed.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-#![deny = "foo"] //~ ERROR malformed `deny` attribute input
-#![allow(bar = "baz")] //~ ERROR malformed lint attribute
- //~| ERROR malformed lint attribute
- //~| ERROR malformed lint attribute
- //~| ERROR malformed lint attribute
-fn main() { }
diff --git a/src/test/ui/lint/lint-malformed.stderr b/src/test/ui/lint/lint-malformed.stderr
deleted file mode 100644
index 91b4e509b..000000000
--- a/src/test/ui/lint/lint-malformed.stderr
+++ /dev/null
@@ -1,33 +0,0 @@
-error[E0452]: malformed lint attribute input
- --> $DIR/lint-malformed.rs:2:10
- |
-LL | #![allow(bar = "baz")]
- | ^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/lint-malformed.rs:2:10
- |
-LL | #![allow(bar = "baz")]
- | ^^^^^^^^^^^ bad attribute argument
-
-error: malformed `deny` attribute input
- --> $DIR/lint-malformed.rs:1:1
- |
-LL | #![deny = "foo"]
- | ^^^^^^^^^^^^^^^^ help: must be of the form: `#![deny(lint1, lint2, ..., /*opt*/ reason = "...")]`
-
-error[E0452]: malformed lint attribute input
- --> $DIR/lint-malformed.rs:2:10
- |
-LL | #![allow(bar = "baz")]
- | ^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/lint-malformed.rs:2:10
- |
-LL | #![allow(bar = "baz")]
- | ^^^^^^^^^^^ bad attribute argument
-
-error: aborting due to 5 previous errors
-
-For more information about this error, try `rustc --explain E0452`.
diff --git a/src/test/ui/lint/lint-match-arms.rs b/src/test/ui/lint/lint-match-arms.rs
deleted file mode 100644
index 5c2ccc60e..000000000
--- a/src/test/ui/lint/lint-match-arms.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-fn deny_on_arm() {
- match 0 {
- #[deny(unused_variables)]
- //~^ NOTE the lint level is defined here
- y => (),
- //~^ ERROR unused variable
- }
-}
-
-#[deny(unused_variables)]
-fn allow_on_arm() {
- match 0 {
- #[allow(unused_variables)]
- y => (), // OK
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-match-arms.stderr b/src/test/ui/lint/lint-match-arms.stderr
deleted file mode 100644
index 1bc0e41fd..000000000
--- a/src/test/ui/lint/lint-match-arms.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: unused variable: `y`
- --> $DIR/lint-match-arms.rs:5:9
- |
-LL | y => (),
- | ^ help: if this is intentional, prefix it with an underscore: `_y`
- |
-note: the lint level is defined here
- --> $DIR/lint-match-arms.rs:3:16
- |
-LL | #[deny(unused_variables)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-misplaced-attr.rs b/src/test/ui/lint/lint-misplaced-attr.rs
deleted file mode 100644
index d06917ea3..000000000
--- a/src/test/ui/lint/lint-misplaced-attr.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// When denying at the crate level, be sure to not get random warnings from the
-// injected intrinsics by the compiler.
-
-#![deny(unused_attributes)]
-
-mod a {
- #![crate_type = "bin"] //~ ERROR should be in the root module
-}
-
-#[crate_type = "bin"] fn main() {} //~ ERROR should be an inner
diff --git a/src/test/ui/lint/lint-misplaced-attr.stderr b/src/test/ui/lint/lint-misplaced-attr.stderr
deleted file mode 100644
index abaf4620e..000000000
--- a/src/test/ui/lint/lint-misplaced-attr.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: crate-level attribute should be in the root module
- --> $DIR/lint-misplaced-attr.rs:7:5
- |
-LL | #![crate_type = "bin"]
- | ^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-misplaced-attr.rs:4:9
- |
-LL | #![deny(unused_attributes)]
- | ^^^^^^^^^^^^^^^^^
-
-error: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
- --> $DIR/lint-misplaced-attr.rs:10:1
- |
-LL | #[crate_type = "bin"] fn main() {}
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/lint-missing-copy-implementations.rs b/src/test/ui/lint/lint-missing-copy-implementations.rs
deleted file mode 100644
index 918f40de1..000000000
--- a/src/test/ui/lint/lint-missing-copy-implementations.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// See issue 19712
-
-#![deny(missing_copy_implementations)]
-
-mod inner {
- pub struct Foo { //~ ERROR type could implement `Copy`; consider adding `impl Copy`
- pub field: i32
- }
-}
-
-pub fn foo() -> inner::Foo {
- inner::Foo { field: 42 }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-missing-copy-implementations.stderr b/src/test/ui/lint/lint-missing-copy-implementations.stderr
deleted file mode 100644
index e5f5ce20d..000000000
--- a/src/test/ui/lint/lint-missing-copy-implementations.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-error: type could implement `Copy`; consider adding `impl Copy`
- --> $DIR/lint-missing-copy-implementations.rs:6:5
- |
-LL | / pub struct Foo {
-LL | | pub field: i32
-LL | | }
- | |_____^
- |
-note: the lint level is defined here
- --> $DIR/lint-missing-copy-implementations.rs:3:9
- |
-LL | #![deny(missing_copy_implementations)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-missing-doc.rs b/src/test/ui/lint/lint-missing-doc.rs
deleted file mode 100644
index 229725791..000000000
--- a/src/test/ui/lint/lint-missing-doc.rs
+++ /dev/null
@@ -1,203 +0,0 @@
-// When denying at the crate level, be sure to not get random warnings from the
-// injected intrinsics by the compiler.
-#![deny(missing_docs)]
-#![allow(dead_code)]
-#![feature(associated_type_defaults, extern_types)]
-
-//! Some garbage docs for the crate here
-#![doc="More garbage"]
-
-type Typedef = String;
-pub type PubTypedef = String; //~ ERROR: missing documentation for a type alias
-
-struct Foo {
- a: isize,
- b: isize,
-}
-
-pub struct PubFoo { //~ ERROR: missing documentation for a struct
- pub a: isize, //~ ERROR: missing documentation for a struct field
- b: isize,
-}
-
-#[allow(missing_docs)]
-pub struct PubFoo2 {
- pub a: isize,
- pub c: isize,
-}
-
-mod module_no_dox {}
-pub mod pub_module_no_dox {} //~ ERROR: missing documentation for a module
-
-/// dox
-pub fn foo() {}
-pub fn foo2() {} //~ ERROR: missing documentation for a function
-fn foo3() {}
-#[allow(missing_docs)] pub fn foo4() {}
-
-/// dox
-pub trait A {
- /// dox
- fn foo(&self);
- /// dox
- fn foo_with_impl(&self) {}
-}
-
-#[allow(missing_docs)]
-trait B {
- fn foo(&self);
- fn foo_with_impl(&self) {}
-}
-
-pub trait C { //~ ERROR: missing documentation for a trait
- fn foo(&self); //~ ERROR: missing documentation for an associated function
- fn foo_with_impl(&self) {} //~ ERROR: missing documentation for an associated function
-}
-
-#[allow(missing_docs)]
-pub trait D {
- fn dummy(&self) { }
-}
-
-/// dox
-pub trait E: Sized {
- type AssociatedType; //~ ERROR: missing documentation for an associated type
- type AssociatedTypeDef = Self; //~ ERROR: missing documentation for an associated type
-
- /// dox
- type DocumentedType;
- /// dox
- type DocumentedTypeDef = Self;
- /// dox
- fn dummy(&self) {}
-}
-
-impl Foo {
- pub fn foo() {}
- fn bar() {}
-}
-
-impl PubFoo {
- pub fn foo() {} //~ ERROR: missing documentation for an associated function
- /// dox
- pub fn foo1() {}
- fn foo2() {}
- #[allow(missing_docs)] pub fn foo3() {}
-}
-
-#[allow(missing_docs)]
-trait F {
- fn a();
- fn b(&self);
-}
-
-// should need to redefine documentation for implementations of traits
-impl F for Foo {
- fn a() {}
- fn b(&self) {}
-}
-
-// It sure is nice if doc(hidden) implies allow(missing_docs), and that it
-// applies recursively
-#[doc(hidden)]
-mod a {
- pub fn baz() {}
- pub mod b {
- pub fn baz() {}
- }
-}
-
-enum Baz {
- BazA {
- a: isize,
- b: isize
- },
- BarB
-}
-
-pub enum PubBaz { //~ ERROR: missing documentation for an enum
- PubBazA { //~ ERROR: missing documentation for a variant
- a: isize, //~ ERROR: missing documentation for a struct field
- },
-}
-
-/// dox
-pub enum PubBaz2 {
- /// dox
- PubBaz2A {
- /// dox
- a: isize,
- },
-}
-
-#[allow(missing_docs)]
-pub enum PubBaz3 {
- PubBaz3A {
- b: isize
- },
-}
-
-#[doc(hidden)]
-pub fn baz() {}
-
-
-const FOO: u32 = 0;
-/// dox
-pub const FOO1: u32 = 0;
-#[allow(missing_docs)]
-pub const FOO2: u32 = 0;
-#[doc(hidden)]
-pub const FOO3: u32 = 0;
-pub const FOO4: u32 = 0; //~ ERROR: missing documentation for a const
-
-
-static BAR: u32 = 0;
-/// dox
-pub static BAR1: u32 = 0;
-#[allow(missing_docs)]
-pub static BAR2: u32 = 0;
-#[doc(hidden)]
-pub static BAR3: u32 = 0;
-pub static BAR4: u32 = 0; //~ ERROR: missing documentation for a static
-
-
-mod internal_impl {
- /// dox
- pub fn documented() {}
- pub fn undocumented1() {} //~ ERROR: missing documentation for a function
- pub fn undocumented2() {} //~ ERROR: missing documentation for a function
- fn undocumented3() {}
- /// dox
- pub mod globbed {
- /// dox
- pub fn also_documented() {}
- pub fn also_undocumented1() {} //~ ERROR: missing documentation for a function
- fn also_undocumented2() {}
- }
-}
-/// dox
-pub mod public_interface {
- pub use internal_impl::documented as foo;
- pub use internal_impl::undocumented1 as bar;
- pub use internal_impl::{documented, undocumented2};
- pub use internal_impl::globbed::*;
-}
-
-extern "C" {
- /// dox
- pub fn extern_fn_documented(f: f32) -> f32;
- pub fn extern_fn_undocumented(f: f32) -> f32;
- //~^ ERROR: missing documentation for a function
-
- /// dox
- pub static EXTERN_STATIC_DOCUMENTED: u8;
- pub static EXTERN_STATIC_UNDOCUMENTED: u8;
- //~^ ERROR: missing documentation for a static
-
- /// dox
- pub type ExternTyDocumented;
- pub type ExternTyUndocumented;
- //~^ ERROR: missing documentation for a foreign type
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-missing-doc.stderr b/src/test/ui/lint/lint-missing-doc.stderr
deleted file mode 100644
index d68472d4b..000000000
--- a/src/test/ui/lint/lint-missing-doc.stderr
+++ /dev/null
@@ -1,140 +0,0 @@
-error: missing documentation for a type alias
- --> $DIR/lint-missing-doc.rs:11:1
- |
-LL | pub type PubTypedef = String;
- | ^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-missing-doc.rs:3:9
- |
-LL | #![deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for a struct
- --> $DIR/lint-missing-doc.rs:18:1
- |
-LL | pub struct PubFoo {
- | ^^^^^^^^^^^^^^^^^
-
-error: missing documentation for a struct field
- --> $DIR/lint-missing-doc.rs:19:5
- |
-LL | pub a: isize,
- | ^^^^^^^^^^^^
-
-error: missing documentation for a module
- --> $DIR/lint-missing-doc.rs:30:1
- |
-LL | pub mod pub_module_no_dox {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for a function
- --> $DIR/lint-missing-doc.rs:34:1
- |
-LL | pub fn foo2() {}
- | ^^^^^^^^^^^^^
-
-error: missing documentation for a trait
- --> $DIR/lint-missing-doc.rs:52:1
- |
-LL | pub trait C {
- | ^^^^^^^^^^^
-
-error: missing documentation for an associated function
- --> $DIR/lint-missing-doc.rs:53:5
- |
-LL | fn foo(&self);
- | ^^^^^^^^^^^^^^
-
-error: missing documentation for an associated function
- --> $DIR/lint-missing-doc.rs:54:5
- |
-LL | fn foo_with_impl(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for an associated type
- --> $DIR/lint-missing-doc.rs:64:5
- |
-LL | type AssociatedType;
- | ^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for an associated type
- --> $DIR/lint-missing-doc.rs:65:5
- |
-LL | type AssociatedTypeDef = Self;
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for an associated function
- --> $DIR/lint-missing-doc.rs:81:5
- |
-LL | pub fn foo() {}
- | ^^^^^^^^^^^^
-
-error: missing documentation for an enum
- --> $DIR/lint-missing-doc.rs:118:1
- |
-LL | pub enum PubBaz {
- | ^^^^^^^^^^^^^^^
-
-error: missing documentation for a variant
- --> $DIR/lint-missing-doc.rs:119:5
- |
-LL | PubBazA {
- | ^^^^^^^
-
-error: missing documentation for a struct field
- --> $DIR/lint-missing-doc.rs:120:9
- |
-LL | a: isize,
- | ^^^^^^^^
-
-error: missing documentation for a constant
- --> $DIR/lint-missing-doc.rs:151:1
- |
-LL | pub const FOO4: u32 = 0;
- | ^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for a static
- --> $DIR/lint-missing-doc.rs:161:1
- |
-LL | pub static BAR4: u32 = 0;
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for a function
- --> $DIR/lint-missing-doc.rs:167:5
- |
-LL | pub fn undocumented1() {}
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for a function
- --> $DIR/lint-missing-doc.rs:168:5
- |
-LL | pub fn undocumented2() {}
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for a function
- --> $DIR/lint-missing-doc.rs:174:9
- |
-LL | pub fn also_undocumented1() {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for a function
- --> $DIR/lint-missing-doc.rs:189:5
- |
-LL | pub fn extern_fn_undocumented(f: f32) -> f32;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for a static
- --> $DIR/lint-missing-doc.rs:194:5
- |
-LL | pub static EXTERN_STATIC_UNDOCUMENTED: u8;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing documentation for a foreign type
- --> $DIR/lint-missing-doc.rs:199:5
- |
-LL | pub type ExternTyUndocumented;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 22 previous errors
-
diff --git a/src/test/ui/lint/lint-non-camel-case-types.rs b/src/test/ui/lint/lint-non-camel-case-types.rs
deleted file mode 100644
index acd5c5df9..000000000
--- a/src/test/ui/lint/lint-non-camel-case-types.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-#![forbid(non_camel_case_types)]
-#![allow(dead_code)]
-
-struct ONE_TWO_THREE;
-//~^ ERROR type `ONE_TWO_THREE` should have an upper camel case name
-
-struct foo { //~ ERROR type `foo` should have an upper camel case name
- bar: isize,
-}
-
-enum foo2 { //~ ERROR type `foo2` should have an upper camel case name
- Bar
-}
-
-struct foo3 { //~ ERROR type `foo3` should have an upper camel case name
- bar: isize
-}
-
-type foo4 = isize; //~ ERROR type `foo4` should have an upper camel case name
-
-enum Foo5 {
- bar //~ ERROR variant `bar` should have an upper camel case name
-}
-
-trait foo6 { //~ ERROR trait `foo6` should have an upper camel case name
- type foo7; //~ ERROR associated type `foo7` should have an upper camel case name
- fn dummy(&self) { }
-}
-
-fn f<ty>(_: ty) {} //~ ERROR type parameter `ty` should have an upper camel case name
-
-#[repr(C)]
-struct foo7 {
- bar: isize,
-}
-
-fn main() { }
diff --git a/src/test/ui/lint/lint-non-camel-case-types.stderr b/src/test/ui/lint/lint-non-camel-case-types.stderr
deleted file mode 100644
index 875380b5d..000000000
--- a/src/test/ui/lint/lint-non-camel-case-types.stderr
+++ /dev/null
@@ -1,62 +0,0 @@
-error: type `ONE_TWO_THREE` should have an upper camel case name
- --> $DIR/lint-non-camel-case-types.rs:4:8
- |
-LL | struct ONE_TWO_THREE;
- | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OneTwoThree`
- |
-note: the lint level is defined here
- --> $DIR/lint-non-camel-case-types.rs:1:11
- |
-LL | #![forbid(non_camel_case_types)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: type `foo` should have an upper camel case name
- --> $DIR/lint-non-camel-case-types.rs:7:8
- |
-LL | struct foo {
- | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Foo`
-
-error: type `foo2` should have an upper camel case name
- --> $DIR/lint-non-camel-case-types.rs:11:6
- |
-LL | enum foo2 {
- | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Foo2`
-
-error: type `foo3` should have an upper camel case name
- --> $DIR/lint-non-camel-case-types.rs:15:8
- |
-LL | struct foo3 {
- | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Foo3`
-
-error: type `foo4` should have an upper camel case name
- --> $DIR/lint-non-camel-case-types.rs:19:6
- |
-LL | type foo4 = isize;
- | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Foo4`
-
-error: variant `bar` should have an upper camel case name
- --> $DIR/lint-non-camel-case-types.rs:22:5
- |
-LL | bar
- | ^^^ help: convert the identifier to upper camel case: `Bar`
-
-error: trait `foo6` should have an upper camel case name
- --> $DIR/lint-non-camel-case-types.rs:25:7
- |
-LL | trait foo6 {
- | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Foo6`
-
-error: associated type `foo7` should have an upper camel case name
- --> $DIR/lint-non-camel-case-types.rs:26:10
- |
-LL | type foo7;
- | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Foo7`
-
-error: type parameter `ty` should have an upper camel case name
- --> $DIR/lint-non-camel-case-types.rs:30:6
- |
-LL | fn f<ty>(_: ty) {}
- | ^^ help: convert the identifier to upper camel case: `Ty`
-
-error: aborting due to 9 previous errors
-
diff --git a/src/test/ui/lint/lint-non-camel-case-variant.rs b/src/test/ui/lint/lint-non-camel-case-variant.rs
deleted file mode 100644
index 2b1a52f25..000000000
--- a/src/test/ui/lint/lint-non-camel-case-variant.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// check-pass
-
-#![deny(non_camel_case_types)]
-
-pub enum Foo {
- #[allow(non_camel_case_types)]
- bar
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-non-camel-case-with-trailing-underscores.rs b/src/test/ui/lint/lint-non-camel-case-with-trailing-underscores.rs
deleted file mode 100644
index b832e4bcd..000000000
--- a/src/test/ui/lint/lint-non-camel-case-with-trailing-underscores.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// check-pass
-
-#![allow(dead_code)]
-// This is ok because we often use the trailing underscore to mean 'prime'
-
-// pretty-expanded FIXME #23616
-
-#[forbid(non_camel_case_types)]
-type Foo_ = isize;
-
-pub fn main() { }
diff --git a/src/test/ui/lint/lint-non-snake-case-crate-2.rs b/src/test/ui/lint/lint-non-snake-case-crate-2.rs
deleted file mode 100644
index 1b763a9d8..000000000
--- a/src/test/ui/lint/lint-non-snake-case-crate-2.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// compile-flags: --crate-name NonSnakeCase
-// error-pattern: crate `NonSnakeCase` should have a snake case name
-
-#![deny(non_snake_case)]
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-non-snake-case-crate-2.stderr b/src/test/ui/lint/lint-non-snake-case-crate-2.stderr
deleted file mode 100644
index 4b42145bb..000000000
--- a/src/test/ui/lint/lint-non-snake-case-crate-2.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error: crate `NonSnakeCase` should have a snake case name
- |
- = help: convert the identifier to snake case: `non_snake_case`
-note: the lint level is defined here
- --> $DIR/lint-non-snake-case-crate-2.rs:4:9
- |
-LL | #![deny(non_snake_case)]
- | ^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-non-snake-case-crate.rs b/src/test/ui/lint/lint-non-snake-case-crate.rs
deleted file mode 100644
index e4e84261a..000000000
--- a/src/test/ui/lint/lint-non-snake-case-crate.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-#![crate_name = "NonSnakeCase"]
-//~^ ERROR crate `NonSnakeCase` should have a snake case name
-#![deny(non_snake_case)]
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-non-snake-case-crate.stderr b/src/test/ui/lint/lint-non-snake-case-crate.stderr
deleted file mode 100644
index da6b89c1e..000000000
--- a/src/test/ui/lint/lint-non-snake-case-crate.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: crate `NonSnakeCase` should have a snake case name
- --> $DIR/lint-non-snake-case-crate.rs:1:18
- |
-LL | #![crate_name = "NonSnakeCase"]
- | ^^^^^^^^^^^^ help: convert the identifier to snake case: `non_snake_case`
- |
-note: the lint level is defined here
- --> $DIR/lint-non-snake-case-crate.rs:3:9
- |
-LL | #![deny(non_snake_case)]
- | ^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-non-snake-case-functions.rs b/src/test/ui/lint/lint-non-snake-case-functions.rs
deleted file mode 100644
index fa64a9f98..000000000
--- a/src/test/ui/lint/lint-non-snake-case-functions.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-#![deny(non_snake_case)]
-#![allow(dead_code)]
-
-struct Foo;
-
-impl Foo {
- fn Foo_Method() {}
- //~^ ERROR method `Foo_Method` should have a snake case name
-
- // Don't allow two underscores in a row
- fn foo__method(&self) {}
- //~^ ERROR method `foo__method` should have a snake case name
-
- pub fn xyZ(&mut self) {}
- //~^ ERROR method `xyZ` should have a snake case name
-
- fn render_HTML() {}
- //~^ ERROR method `render_HTML` should have a snake case name
-}
-
-trait X {
- fn ABC();
- //~^ ERROR trait method `ABC` should have a snake case name
-
- fn a_b_C(&self) {}
- //~^ ERROR trait method `a_b_C` should have a snake case name
-
- fn something__else(&mut self);
- //~^ ERROR trait method `something__else` should have a snake case name
-}
-
-impl X for Foo {
- // These errors should be caught at the trait definition not the impl
- fn ABC() {}
- fn something__else(&mut self) {}
-}
-
-fn Cookie() {}
-//~^ ERROR function `Cookie` should have a snake case name
-
-pub fn bi_S_Cuit() {}
-//~^ ERROR function `bi_S_Cuit` should have a snake case name
-
-fn main() { }
diff --git a/src/test/ui/lint/lint-non-snake-case-functions.stderr b/src/test/ui/lint/lint-non-snake-case-functions.stderr
deleted file mode 100644
index f6ac6b99b..000000000
--- a/src/test/ui/lint/lint-non-snake-case-functions.stderr
+++ /dev/null
@@ -1,62 +0,0 @@
-error: method `Foo_Method` should have a snake case name
- --> $DIR/lint-non-snake-case-functions.rs:7:8
- |
-LL | fn Foo_Method() {}
- | ^^^^^^^^^^ help: convert the identifier to snake case: `foo_method`
- |
-note: the lint level is defined here
- --> $DIR/lint-non-snake-case-functions.rs:1:9
- |
-LL | #![deny(non_snake_case)]
- | ^^^^^^^^^^^^^^
-
-error: method `foo__method` should have a snake case name
- --> $DIR/lint-non-snake-case-functions.rs:11:8
- |
-LL | fn foo__method(&self) {}
- | ^^^^^^^^^^^ help: convert the identifier to snake case: `foo_method`
-
-error: method `xyZ` should have a snake case name
- --> $DIR/lint-non-snake-case-functions.rs:14:12
- |
-LL | pub fn xyZ(&mut self) {}
- | ^^^ help: convert the identifier to snake case: `xy_z`
-
-error: method `render_HTML` should have a snake case name
- --> $DIR/lint-non-snake-case-functions.rs:17:8
- |
-LL | fn render_HTML() {}
- | ^^^^^^^^^^^ help: convert the identifier to snake case: `render_html`
-
-error: trait method `ABC` should have a snake case name
- --> $DIR/lint-non-snake-case-functions.rs:22:8
- |
-LL | fn ABC();
- | ^^^ help: convert the identifier to snake case: `abc`
-
-error: trait method `a_b_C` should have a snake case name
- --> $DIR/lint-non-snake-case-functions.rs:25:8
- |
-LL | fn a_b_C(&self) {}
- | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `a_b_c`
-
-error: trait method `something__else` should have a snake case name
- --> $DIR/lint-non-snake-case-functions.rs:28:8
- |
-LL | fn something__else(&mut self);
- | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `something_else`
-
-error: function `Cookie` should have a snake case name
- --> $DIR/lint-non-snake-case-functions.rs:38:4
- |
-LL | fn Cookie() {}
- | ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cookie`
-
-error: function `bi_S_Cuit` should have a snake case name
- --> $DIR/lint-non-snake-case-functions.rs:41:8
- |
-LL | pub fn bi_S_Cuit() {}
- | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `bi_s_cuit`
-
-error: aborting due to 9 previous errors
-
diff --git a/src/test/ui/lint/lint-non-snake-case-identifiers-suggestion-reserved.rs b/src/test/ui/lint/lint-non-snake-case-identifiers-suggestion-reserved.rs
deleted file mode 100644
index 8cc4f976a..000000000
--- a/src/test/ui/lint/lint-non-snake-case-identifiers-suggestion-reserved.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-#![warn(unused)]
-#![allow(dead_code)]
-#![deny(non_snake_case)]
-
-mod Impl {}
-//~^ ERROR module `Impl` should have a snake case name
-
-fn While() {}
-//~^ ERROR function `While` should have a snake case name
-
-fn main() {
- let Mod: usize = 0;
- //~^ ERROR variable `Mod` should have a snake case name
- //~^^ WARN unused variable: `Mod`
-
- let Super: usize = 0;
- //~^ ERROR variable `Super` should have a snake case name
- //~^^ WARN unused variable: `Super`
-}
diff --git a/src/test/ui/lint/lint-non-snake-case-identifiers-suggestion-reserved.stderr b/src/test/ui/lint/lint-non-snake-case-identifiers-suggestion-reserved.stderr
deleted file mode 100644
index 2841815ec..000000000
--- a/src/test/ui/lint/lint-non-snake-case-identifiers-suggestion-reserved.stderr
+++ /dev/null
@@ -1,67 +0,0 @@
-warning: unused variable: `Mod`
- --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:12:9
- |
-LL | let Mod: usize = 0;
- | ^^^ help: if this is intentional, prefix it with an underscore: `_Mod`
- |
-note: the lint level is defined here
- --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:1:9
- |
-LL | #![warn(unused)]
- | ^^^^^^
- = note: `#[warn(unused_variables)]` implied by `#[warn(unused)]`
-
-warning: unused variable: `Super`
- --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:16:9
- |
-LL | let Super: usize = 0;
- | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Super`
-
-error: module `Impl` should have a snake case name
- --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:5:5
- |
-LL | mod Impl {}
- | ^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:3:9
- |
-LL | #![deny(non_snake_case)]
- | ^^^^^^^^^^^^^^
-help: rename the identifier or convert it to a snake case raw identifier
- |
-LL | mod r#impl {}
- | ~~~~~~
-
-error: function `While` should have a snake case name
- --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:8:4
- |
-LL | fn While() {}
- | ^^^^^
- |
-help: rename the identifier or convert it to a snake case raw identifier
- |
-LL | fn r#while() {}
- | ~~~~~~~
-
-error: variable `Mod` should have a snake case name
- --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:12:9
- |
-LL | let Mod: usize = 0;
- | ^^^
- |
-help: rename the identifier or convert it to a snake case raw identifier
- |
-LL | let r#mod: usize = 0;
- | ~~~~~
-
-error: variable `Super` should have a snake case name
- --> $DIR/lint-non-snake-case-identifiers-suggestion-reserved.rs:16:9
- |
-LL | let Super: usize = 0;
- | ^^^^^ help: rename the identifier
- |
- = note: `super` cannot be used as a raw identifier
-
-error: aborting due to 4 previous errors; 2 warnings emitted
-
diff --git a/src/test/ui/lint/lint-non-snake-case-lifetimes.rs b/src/test/ui/lint/lint-non-snake-case-lifetimes.rs
deleted file mode 100644
index de76d2dbe..000000000
--- a/src/test/ui/lint/lint-non-snake-case-lifetimes.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-#![deny(non_snake_case)]
-#![allow(dead_code)]
-
-fn f<'FooBar>( //~ ERROR lifetime `'FooBar` should have a snake case name
- _: &'FooBar ()
-) {}
-
-fn main() { }
diff --git a/src/test/ui/lint/lint-non-snake-case-lifetimes.stderr b/src/test/ui/lint/lint-non-snake-case-lifetimes.stderr
deleted file mode 100644
index d4fe26a43..000000000
--- a/src/test/ui/lint/lint-non-snake-case-lifetimes.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: lifetime `'FooBar` should have a snake case name
- --> $DIR/lint-non-snake-case-lifetimes.rs:4:6
- |
-LL | fn f<'FooBar>(
- | ^^^^^^^ help: convert the identifier to snake case: `'foo_bar`
- |
-note: the lint level is defined here
- --> $DIR/lint-non-snake-case-lifetimes.rs:1:9
- |
-LL | #![deny(non_snake_case)]
- | ^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-non-snake-case-modules.rs b/src/test/ui/lint/lint-non-snake-case-modules.rs
deleted file mode 100644
index 73f123321..000000000
--- a/src/test/ui/lint/lint-non-snake-case-modules.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-#![deny(non_snake_case)]
-#![allow(dead_code)]
-
-mod FooBar { //~ ERROR module `FooBar` should have a snake case name
- pub struct S;
-}
-
-fn f(_: FooBar::S) { }
-
-fn main() { }
diff --git a/src/test/ui/lint/lint-non-snake-case-modules.stderr b/src/test/ui/lint/lint-non-snake-case-modules.stderr
deleted file mode 100644
index c8b997c87..000000000
--- a/src/test/ui/lint/lint-non-snake-case-modules.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: module `FooBar` should have a snake case name
- --> $DIR/lint-non-snake-case-modules.rs:4:5
- |
-LL | mod FooBar {
- | ^^^^^^ help: convert the identifier to snake case: `foo_bar`
- |
-note: the lint level is defined here
- --> $DIR/lint-non-snake-case-modules.rs:1:9
- |
-LL | #![deny(non_snake_case)]
- | ^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-non-snake-case-no-lowercase-equivalent.rs b/src/test/ui/lint/lint-non-snake-case-no-lowercase-equivalent.rs
deleted file mode 100644
index 9f0c87dca..000000000
--- a/src/test/ui/lint/lint-non-snake-case-no-lowercase-equivalent.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// check-pass
-
-#![allow(dead_code)]
-// pretty-expanded FIXME #23616
-
-#![deny(non_snake_case)]
-
-// This name is neither upper nor lower case
-fn 你好() {}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-non-uppercase-associated-const.rs b/src/test/ui/lint/lint-non-uppercase-associated-const.rs
deleted file mode 100644
index 7b0d93960..000000000
--- a/src/test/ui/lint/lint-non-uppercase-associated-const.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-#![deny(non_upper_case_globals)]
-#![allow(dead_code)]
-
-struct Foo;
-
-impl Foo {
- const not_upper: bool = true;
-}
-//~^^ ERROR associated constant `not_upper` should have an upper case name
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-non-uppercase-associated-const.stderr b/src/test/ui/lint/lint-non-uppercase-associated-const.stderr
deleted file mode 100644
index 411ff51aa..000000000
--- a/src/test/ui/lint/lint-non-uppercase-associated-const.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: associated constant `not_upper` should have an upper case name
- --> $DIR/lint-non-uppercase-associated-const.rs:7:11
- |
-LL | const not_upper: bool = true;
- | ^^^^^^^^^ help: convert the identifier to upper case: `NOT_UPPER`
- |
-note: the lint level is defined here
- --> $DIR/lint-non-uppercase-associated-const.rs:1:9
- |
-LL | #![deny(non_upper_case_globals)]
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-non-uppercase-statics.rs b/src/test/ui/lint/lint-non-uppercase-statics.rs
deleted file mode 100644
index 5bd143032..000000000
--- a/src/test/ui/lint/lint-non-uppercase-statics.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-#![forbid(non_upper_case_globals)]
-#![allow(dead_code)]
-
-static foo: isize = 1; //~ ERROR static variable `foo` should have an upper case name
-
-static mut bar: isize = 1; //~ ERROR static variable `bar` should have an upper case name
-
-#[no_mangle]
-pub static extern_foo: isize = 1; // OK, because #[no_mangle] supersedes the warning
-
-fn main() { }
diff --git a/src/test/ui/lint/lint-non-uppercase-statics.stderr b/src/test/ui/lint/lint-non-uppercase-statics.stderr
deleted file mode 100644
index c6fd0a6e0..000000000
--- a/src/test/ui/lint/lint-non-uppercase-statics.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: static variable `foo` should have an upper case name
- --> $DIR/lint-non-uppercase-statics.rs:4:8
- |
-LL | static foo: isize = 1;
- | ^^^ help: convert the identifier to upper case (notice the capitalization): `FOO`
- |
-note: the lint level is defined here
- --> $DIR/lint-non-uppercase-statics.rs:1:11
- |
-LL | #![forbid(non_upper_case_globals)]
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: static variable `bar` should have an upper case name
- --> $DIR/lint-non-uppercase-statics.rs:6:12
- |
-LL | static mut bar: isize = 1;
- | ^^^ help: convert the identifier to upper case: `BAR`
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/lint-nonstandard-style-unicode-1.rs b/src/test/ui/lint/lint-nonstandard-style-unicode-1.rs
deleted file mode 100644
index 7c45c0993..000000000
--- a/src/test/ui/lint/lint-nonstandard-style-unicode-1.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-#![allow(dead_code)]
-
-#![forbid(non_camel_case_types)]
-
-// Some scripts (e.g., hiragana) don't have a concept of
-// upper/lowercase
-
-// 1. non_camel_case_types
-
-// Can start with non-lowercase letter
-struct Θχ;
-struct ヒa;
-
-struct χa;
-//~^ ERROR type `χa` should have an upper camel case name
-
-// If there's already leading or trailing underscores, they get trimmed before checking.
-// This is fine:
-struct _ヒb;
-
-// This is not:
-struct __χa;
-//~^ ERROR type `__χa` should have an upper camel case name
-
-// Besides this, we cannot have two continuous underscores in the middle.
-
-struct 对__否;
-//~^ ERROR type `对__否` should have an upper camel case name
-
-struct ヒ__χ;
-//~^ ERROR type `ヒ__χ` should have an upper camel case name
-
-// also cannot have lowercase letter next to an underscore.
-// so this triggers the lint:
-
-struct Hello_你好;
-//~^ ERROR type `Hello_你好` should have an upper camel case name
-
-struct Hello_World;
-//~^ ERROR type `Hello_World` should have an upper camel case name
-
-struct 你_ӟ;
-//~^ ERROR type `你_ӟ` should have an upper camel case name
-
-// and this is ok:
-
-struct 你_好;
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-nonstandard-style-unicode-1.stderr b/src/test/ui/lint/lint-nonstandard-style-unicode-1.stderr
deleted file mode 100644
index 6c2aa225e..000000000
--- a/src/test/ui/lint/lint-nonstandard-style-unicode-1.stderr
+++ /dev/null
@@ -1,50 +0,0 @@
-error: type `χa` should have an upper camel case name
- --> $DIR/lint-nonstandard-style-unicode-1.rs:14:8
- |
-LL | struct χa;
- | ^^ help: convert the identifier to upper camel case: `Χa`
- |
-note: the lint level is defined here
- --> $DIR/lint-nonstandard-style-unicode-1.rs:3:11
- |
-LL | #![forbid(non_camel_case_types)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: type `__χa` should have an upper camel case name
- --> $DIR/lint-nonstandard-style-unicode-1.rs:22:8
- |
-LL | struct __χa;
- | ^^^^ help: convert the identifier to upper camel case: `Χa`
-
-error: type `对__否` should have an upper camel case name
- --> $DIR/lint-nonstandard-style-unicode-1.rs:27:8
- |
-LL | struct 对__否;
- | ^^^^^^ help: convert the identifier to upper camel case: `对_否`
-
-error: type `ヒ__χ` should have an upper camel case name
- --> $DIR/lint-nonstandard-style-unicode-1.rs:30:8
- |
-LL | struct ヒ__χ;
- | ^^^^^ help: convert the identifier to upper camel case: `ヒΧ`
-
-error: type `Hello_你好` should have an upper camel case name
- --> $DIR/lint-nonstandard-style-unicode-1.rs:36:8
- |
-LL | struct Hello_你好;
- | ^^^^^^^^^^ help: convert the identifier to upper camel case: `Hello你好`
-
-error: type `Hello_World` should have an upper camel case name
- --> $DIR/lint-nonstandard-style-unicode-1.rs:39:8
- |
-LL | struct Hello_World;
- | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `HelloWorld`
-
-error: type `你_ӟ` should have an upper camel case name
- --> $DIR/lint-nonstandard-style-unicode-1.rs:42:8
- |
-LL | struct 你_ӟ;
- | ^^^^ help: convert the identifier to upper camel case: `你Ӟ`
-
-error: aborting due to 7 previous errors
-
diff --git a/src/test/ui/lint/lint-nonstandard-style-unicode-2.rs b/src/test/ui/lint/lint-nonstandard-style-unicode-2.rs
deleted file mode 100644
index 9690be590..000000000
--- a/src/test/ui/lint/lint-nonstandard-style-unicode-2.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-#![allow(dead_code)]
-
-#![forbid(non_snake_case)]
-
-// Some scripts (e.g., hiragana) don't have a concept of
-// upper/lowercase
-
-// 2. non_snake_case
-
-// Can only use non-uppercase letters.
-// So this works:
-
-fn 编程() {}
-
-// but this doesn't:
-
-fn Ц() {}
-//~^ ERROR function `Ц` should have a snake case name
-
-// besides this, you cannot use continuous underscores in the middle
-
-fn 分__隔() {}
-//~^ ERROR function `分__隔` should have a snake case name
-
-// but you can use them both at the beginning and at the end.
-
-fn _______不_连_续_的_存_在_______() {}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-nonstandard-style-unicode-2.stderr b/src/test/ui/lint/lint-nonstandard-style-unicode-2.stderr
deleted file mode 100644
index 8eb0654e0..000000000
--- a/src/test/ui/lint/lint-nonstandard-style-unicode-2.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: function `Ц` should have a snake case name
- --> $DIR/lint-nonstandard-style-unicode-2.rs:17:4
- |
-LL | fn Ц() {}
- | ^ help: convert the identifier to snake case: `ц`
- |
-note: the lint level is defined here
- --> $DIR/lint-nonstandard-style-unicode-2.rs:3:11
- |
-LL | #![forbid(non_snake_case)]
- | ^^^^^^^^^^^^^^
-
-error: function `分__隔` should have a snake case name
- --> $DIR/lint-nonstandard-style-unicode-2.rs:22:4
- |
-LL | fn 分__隔() {}
- | ^^^^^^ help: convert the identifier to snake case: `分_隔`
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/lint-nonstandard-style-unicode-3.rs b/src/test/ui/lint/lint-nonstandard-style-unicode-3.rs
deleted file mode 100644
index 9175be7a0..000000000
--- a/src/test/ui/lint/lint-nonstandard-style-unicode-3.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-#![allow(dead_code)]
-
-#![forbid(non_upper_case_globals)]
-
-// Some scripts (e.g., hiragana) don't have a concept of
-// upper/lowercase
-
-// 3. non_upper_case_globals
-
-// Can only use non-lowercase letters.
-// So this works:
-
-static ラ: usize = 0;
-
-// but this doesn't:
-
-static τεχ: f32 = 3.14159265;
-//~^ ERROR static variable `τεχ` should have an upper case name
-
-// This has no limit at all on underscore usages.
-
-static __密__封__线__内__禁__止__答__题__: bool = true;
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-nonstandard-style-unicode-3.stderr b/src/test/ui/lint/lint-nonstandard-style-unicode-3.stderr
deleted file mode 100644
index 970e6b838..000000000
--- a/src/test/ui/lint/lint-nonstandard-style-unicode-3.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: static variable `τεχ` should have an upper case name
- --> $DIR/lint-nonstandard-style-unicode-3.rs:17:8
- |
-LL | static τεχ: f32 = 3.14159265;
- | ^^^ help: convert the identifier to upper case: `ΤΕΧ`
- |
-note: the lint level is defined here
- --> $DIR/lint-nonstandard-style-unicode-3.rs:3:11
- |
-LL | #![forbid(non_upper_case_globals)]
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-output-format-2.rs b/src/test/ui/lint/lint-output-format-2.rs
deleted file mode 100644
index 985166e09..000000000
--- a/src/test/ui/lint/lint-output-format-2.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// aux-build:lint_output_format.rs
-
-#![feature(unstable_test_feature)]
-// check-pass
-
-extern crate lint_output_format;
-use lint_output_format::{foo, bar};
-//~^ WARNING use of deprecated function `lint_output_format::foo`: text
-
-
-fn main() {
- let _x = foo();
- //~^ WARNING use of deprecated function `lint_output_format::foo`: text
- let _y = bar();
-}
diff --git a/src/test/ui/lint/lint-output-format-2.stderr b/src/test/ui/lint/lint-output-format-2.stderr
deleted file mode 100644
index a36dbd61f..000000000
--- a/src/test/ui/lint/lint-output-format-2.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-warning: use of deprecated function `lint_output_format::foo`: text
- --> $DIR/lint-output-format-2.rs:7:26
- |
-LL | use lint_output_format::{foo, bar};
- | ^^^
- |
- = note: `#[warn(deprecated)]` on by default
-
-warning: use of deprecated function `lint_output_format::foo`: text
- --> $DIR/lint-output-format-2.rs:12:14
- |
-LL | let _x = foo();
- | ^^^
-
-warning: 2 warnings emitted
-
diff --git a/src/test/ui/lint/lint-output-format.rs b/src/test/ui/lint/lint-output-format.rs
deleted file mode 100644
index 67e8ec8f1..000000000
--- a/src/test/ui/lint/lint-output-format.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// compile-flags: -F unused_features
-// aux-build:lint_output_format.rs
-
-#![allow(deprecated)]
-
-extern crate lint_output_format; //~ ERROR use of unstable library feature
-use lint_output_format::{foo, bar}; //~ ERROR use of unstable library feature
-//~| ERROR use of unstable library feature
-
-fn main() {
- let _x = foo();
- let _y = bar(); //~ ERROR use of unstable library feature
-}
diff --git a/src/test/ui/lint/lint-output-format.stderr b/src/test/ui/lint/lint-output-format.stderr
deleted file mode 100644
index 0db79a156..000000000
--- a/src/test/ui/lint/lint-output-format.stderr
+++ /dev/null
@@ -1,35 +0,0 @@
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-output-format.rs:6:1
- |
-LL | extern crate lint_output_format;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-output-format.rs:7:26
- |
-LL | use lint_output_format::{foo, bar};
- | ^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-output-format.rs:7:31
- |
-LL | use lint_output_format::{foo, bar};
- | ^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-output-format.rs:12:14
- |
-LL | let _y = bar();
- | ^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error: aborting due to 4 previous errors
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/lint/lint-owned-heap-memory.rs b/src/test/ui/lint/lint-owned-heap-memory.rs
deleted file mode 100644
index af47d5c07..000000000
--- a/src/test/ui/lint/lint-owned-heap-memory.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-#![allow(dead_code)]
-#![forbid(box_pointers)]
-
-
-struct Foo {
- x: Box<isize> //~ ERROR type uses owned
-}
-
-fn main() {
- let _x: Foo = Foo { x : Box::new(10) };
- //~^ ERROR type uses owned
-}
diff --git a/src/test/ui/lint/lint-owned-heap-memory.stderr b/src/test/ui/lint/lint-owned-heap-memory.stderr
deleted file mode 100644
index 5ba396970..000000000
--- a/src/test/ui/lint/lint-owned-heap-memory.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: type uses owned (Box type) pointers: Box<isize>
- --> $DIR/lint-owned-heap-memory.rs:6:5
- |
-LL | x: Box<isize>
- | ^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-owned-heap-memory.rs:2:11
- |
-LL | #![forbid(box_pointers)]
- | ^^^^^^^^^^^^
-
-error: type uses owned (Box type) pointers: Box<isize>
- --> $DIR/lint-owned-heap-memory.rs:10:29
- |
-LL | let _x: Foo = Foo { x : Box::new(10) };
- | ^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/lint-pre-expansion-extern-module.rs b/src/test/ui/lint/lint-pre-expansion-extern-module.rs
deleted file mode 100644
index 30e2ed8b7..000000000
--- a/src/test/ui/lint/lint-pre-expansion-extern-module.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// check-pass
-// compile-flags: -W rust-2018-compatibility
-// error-pattern: `try` is a keyword in the 2018 edition
-
-fn main() {}
-
-mod lint_pre_expansion_extern_module_aux;
diff --git a/src/test/ui/lint/lint-pre-expansion-extern-module.stderr b/src/test/ui/lint/lint-pre-expansion-extern-module.stderr
deleted file mode 100644
index ce3e8806a..000000000
--- a/src/test/ui/lint/lint-pre-expansion-extern-module.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-warning: `try` is a keyword in the 2018 edition
- --> $DIR/lint_pre_expansion_extern_module_aux.rs:3:8
- |
-LL | pub fn try() {}
- | ^^^ help: you can use a raw identifier to stay compatible: `r#try`
- |
- = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
- = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
- = note: `-W keyword-idents` implied by `-W rust-2018-compatibility`
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/lint-pub-unreachable-for-nested-glob.rs b/src/test/ui/lint/lint-pub-unreachable-for-nested-glob.rs
deleted file mode 100644
index 2df6d08e7..000000000
--- a/src/test/ui/lint/lint-pub-unreachable-for-nested-glob.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// check-pass
-
-#![deny(unreachable_pub)]
-
-pub use self::m1::*;
-
-mod m1 {
- pub use self::m2::*;
-
- mod m2 {
- pub struct Item1;
- pub struct Item2;
- }
-}
-
-
-pub use self::o1::{ Item42, Item24 };
-
-mod o1 {
- pub use self::o2::{ Item42, Item24 };
-
- mod o2 {
- pub struct Item42;
- pub struct Item24;
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-qualification.rs b/src/test/ui/lint/lint-qualification.rs
deleted file mode 100644
index 0cace0ca0..000000000
--- a/src/test/ui/lint/lint-qualification.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-#![deny(unused_qualifications)]
-#![allow(deprecated)]
-
-mod foo {
- pub fn bar() {}
-}
-
-fn main() {
- use foo::bar;
- foo::bar(); //~ ERROR: unnecessary qualification
- bar();
-
- let _ = || -> Result<(), ()> { try!(Ok(())); Ok(()) }; // issue #37345
-
- macro_rules! m { () => {
- $crate::foo::bar(); // issue #37357
- ::foo::bar(); // issue #38682
- } }
- m!();
-}
diff --git a/src/test/ui/lint/lint-qualification.stderr b/src/test/ui/lint/lint-qualification.stderr
deleted file mode 100644
index 149a782d9..000000000
--- a/src/test/ui/lint/lint-qualification.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: unnecessary qualification
- --> $DIR/lint-qualification.rs:10:5
- |
-LL | foo::bar();
- | ^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-qualification.rs:1:9
- |
-LL | #![deny(unused_qualifications)]
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-range-endpoint-overflow.rs b/src/test/ui/lint/lint-range-endpoint-overflow.rs
deleted file mode 100644
index 7034d56aa..000000000
--- a/src/test/ui/lint/lint-range-endpoint-overflow.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![deny(overflowing_literals)]
-
-fn main() {
- let range_a = 0..256; //~ ERROR range endpoint is out of range for `u8`
- let range_b = 0..=255; // ok
- let range_c = 0..=256; //~ ERROR literal out of range for `u8`
- let range_d = 256..5; //~ ERROR literal out of range for `u8`
- let range_e = 0..257; //~ ERROR literal out of range for `u8`
- let _range_f = 0..256u8; //~ ERROR range endpoint is out of range for `u8`
- let _range_g = 0..128i8; //~ ERROR range endpoint is out of range for `i8`
-
- range_a.collect::<Vec<u8>>();
- range_b.collect::<Vec<u8>>();
- range_c.collect::<Vec<u8>>();
- range_d.collect::<Vec<u8>>();
- range_e.collect::<Vec<u8>>();
-}
diff --git a/src/test/ui/lint/lint-range-endpoint-overflow.stderr b/src/test/ui/lint/lint-range-endpoint-overflow.stderr
deleted file mode 100644
index d2df73727..000000000
--- a/src/test/ui/lint/lint-range-endpoint-overflow.stderr
+++ /dev/null
@@ -1,50 +0,0 @@
-error: range endpoint is out of range for `u8`
- --> $DIR/lint-range-endpoint-overflow.rs:4:19
- |
-LL | let range_a = 0..256;
- | ^^^^^^ help: use an inclusive range instead: `0..=255`
- |
-note: the lint level is defined here
- --> $DIR/lint-range-endpoint-overflow.rs:1:9
- |
-LL | #![deny(overflowing_literals)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: literal out of range for `u8`
- --> $DIR/lint-range-endpoint-overflow.rs:6:23
- |
-LL | let range_c = 0..=256;
- | ^^^
- |
- = note: the literal `256` does not fit into the type `u8` whose range is `0..=255`
-
-error: literal out of range for `u8`
- --> $DIR/lint-range-endpoint-overflow.rs:7:19
- |
-LL | let range_d = 256..5;
- | ^^^
- |
- = note: the literal `256` does not fit into the type `u8` whose range is `0..=255`
-
-error: literal out of range for `u8`
- --> $DIR/lint-range-endpoint-overflow.rs:8:22
- |
-LL | let range_e = 0..257;
- | ^^^
- |
- = note: the literal `257` does not fit into the type `u8` whose range is `0..=255`
-
-error: range endpoint is out of range for `u8`
- --> $DIR/lint-range-endpoint-overflow.rs:9:20
- |
-LL | let _range_f = 0..256u8;
- | ^^^^^^^^ help: use an inclusive range instead: `0..=255u8`
-
-error: range endpoint is out of range for `i8`
- --> $DIR/lint-range-endpoint-overflow.rs:10:20
- |
-LL | let _range_g = 0..128i8;
- | ^^^^^^^^ help: use an inclusive range instead: `0..=127i8`
-
-error: aborting due to 6 previous errors
-
diff --git a/src/test/ui/lint/lint-removed-allow.rs b/src/test/ui/lint/lint-removed-allow.rs
deleted file mode 100644
index 30ba4f02f..000000000
--- a/src/test/ui/lint/lint-removed-allow.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// No warnings about removed lint when
-// allow(renamed_and_removed_lints)
-
-#![allow(renamed_and_removed_lints)]
-
-#[deny(raw_pointer_derive)]
-#[deny(unused_variables)]
-fn main() { let unused = (); } //~ ERROR unused
diff --git a/src/test/ui/lint/lint-removed-allow.stderr b/src/test/ui/lint/lint-removed-allow.stderr
deleted file mode 100644
index 029334c2e..000000000
--- a/src/test/ui/lint/lint-removed-allow.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: unused variable: `unused`
- --> $DIR/lint-removed-allow.rs:8:17
- |
-LL | fn main() { let unused = (); }
- | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unused`
- |
-note: the lint level is defined here
- --> $DIR/lint-removed-allow.rs:7:8
- |
-LL | #[deny(unused_variables)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-removed-cmdline.rs b/src/test/ui/lint/lint-removed-cmdline.rs
deleted file mode 100644
index 462beabb9..000000000
--- a/src/test/ui/lint/lint-removed-cmdline.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// The raw_pointer_derived lint warns about its removal
-// cc #30346
-
-// compile-flags:-D raw_pointer_derive
-
-// error-pattern:lint `raw_pointer_derive` has been removed
-// error-pattern:requested on the command line with `-D raw_pointer_derive`
-
-#![warn(unused)]
-
-#[deny(warnings)]
-fn main() { let unused = (); }
diff --git a/src/test/ui/lint/lint-removed-cmdline.stderr b/src/test/ui/lint/lint-removed-cmdline.stderr
deleted file mode 100644
index 9be532ef2..000000000
--- a/src/test/ui/lint/lint-removed-cmdline.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-warning: lint `raw_pointer_derive` has been removed: using derive with raw pointers is ok
- |
- = note: requested on the command line with `-D raw_pointer_derive`
-
-warning: lint `raw_pointer_derive` has been removed: using derive with raw pointers is ok
- |
- = note: requested on the command line with `-D raw_pointer_derive`
-
-warning: lint `raw_pointer_derive` has been removed: using derive with raw pointers is ok
- |
- = note: requested on the command line with `-D raw_pointer_derive`
-
-error: unused variable: `unused`
- --> $DIR/lint-removed-cmdline.rs:12:17
- |
-LL | fn main() { let unused = (); }
- | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unused`
- |
-note: the lint level is defined here
- --> $DIR/lint-removed-cmdline.rs:11:8
- |
-LL | #[deny(warnings)]
- | ^^^^^^^^
- = note: `#[deny(unused_variables)]` implied by `#[deny(warnings)]`
-
-error: aborting due to previous error; 3 warnings emitted
-
diff --git a/src/test/ui/lint/lint-removed.rs b/src/test/ui/lint/lint-removed.rs
deleted file mode 100644
index 92f4372c2..000000000
--- a/src/test/ui/lint/lint-removed.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// The raw_pointer_derived lint was removed, but is now reported by
-// the renamed_and_removed_lints lint, which means it's a warning by
-// default, and allowed in cargo dependency builds.
-// cc #30346
-
-#[deny(raw_pointer_derive)] //~ WARN `raw_pointer_derive` has been removed
-#[deny(unused_variables)]
-fn main() { let unused = (); } //~ ERROR unused
diff --git a/src/test/ui/lint/lint-removed.stderr b/src/test/ui/lint/lint-removed.stderr
deleted file mode 100644
index dc0515b84..000000000
--- a/src/test/ui/lint/lint-removed.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-warning: lint `raw_pointer_derive` has been removed: using derive with raw pointers is ok
- --> $DIR/lint-removed.rs:6:8
- |
-LL | #[deny(raw_pointer_derive)]
- | ^^^^^^^^^^^^^^^^^^
- |
- = note: `#[warn(renamed_and_removed_lints)]` on by default
-
-error: unused variable: `unused`
- --> $DIR/lint-removed.rs:8:17
- |
-LL | fn main() { let unused = (); }
- | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unused`
- |
-note: the lint level is defined here
- --> $DIR/lint-removed.rs:7:8
- |
-LL | #[deny(unused_variables)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error; 1 warning emitted
-
diff --git a/src/test/ui/lint/lint-renamed-allow.rs b/src/test/ui/lint/lint-renamed-allow.rs
deleted file mode 100644
index 9cf6f329c..000000000
--- a/src/test/ui/lint/lint-renamed-allow.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// No warnings about renamed lint when
-// allow(renamed_and_removed_lints)
-
-#![allow(renamed_and_removed_lints)]
-
-#[deny(single_use_lifetime)]
-#[deny(unused)]
-fn main() { let unused = (); } //~ ERROR unused
diff --git a/src/test/ui/lint/lint-renamed-allow.stderr b/src/test/ui/lint/lint-renamed-allow.stderr
deleted file mode 100644
index 46f6a10de..000000000
--- a/src/test/ui/lint/lint-renamed-allow.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: unused variable: `unused`
- --> $DIR/lint-renamed-allow.rs:8:17
- |
-LL | fn main() { let unused = (); }
- | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unused`
- |
-note: the lint level is defined here
- --> $DIR/lint-renamed-allow.rs:7:8
- |
-LL | #[deny(unused)]
- | ^^^^^^
- = note: `#[deny(unused_variables)]` implied by `#[deny(unused)]`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-renamed-cmdline.rs b/src/test/ui/lint/lint-renamed-cmdline.rs
deleted file mode 100644
index c873771e3..000000000
--- a/src/test/ui/lint/lint-renamed-cmdline.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// compile-flags:-D bare_trait_object
-
-// error-pattern:lint `bare_trait_object` has been renamed to `bare_trait_objects`
-// error-pattern:requested on the command line with `-D bare_trait_object`
-// error-pattern:unused
-
-#[deny(unused)]
-fn main() { let unused = (); }
diff --git a/src/test/ui/lint/lint-renamed-cmdline.stderr b/src/test/ui/lint/lint-renamed-cmdline.stderr
deleted file mode 100644
index 8dfd61ac9..000000000
--- a/src/test/ui/lint/lint-renamed-cmdline.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-warning: lint `bare_trait_object` has been renamed to `bare_trait_objects`
- |
- = note: requested on the command line with `-D bare_trait_object`
-
-warning: lint `bare_trait_object` has been renamed to `bare_trait_objects`
- |
- = note: requested on the command line with `-D bare_trait_object`
-
-warning: lint `bare_trait_object` has been renamed to `bare_trait_objects`
- |
- = note: requested on the command line with `-D bare_trait_object`
-
-error: unused variable: `unused`
- --> $DIR/lint-renamed-cmdline.rs:8:17
- |
-LL | fn main() { let unused = (); }
- | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unused`
- |
-note: the lint level is defined here
- --> $DIR/lint-renamed-cmdline.rs:7:8
- |
-LL | #[deny(unused)]
- | ^^^^^^
- = note: `#[deny(unused_variables)]` implied by `#[deny(unused)]`
-
-error: aborting due to previous error; 3 warnings emitted
-
diff --git a/src/test/ui/lint/lint-renamed.rs b/src/test/ui/lint/lint-renamed.rs
deleted file mode 100644
index ca3299430..000000000
--- a/src/test/ui/lint/lint-renamed.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-#[deny(bare_trait_object)]
-//~^ WARN lint `bare_trait_object` has been renamed to `bare_trait_objects`
-#[deny(unused)]
-fn main() { let unused = (); } //~ ERROR unused
diff --git a/src/test/ui/lint/lint-renamed.stderr b/src/test/ui/lint/lint-renamed.stderr
deleted file mode 100644
index 984254571..000000000
--- a/src/test/ui/lint/lint-renamed.stderr
+++ /dev/null
@@ -1,23 +0,0 @@
-warning: lint `bare_trait_object` has been renamed to `bare_trait_objects`
- --> $DIR/lint-renamed.rs:1:8
- |
-LL | #[deny(bare_trait_object)]
- | ^^^^^^^^^^^^^^^^^ help: use the new name: `bare_trait_objects`
- |
- = note: `#[warn(renamed_and_removed_lints)]` on by default
-
-error: unused variable: `unused`
- --> $DIR/lint-renamed.rs:4:17
- |
-LL | fn main() { let unused = (); }
- | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unused`
- |
-note: the lint level is defined here
- --> $DIR/lint-renamed.rs:3:8
- |
-LL | #[deny(unused)]
- | ^^^^^^
- = note: `#[deny(unused_variables)]` implied by `#[deny(unused)]`
-
-error: aborting due to previous error; 1 warning emitted
-
diff --git a/src/test/ui/lint/lint-shorthand-field.fixed b/src/test/ui/lint/lint-shorthand-field.fixed
deleted file mode 100644
index 7cd5717bc..000000000
--- a/src/test/ui/lint/lint-shorthand-field.fixed
+++ /dev/null
@@ -1,70 +0,0 @@
-// run-rustfix
-
-#![allow(nonstandard_style, unused_variables, unused_mut)]
-#![deny(non_shorthand_field_patterns)]
-
-struct Foo {
- x: isize,
- y: isize,
-}
-
-fn main() {
- {
- let Foo {
- x, //~ ERROR the `x:` in this pattern is redundant
- ref y, //~ ERROR the `y:` in this pattern is redundant
- } = Foo { x: 0, y: 0 };
-
- let Foo {
- x,
- ref y,
- } = Foo { x: 0, y: 0 };
- }
-
- {
- const x: isize = 1;
-
- match (Foo { x: 1, y: 1 }) {
- Foo { x: x, ..} => {},
- _ => {},
- }
- }
-
- {
- struct Bar {
- x: x,
- }
-
- struct x;
-
- match (Bar { x: x }) {
- Bar { x: x } => {},
- }
- }
-
- {
- struct Bar {
- x: Foo,
- }
-
- enum Foo { x }
-
- match (Bar { x: Foo::x }) {
- Bar { x: Foo::x } => {},
- }
- }
-
- {
- struct Baz {
- x: isize,
- y: isize,
- z: isize,
- }
-
- let Baz {
- mut x, //~ ERROR the `x:` in this pattern is redundant
- ref y, //~ ERROR the `y:` in this pattern is redundant
- ref mut z, //~ ERROR the `z:` in this pattern is redundant
- } = Baz { x: 0, y: 0, z: 0 };
- }
-}
diff --git a/src/test/ui/lint/lint-shorthand-field.rs b/src/test/ui/lint/lint-shorthand-field.rs
deleted file mode 100644
index 22de9c325..000000000
--- a/src/test/ui/lint/lint-shorthand-field.rs
+++ /dev/null
@@ -1,70 +0,0 @@
-// run-rustfix
-
-#![allow(nonstandard_style, unused_variables, unused_mut)]
-#![deny(non_shorthand_field_patterns)]
-
-struct Foo {
- x: isize,
- y: isize,
-}
-
-fn main() {
- {
- let Foo {
- x: x, //~ ERROR the `x:` in this pattern is redundant
- y: ref y, //~ ERROR the `y:` in this pattern is redundant
- } = Foo { x: 0, y: 0 };
-
- let Foo {
- x,
- ref y,
- } = Foo { x: 0, y: 0 };
- }
-
- {
- const x: isize = 1;
-
- match (Foo { x: 1, y: 1 }) {
- Foo { x: x, ..} => {},
- _ => {},
- }
- }
-
- {
- struct Bar {
- x: x,
- }
-
- struct x;
-
- match (Bar { x: x }) {
- Bar { x: x } => {},
- }
- }
-
- {
- struct Bar {
- x: Foo,
- }
-
- enum Foo { x }
-
- match (Bar { x: Foo::x }) {
- Bar { x: Foo::x } => {},
- }
- }
-
- {
- struct Baz {
- x: isize,
- y: isize,
- z: isize,
- }
-
- let Baz {
- x: mut x, //~ ERROR the `x:` in this pattern is redundant
- y: ref y, //~ ERROR the `y:` in this pattern is redundant
- z: ref mut z, //~ ERROR the `z:` in this pattern is redundant
- } = Baz { x: 0, y: 0, z: 0 };
- }
-}
diff --git a/src/test/ui/lint/lint-shorthand-field.stderr b/src/test/ui/lint/lint-shorthand-field.stderr
deleted file mode 100644
index 2d1ca30f9..000000000
--- a/src/test/ui/lint/lint-shorthand-field.stderr
+++ /dev/null
@@ -1,38 +0,0 @@
-error: the `x:` in this pattern is redundant
- --> $DIR/lint-shorthand-field.rs:14:13
- |
-LL | x: x,
- | ^^^^ help: use shorthand field pattern: `x`
- |
-note: the lint level is defined here
- --> $DIR/lint-shorthand-field.rs:4:9
- |
-LL | #![deny(non_shorthand_field_patterns)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the `y:` in this pattern is redundant
- --> $DIR/lint-shorthand-field.rs:15:13
- |
-LL | y: ref y,
- | ^^^^^^^^ help: use shorthand field pattern: `ref y`
-
-error: the `x:` in this pattern is redundant
- --> $DIR/lint-shorthand-field.rs:65:13
- |
-LL | x: mut x,
- | ^^^^^^^^ help: use shorthand field pattern: `mut x`
-
-error: the `y:` in this pattern is redundant
- --> $DIR/lint-shorthand-field.rs:66:13
- |
-LL | y: ref y,
- | ^^^^^^^^ help: use shorthand field pattern: `ref y`
-
-error: the `z:` in this pattern is redundant
- --> $DIR/lint-shorthand-field.rs:67:13
- |
-LL | z: ref mut z,
- | ^^^^^^^^^^^^ help: use shorthand field pattern: `ref mut z`
-
-error: aborting due to 5 previous errors
-
diff --git a/src/test/ui/lint/lint-stability-2.rs b/src/test/ui/lint/lint-stability-2.rs
deleted file mode 100644
index 94a8d08c8..000000000
--- a/src/test/ui/lint/lint-stability-2.rs
+++ /dev/null
@@ -1,413 +0,0 @@
-// aux-build:lint_stability.rs
-// aux-build:stability_cfg1.rs
-
-#![allow(deprecated)]
-#![allow(dead_code)]
-#![feature(staged_api)]
-
-#![stable(feature = "rust1", since = "1.0.0")]
-
-#[macro_use]
-extern crate lint_stability;
-
-mod cross_crate {
- extern crate stability_cfg1;
-
- use lint_stability::*;
-
- fn test() {
- type Foo = MethodTester;
- let foo = MethodTester;
-
- deprecated();
- foo.method_deprecated();
- Foo::method_deprecated(&foo);
- <Foo>::method_deprecated(&foo);
- foo.trait_deprecated();
- Trait::trait_deprecated(&foo);
- <Foo>::trait_deprecated(&foo);
- <Foo as Trait>::trait_deprecated(&foo);
-
- deprecated_text();
- foo.method_deprecated_text();
- Foo::method_deprecated_text(&foo);
- <Foo>::method_deprecated_text(&foo);
- foo.trait_deprecated_text();
- Trait::trait_deprecated_text(&foo);
- <Foo>::trait_deprecated_text(&foo);
- <Foo as Trait>::trait_deprecated_text(&foo);
-
- foo.method_deprecated_unstable();
- //~^ ERROR use of unstable library feature
- Foo::method_deprecated_unstable(&foo);
- //~^ ERROR use of unstable library feature
- <Foo>::method_deprecated_unstable(&foo);
- //~^ ERROR use of unstable library feature
- foo.trait_deprecated_unstable();
- //~^ ERROR use of unstable library feature
- <Foo>::trait_deprecated_unstable(&foo);
- //~^ ERROR use of unstable library feature
-
- foo.method_deprecated_unstable_text();
- //~^ ERROR use of unstable library feature
- Foo::method_deprecated_unstable_text(&foo);
- //~^ ERROR use of unstable library feature
- <Foo>::method_deprecated_unstable_text(&foo);
- //~^ ERROR use of unstable library feature
- foo.trait_deprecated_unstable_text();
- //~^ ERROR use of unstable library feature
- <Foo>::trait_deprecated_unstable_text(&foo);
- //~^ ERROR use of unstable library feature
-
- foo.method_unstable(); //~ ERROR use of unstable library feature
- Foo::method_unstable(&foo); //~ ERROR use of unstable library feature
- <Foo>::method_unstable(&foo); //~ ERROR use of unstable library feature
- foo.trait_unstable(); //~ ERROR use of unstable library feature
- <Foo>::trait_unstable(&foo); //~ ERROR use of unstable library feature
-
- foo.method_unstable_text();
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- Foo::method_unstable_text(&foo);
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- <Foo>::method_unstable_text(&foo);
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- foo.trait_unstable_text();
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- <Foo>::trait_unstable_text(&foo);
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
-
- stable();
- foo.method_stable();
- Foo::method_stable(&foo);
- <Foo>::method_stable(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
-
- stable_text();
- foo.method_stable_text();
- Foo::method_stable_text(&foo);
- <Foo>::method_stable_text(&foo);
- foo.trait_stable_text();
- Trait::trait_stable_text(&foo);
- <Foo>::trait_stable_text(&foo);
- <Foo as Trait>::trait_stable_text(&foo);
-
- struct S2<T: TraitWithAssociatedTypes>(T::TypeDeprecated);
-
- let _ = DeprecatedStruct {
- i: 0
- };
- let _ = StableStruct { i: 0 };
-
- let _ = DeprecatedUnitStruct;
- let _ = StableUnitStruct;
-
- let _ = Enum::DeprecatedVariant;
- let _ = Enum::StableVariant;
-
- let _ = DeprecatedTupleStruct (1);
- let _ = StableTupleStruct (1);
-
- // At the moment, the lint checker only checks stability in
- // in the arguments of macros.
- // Eventually, we will want to lint the contents of the
- // macro in the module *defining* it. Also, stability levels
- // on macros themselves are not yet linted.
- macro_test_arg!(deprecated_text());
- macro_test_arg!(macro_test_arg!(deprecated_text()));
- }
-
- fn test_method_param<Foo: Trait>(foo: Foo) {
- foo.trait_deprecated();
- Trait::trait_deprecated(&foo);
- <Foo>::trait_deprecated(&foo);
- <Foo as Trait>::trait_deprecated(&foo);
- foo.trait_deprecated_text();
- Trait::trait_deprecated_text(&foo);
- <Foo>::trait_deprecated_text(&foo);
- <Foo as Trait>::trait_deprecated_text(&foo);
- foo.trait_deprecated_unstable();
- //~^ ERROR use of unstable library feature
- <Foo>::trait_deprecated_unstable(&foo);
- //~^ ERROR use of unstable library feature
- foo.trait_deprecated_unstable_text();
- //~^ ERROR use of unstable library feature
- <Foo>::trait_deprecated_unstable_text(&foo);
- //~^ ERROR use of unstable library feature
- foo.trait_unstable(); //~ ERROR use of unstable library feature
- <Foo>::trait_unstable(&foo); //~ ERROR use of unstable library feature
- foo.trait_unstable_text();
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- <Foo>::trait_unstable_text(&foo);
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
- }
-
- fn test_method_object(foo: &dyn Trait) {
- foo.trait_deprecated();
- foo.trait_deprecated_text();
- foo.trait_deprecated_unstable();
- //~^ ERROR use of unstable library feature
- foo.trait_deprecated_unstable_text();
- //~^ ERROR use of unstable library feature
- foo.trait_unstable(); //~ ERROR use of unstable library feature
- foo.trait_unstable_text();
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- foo.trait_stable();
- }
-
- struct S;
-
- impl DeprecatedTrait for S {}
- trait LocalTrait2 : DeprecatedTrait { }
-}
-
-mod this_crate {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn deprecated() {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn deprecated_text() {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub fn unstable() {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- pub fn unstable_text() {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn stable() {}
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn stable_text() {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct MethodTester;
-
- impl MethodTester {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated(&self) {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub fn method_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- pub fn method_unstable_text(&self) {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn method_stable(&self) {}
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn method_stable_text(&self) {}
- }
-
- pub trait Trait {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated(&self) {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- fn trait_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- fn trait_unstable_text(&self) {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- fn trait_stable(&self) {}
- #[stable(feature = "rust1", since = "1.0.0")]
- fn trait_stable_text(&self) {}
- }
-
- impl Trait for MethodTester {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub struct DeprecatedStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
- }
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub struct UnstableStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
- }
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct StableStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub struct DeprecatedUnitStruct;
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub struct UnstableUnitStruct;
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct StableUnitStruct;
-
- pub enum Enum {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- DeprecatedVariant,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- UnstableVariant,
-
- #[stable(feature = "rust1", since = "1.0.0")]
- StableVariant,
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub struct DeprecatedTupleStruct(isize);
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub struct UnstableTupleStruct(isize);
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct StableTupleStruct(isize);
-
- fn test() {
- // Only the deprecated cases of the following should generate
- // errors, because other stability attributes now have meaning
- // only *across* crates, not within a single crate.
-
- type Foo = MethodTester;
- let foo = MethodTester;
-
- deprecated();
- foo.method_deprecated();
- Foo::method_deprecated(&foo);
- <Foo>::method_deprecated(&foo);
- foo.trait_deprecated();
- Trait::trait_deprecated(&foo);
- <Foo>::trait_deprecated(&foo);
- <Foo as Trait>::trait_deprecated(&foo);
-
- deprecated_text();
- foo.method_deprecated_text();
- Foo::method_deprecated_text(&foo);
- <Foo>::method_deprecated_text(&foo);
- foo.trait_deprecated_text();
- Trait::trait_deprecated_text(&foo);
- <Foo>::trait_deprecated_text(&foo);
- <Foo as Trait>::trait_deprecated_text(&foo);
-
- unstable();
- foo.method_unstable();
- Foo::method_unstable(&foo);
- <Foo>::method_unstable(&foo);
- foo.trait_unstable();
- Trait::trait_unstable(&foo);
- <Foo>::trait_unstable(&foo);
- <Foo as Trait>::trait_unstable(&foo);
-
- unstable_text();
- foo.method_unstable_text();
- Foo::method_unstable_text(&foo);
- <Foo>::method_unstable_text(&foo);
- foo.trait_unstable_text();
- Trait::trait_unstable_text(&foo);
- <Foo>::trait_unstable_text(&foo);
- <Foo as Trait>::trait_unstable_text(&foo);
-
- stable();
- foo.method_stable();
- Foo::method_stable(&foo);
- <Foo>::method_stable(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
-
- stable_text();
- foo.method_stable_text();
- Foo::method_stable_text(&foo);
- <Foo>::method_stable_text(&foo);
- foo.trait_stable_text();
- Trait::trait_stable_text(&foo);
- <Foo>::trait_stable_text(&foo);
- <Foo as Trait>::trait_stable_text(&foo);
-
- let _ = DeprecatedStruct {
- i: 0
- };
- let _ = UnstableStruct { i: 0 };
- let _ = StableStruct { i: 0 };
-
- let _ = DeprecatedUnitStruct;
- let _ = UnstableUnitStruct;
- let _ = StableUnitStruct;
-
- let _ = Enum::DeprecatedVariant;
- let _ = Enum::UnstableVariant;
- let _ = Enum::StableVariant;
-
- let _ = DeprecatedTupleStruct (1);
- let _ = UnstableTupleStruct (1);
- let _ = StableTupleStruct (1);
- }
-
- fn test_method_param<Foo: Trait>(foo: Foo) {
- foo.trait_deprecated();
- Trait::trait_deprecated(&foo);
- <Foo>::trait_deprecated(&foo);
- <Foo as Trait>::trait_deprecated(&foo);
- foo.trait_deprecated_text();
- Trait::trait_deprecated_text(&foo);
- <Foo>::trait_deprecated_text(&foo);
- <Foo as Trait>::trait_deprecated_text(&foo);
- foo.trait_unstable();
- Trait::trait_unstable(&foo);
- <Foo>::trait_unstable(&foo);
- <Foo as Trait>::trait_unstable(&foo);
- foo.trait_unstable_text();
- Trait::trait_unstable_text(&foo);
- <Foo>::trait_unstable_text(&foo);
- <Foo as Trait>::trait_unstable_text(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
- }
-
- fn test_method_object(foo: &dyn Trait) {
- foo.trait_deprecated();
- foo.trait_deprecated_text();
- foo.trait_unstable();
- foo.trait_unstable_text();
- foo.trait_stable();
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn test_fn_body() {
- fn fn_in_body() {}
- fn_in_body();
- }
-
- impl MethodTester {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn test_method_body(&self) {
- fn fn_in_body() {}
- fn_in_body();
- }
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub trait DeprecatedTrait {
- fn dummy(&self) { }
- }
-
- struct S;
-
- impl DeprecatedTrait for S { }
-
- trait LocalTrait : DeprecatedTrait { }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-stability-2.stderr b/src/test/ui/lint/lint-stability-2.stderr
deleted file mode 100644
index 5b7537fa2..000000000
--- a/src/test/ui/lint/lint-stability-2.stderr
+++ /dev/null
@@ -1,259 +0,0 @@
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:40:13
- |
-LL | foo.method_deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:42:9
- |
-LL | Foo::method_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:44:9
- |
-LL | <Foo>::method_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:46:13
- |
-LL | foo.trait_deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:48:9
- |
-LL | <Foo>::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:51:13
- |
-LL | foo.method_deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:53:9
- |
-LL | Foo::method_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:55:9
- |
-LL | <Foo>::method_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:57:13
- |
-LL | foo.trait_deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:59:9
- |
-LL | <Foo>::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:62:13
- |
-LL | foo.method_unstable();
- | ^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:63:9
- |
-LL | Foo::method_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:64:9
- |
-LL | <Foo>::method_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:65:13
- |
-LL | foo.trait_unstable();
- | ^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:66:9
- |
-LL | <Foo>::trait_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability-2.rs:68:13
- |
-LL | foo.method_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability-2.rs:70:9
- |
-LL | Foo::method_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability-2.rs:72:9
- |
-LL | <Foo>::method_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability-2.rs:74:13
- |
-LL | foo.trait_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability-2.rs:76:9
- |
-LL | <Foo>::trait_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:131:13
- |
-LL | foo.trait_deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:133:9
- |
-LL | <Foo>::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:135:13
- |
-LL | foo.trait_deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:137:9
- |
-LL | <Foo>::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:139:13
- |
-LL | foo.trait_unstable();
- | ^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:140:9
- |
-LL | <Foo>::trait_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability-2.rs:141:13
- |
-LL | foo.trait_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability-2.rs:143:9
- |
-LL | <Foo>::trait_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:154:13
- |
-LL | foo.trait_deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:156:13
- |
-LL | foo.trait_deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-2.rs:158:13
- |
-LL | foo.trait_unstable();
- | ^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability-2.rs:159:13
- |
-LL | foo.trait_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error: aborting due to 32 previous errors
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/lint/lint-stability-deprecated.rs b/src/test/ui/lint/lint-stability-deprecated.rs
deleted file mode 100644
index 74c35083e..000000000
--- a/src/test/ui/lint/lint-stability-deprecated.rs
+++ /dev/null
@@ -1,464 +0,0 @@
-// check-pass
-// aux-build:lint_stability.rs
-// aux-build:inherited_stability.rs
-// aux-build:stability_cfg1.rs
-// aux-build:stability-cfg2.rs
-#![warn(deprecated)]
-#![feature(staged_api, unstable_test_feature)]
-
-#![stable(feature = "rust1", since = "1.0.0")]
-
-#[macro_use]
-extern crate lint_stability;
-
-mod cross_crate {
- extern crate stability_cfg1;
- extern crate stability_cfg2;
-
- use lint_stability::*;
-
- fn test() {
- type Foo = MethodTester;
- let foo = MethodTester;
-
- deprecated(); //~ WARN use of deprecated function `lint_stability::deprecated`
- foo.method_deprecated(); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated`
- Foo::method_deprecated(&foo); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated`
- <Foo>::method_deprecated(&foo); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated`
- foo.trait_deprecated(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated`
- Trait::trait_deprecated(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated`
- <Foo>::trait_deprecated(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated`
- <Foo as Trait>::trait_deprecated(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated`
-
- deprecated_text(); //~ WARN use of deprecated function `lint_stability::deprecated_text`: text
- foo.method_deprecated_text(); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated_text`: text
- Foo::method_deprecated_text(&foo); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated_text`: text
- <Foo>::method_deprecated_text(&foo); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated_text`: text
- foo.trait_deprecated_text(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- Trait::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- <Foo>::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- <Foo as Trait>::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
-
- deprecated_unstable(); //~ WARN use of deprecated function `lint_stability::deprecated_unstable`
- foo.method_deprecated_unstable(); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable`
- Foo::method_deprecated_unstable(&foo); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable`
- <Foo>::method_deprecated_unstable(&foo); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable`
- foo.trait_deprecated_unstable(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`
- Trait::trait_deprecated_unstable(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`
- <Foo>::trait_deprecated_unstable(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`
- <Foo as Trait>::trait_deprecated_unstable(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`
-
- deprecated_unstable_text(); //~ WARN use of deprecated function `lint_stability::deprecated_unstable_text`: text
- foo.method_deprecated_unstable_text(); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable_text`: text
- Foo::method_deprecated_unstable_text(&foo); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable_text`: text
- <Foo>::method_deprecated_unstable_text(&foo); //~ WARN use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable_text`: text
- foo.trait_deprecated_unstable_text(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- Trait::trait_deprecated_unstable_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- <Foo>::trait_deprecated_unstable_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- <Foo as Trait>::trait_deprecated_unstable_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
-
- unstable();
- foo.method_unstable();
- Foo::method_unstable(&foo);
- <Foo>::method_unstable(&foo);
- foo.trait_unstable();
- Trait::trait_unstable(&foo);
- <Foo>::trait_unstable(&foo);
- <Foo as Trait>::trait_unstable(&foo);
-
- unstable_text();
- foo.method_unstable_text();
- Foo::method_unstable_text(&foo);
- <Foo>::method_unstable_text(&foo);
- foo.trait_unstable_text();
- Trait::trait_unstable_text(&foo);
- <Foo>::trait_unstable_text(&foo);
- <Foo as Trait>::trait_unstable_text(&foo);
-
- stable();
- foo.method_stable();
- Foo::method_stable(&foo);
- <Foo>::method_stable(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
-
- stable_text();
- foo.method_stable_text();
- Foo::method_stable_text(&foo);
- <Foo>::method_stable_text(&foo);
- foo.trait_stable_text();
- Trait::trait_stable_text(&foo);
- <Foo>::trait_stable_text(&foo);
- <Foo as Trait>::trait_stable_text(&foo);
-
- struct S1<T: TraitWithAssociatedTypes>(T::TypeUnstable);
- struct S2<T: TraitWithAssociatedTypes>(T::TypeDeprecated);
- //~^ WARN use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`: text
- //~| WARN use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`: text
- type A = dyn TraitWithAssociatedTypes<
- TypeUnstable = u8,
- TypeDeprecated = u16,
- //~^ WARN use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`
- //~| WARN use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`
- //~| WARN use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`
- >;
-
- let _ = DeprecatedStruct { //~ WARN use of deprecated struct `lint_stability::DeprecatedStruct`
- i: 0 //~ WARN use of deprecated field `lint_stability::DeprecatedStruct::i`
- };
- let _ = DeprecatedUnstableStruct {
- //~^ WARN use of deprecated struct `lint_stability::DeprecatedUnstableStruct`
- i: 0 //~ WARN use of deprecated field `lint_stability::DeprecatedUnstableStruct::i`
- };
- let _ = UnstableStruct { i: 0 };
- let _ = StableStruct { i: 0 };
-
- let _ = DeprecatedUnitStruct; //~ WARN use of deprecated unit struct `lint_stability::DeprecatedUnitStruct`
- let _ = DeprecatedUnstableUnitStruct; //~ WARN use of deprecated unit struct `lint_stability::DeprecatedUnstableUnitStruct`
- let _ = UnstableUnitStruct;
- let _ = StableUnitStruct;
-
- let _ = Enum::DeprecatedVariant; //~ WARN use of deprecated unit variant `lint_stability::Enum::DeprecatedVariant`
- let _ = Enum::DeprecatedUnstableVariant; //~ WARN use of deprecated unit variant `lint_stability::Enum::DeprecatedUnstableVariant`
- let _ = Enum::UnstableVariant;
- let _ = Enum::StableVariant;
-
- let _ = DeprecatedTupleStruct (1); //~ WARN use of deprecated tuple struct `lint_stability::DeprecatedTupleStruct`
- let _ = DeprecatedUnstableTupleStruct (1); //~ WARN use of deprecated tuple struct `lint_stability::DeprecatedUnstableTupleStruct`
- let _ = UnstableTupleStruct (1);
- let _ = StableTupleStruct (1);
-
- // At the moment, the lint checker only checks stability
- // in the arguments of macros.
- // Eventually, we will want to lint the contents of the
- // macro in the module *defining* it. Also, stability levels
- // on macros themselves are not yet linted.
- macro_test_arg!(deprecated_text()); //~ WARN use of deprecated function `lint_stability::deprecated_text`: text
- macro_test_arg!(deprecated_unstable_text()); //~ WARN use of deprecated function `lint_stability::deprecated_unstable_text`: text
- macro_test_arg!(macro_test_arg!(deprecated_text())); //~ WARN use of deprecated function `lint_stability::deprecated_text`: text
- }
-
- fn test_method_param<Foo: Trait>(foo: Foo) {
- foo.trait_deprecated(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated`
- Trait::trait_deprecated(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated`
- <Foo>::trait_deprecated(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated`
- <Foo as Trait>::trait_deprecated(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated`
- foo.trait_deprecated_text(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- Trait::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- <Foo>::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- <Foo as Trait>::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- foo.trait_deprecated_unstable(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`
- Trait::trait_deprecated_unstable(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`
- <Foo>::trait_deprecated_unstable(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`
- <Foo as Trait>::trait_deprecated_unstable(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`
- foo.trait_deprecated_unstable_text(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- Trait::trait_deprecated_unstable_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- <Foo>::trait_deprecated_unstable_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- <Foo as Trait>::trait_deprecated_unstable_text(&foo); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- foo.trait_unstable();
- Trait::trait_unstable(&foo);
- <Foo>::trait_unstable(&foo);
- <Foo as Trait>::trait_unstable(&foo);
- foo.trait_unstable_text();
- Trait::trait_unstable_text(&foo);
- <Foo>::trait_unstable_text(&foo);
- <Foo as Trait>::trait_unstable_text(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
- }
-
- fn test_method_object(foo: &dyn Trait) {
- foo.trait_deprecated(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated`
- foo.trait_deprecated_text(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- foo.trait_deprecated_unstable(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`
- foo.trait_deprecated_unstable_text(); //~ WARN use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- foo.trait_unstable();
- foo.trait_unstable_text();
- foo.trait_stable();
- }
-
- struct S;
-
- impl UnstableTrait for S { }
- impl DeprecatedTrait for S {} //~ WARN use of deprecated trait `lint_stability::DeprecatedTrait`: text
- trait LocalTrait : UnstableTrait { }
- trait LocalTrait2 : DeprecatedTrait { } //~ WARN use of deprecated trait `lint_stability::DeprecatedTrait`: text
-
- impl Trait for S {
- fn trait_stable(&self) {}
- fn trait_unstable(&self) {}
- }
-}
-
-mod inheritance {
- extern crate inherited_stability;
- use self::inherited_stability::*;
-
- fn test_inheritance() {
- unstable();
- stable();
-
- stable_mod::unstable();
- stable_mod::stable();
-
- unstable_mod::deprecated(); //~ WARN use of deprecated function `inheritance::inherited_stability::unstable_mod::deprecated`: text
- unstable_mod::unstable();
-
- let _ = Unstable::UnstableVariant;
- let _ = Unstable::StableVariant;
-
- let x: usize = 0;
- x.unstable();
- x.stable();
- }
-}
-
-mod this_crate {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn deprecated() {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn deprecated_text() {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub fn unstable() {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- pub fn unstable_text() {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn stable() {}
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn stable_text() {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct MethodTester;
-
- impl MethodTester {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated(&self) {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub fn method_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- pub fn method_unstable_text(&self) {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn method_stable(&self) {}
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn method_stable_text(&self) {}
- }
-
- pub trait Trait {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated(&self) {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- fn trait_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- fn trait_unstable_text(&self) {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- fn trait_stable(&self) {}
- #[stable(feature = "rust1", since = "1.0.0")]
- fn trait_stable_text(&self) {}
- }
-
- impl Trait for MethodTester {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub struct DeprecatedStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
- }
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub struct UnstableStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
- }
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct StableStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub struct DeprecatedUnitStruct;
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub struct UnstableUnitStruct;
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct StableUnitStruct;
-
- pub enum Enum {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- DeprecatedVariant,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- UnstableVariant,
-
- #[stable(feature = "rust1", since = "1.0.0")]
- StableVariant,
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub struct DeprecatedTupleStruct(isize);
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub struct UnstableTupleStruct(isize);
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct StableTupleStruct(isize);
-
- fn test() {
- // Only the deprecated cases of the following should generate
- // errors, because other stability attributes now have meaning
- // only *across* crates, not within a single crate.
-
- type Foo = MethodTester;
- let foo = MethodTester;
-
- deprecated(); //~ WARN use of deprecated function `this_crate::deprecated`
- foo.method_deprecated(); //~ WARN use of deprecated associated function `this_crate::MethodTester::method_deprecated`
- Foo::method_deprecated(&foo); //~ WARN use of deprecated associated function `this_crate::MethodTester::method_deprecated`
- <Foo>::method_deprecated(&foo); //~ WARN use of deprecated associated function `this_crate::MethodTester::method_deprecated`
- foo.trait_deprecated(); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated`
- Trait::trait_deprecated(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated`
- <Foo>::trait_deprecated(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated`
- <Foo as Trait>::trait_deprecated(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated`
-
- deprecated_text(); //~ WARN use of deprecated function `this_crate::deprecated_text`: text
- foo.method_deprecated_text(); //~ WARN use of deprecated associated function `this_crate::MethodTester::method_deprecated_text`: text
- Foo::method_deprecated_text(&foo); //~ WARN use of deprecated associated function `this_crate::MethodTester::method_deprecated_text`: text
- <Foo>::method_deprecated_text(&foo); //~ WARN use of deprecated associated function `this_crate::MethodTester::method_deprecated_text`: text
- foo.trait_deprecated_text(); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- Trait::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- <Foo>::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- <Foo as Trait>::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
-
- unstable();
- foo.method_unstable();
- Foo::method_unstable(&foo);
- <Foo>::method_unstable(&foo);
- foo.trait_unstable();
- Trait::trait_unstable(&foo);
- <Foo>::trait_unstable(&foo);
- <Foo as Trait>::trait_unstable(&foo);
-
- unstable_text();
- foo.method_unstable_text();
- Foo::method_unstable_text(&foo);
- <Foo>::method_unstable_text(&foo);
- foo.trait_unstable_text();
- Trait::trait_unstable_text(&foo);
- <Foo>::trait_unstable_text(&foo);
- <Foo as Trait>::trait_unstable_text(&foo);
-
- stable();
- foo.method_stable();
- Foo::method_stable(&foo);
- <Foo>::method_stable(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
-
- stable_text();
- foo.method_stable_text();
- Foo::method_stable_text(&foo);
- <Foo>::method_stable_text(&foo);
- foo.trait_stable_text();
- Trait::trait_stable_text(&foo);
- <Foo>::trait_stable_text(&foo);
- <Foo as Trait>::trait_stable_text(&foo);
-
- let _ = DeprecatedStruct {
- //~^ WARN use of deprecated struct `this_crate::DeprecatedStruct`
- i: 0 //~ WARN use of deprecated field `this_crate::DeprecatedStruct::i`
- };
- let _ = UnstableStruct { i: 0 };
- let _ = StableStruct { i: 0 };
-
- let _ = DeprecatedUnitStruct; //~ WARN use of deprecated unit struct `this_crate::DeprecatedUnitStruct`
- let _ = UnstableUnitStruct;
- let _ = StableUnitStruct;
-
- let _ = Enum::DeprecatedVariant; //~ WARN use of deprecated unit variant `this_crate::Enum::DeprecatedVariant`
- let _ = Enum::UnstableVariant;
- let _ = Enum::StableVariant;
-
- let _ = DeprecatedTupleStruct (1); //~ WARN use of deprecated tuple struct `this_crate::DeprecatedTupleStruct`
- let _ = UnstableTupleStruct (1);
- let _ = StableTupleStruct (1);
- }
-
- fn test_method_param<Foo: Trait>(foo: Foo) {
- foo.trait_deprecated(); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated`
- Trait::trait_deprecated(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated`
- <Foo>::trait_deprecated(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated`
- <Foo as Trait>::trait_deprecated(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated`
- foo.trait_deprecated_text(); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- Trait::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- <Foo>::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- <Foo as Trait>::trait_deprecated_text(&foo); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- foo.trait_unstable();
- Trait::trait_unstable(&foo);
- <Foo>::trait_unstable(&foo);
- <Foo as Trait>::trait_unstable(&foo);
- foo.trait_unstable_text();
- Trait::trait_unstable_text(&foo);
- <Foo>::trait_unstable_text(&foo);
- <Foo as Trait>::trait_unstable_text(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
- }
-
- fn test_method_object(foo: &dyn Trait) {
- foo.trait_deprecated(); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated`
- foo.trait_deprecated_text(); //~ WARN use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- foo.trait_unstable();
- foo.trait_unstable_text();
- foo.trait_stable();
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn test_fn_body() {
- fn fn_in_body() {}
- fn_in_body(); //~ WARN use of deprecated function `this_crate::test_fn_body::fn_in_body`: text
- }
-
- impl MethodTester {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn test_method_body(&self) {
- fn fn_in_body() {}
- fn_in_body(); //~ WARN use of deprecated function `this_crate::MethodTester::test_method_body::fn_in_body`: text
- }
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub trait DeprecatedTrait {
- fn dummy(&self) { }
- }
-
- struct S;
-
- impl DeprecatedTrait for S { } //~ WARN use of deprecated trait `this_crate::DeprecatedTrait`
-
- trait LocalTrait : DeprecatedTrait { } //~ WARN use of deprecated trait `this_crate::DeprecatedTrait`
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-stability-deprecated.stderr b/src/test/ui/lint/lint-stability-deprecated.stderr
deleted file mode 100644
index 9f1e7b281..000000000
--- a/src/test/ui/lint/lint-stability-deprecated.stderr
+++ /dev/null
@@ -1,656 +0,0 @@
-warning: use of deprecated function `lint_stability::deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:24:9
- |
-LL | deprecated();
- | ^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-stability-deprecated.rs:6:9
- |
-LL | #![warn(deprecated)]
- | ^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:29:16
- |
-LL | Trait::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:31:25
- |
-LL | <Foo as Trait>::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `lint_stability::deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:33:9
- |
-LL | deprecated_text();
- | ^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:38:16
- |
-LL | ... Trait::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:40:25
- |
-LL | ... <Foo as Trait>::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `lint_stability::deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:42:9
- |
-LL | deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:47:16
- |
-LL | ... Trait::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:49:25
- |
-LL | ... <Foo as Trait>::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `lint_stability::deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:51:9
- |
-LL | deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:56:16
- |
-LL | ... Trait::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:58:25
- |
-LL | ... <Foo as Trait>::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated struct `lint_stability::DeprecatedStruct`: text
- --> $DIR/lint-stability-deprecated.rs:108:17
- |
-LL | let _ = DeprecatedStruct {
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated struct `lint_stability::DeprecatedUnstableStruct`: text
- --> $DIR/lint-stability-deprecated.rs:111:17
- |
-LL | let _ = DeprecatedUnstableStruct {
- | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated unit struct `lint_stability::DeprecatedUnitStruct`: text
- --> $DIR/lint-stability-deprecated.rs:118:17
- |
-LL | let _ = DeprecatedUnitStruct;
- | ^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated unit struct `lint_stability::DeprecatedUnstableUnitStruct`: text
- --> $DIR/lint-stability-deprecated.rs:119:17
- |
-LL | let _ = DeprecatedUnstableUnitStruct;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated unit variant `lint_stability::Enum::DeprecatedVariant`: text
- --> $DIR/lint-stability-deprecated.rs:123:23
- |
-LL | let _ = Enum::DeprecatedVariant;
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated unit variant `lint_stability::Enum::DeprecatedUnstableVariant`: text
- --> $DIR/lint-stability-deprecated.rs:124:23
- |
-LL | let _ = Enum::DeprecatedUnstableVariant;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated tuple struct `lint_stability::DeprecatedTupleStruct`: text
- --> $DIR/lint-stability-deprecated.rs:128:17
- |
-LL | let _ = DeprecatedTupleStruct (1);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated tuple struct `lint_stability::DeprecatedUnstableTupleStruct`: text
- --> $DIR/lint-stability-deprecated.rs:129:17
- |
-LL | let _ = DeprecatedUnstableTupleStruct (1);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `lint_stability::deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:138:25
- |
-LL | macro_test_arg!(deprecated_text());
- | ^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `lint_stability::deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:139:25
- |
-LL | macro_test_arg!(deprecated_unstable_text());
- | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `lint_stability::deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:140:41
- |
-LL | macro_test_arg!(macro_test_arg!(deprecated_text()));
- | ^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:145:16
- |
-LL | Trait::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:147:25
- |
-LL | <Foo as Trait>::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:149:16
- |
-LL | ... Trait::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:151:25
- |
-LL | ... <Foo as Trait>::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:153:16
- |
-LL | ... Trait::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:155:25
- |
-LL | ... <Foo as Trait>::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:157:16
- |
-LL | ... Trait::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:159:25
- |
-LL | ... <Foo as Trait>::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated trait `lint_stability::DeprecatedTrait`: text
- --> $DIR/lint-stability-deprecated.rs:187:10
- |
-LL | impl DeprecatedTrait for S {}
- | ^^^^^^^^^^^^^^^
-
-warning: use of deprecated trait `lint_stability::DeprecatedTrait`: text
- --> $DIR/lint-stability-deprecated.rs:189:25
- |
-LL | trait LocalTrait2 : DeprecatedTrait { }
- | ^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `inheritance::inherited_stability::unstable_mod::deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:208:23
- |
-LL | unstable_mod::deprecated();
- | ^^^^^^^^^^
-
-warning: use of deprecated function `this_crate::deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:330:9
- |
-LL | deprecated();
- | ^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:335:16
- |
-LL | Trait::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:337:25
- |
-LL | <Foo as Trait>::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `this_crate::deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:339:9
- |
-LL | deprecated_text();
- | ^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:344:16
- |
-LL | Trait::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:346:25
- |
-LL | ... <Foo as Trait>::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated struct `this_crate::DeprecatedStruct`: text
- --> $DIR/lint-stability-deprecated.rs:384:17
- |
-LL | let _ = DeprecatedStruct {
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated unit struct `this_crate::DeprecatedUnitStruct`: text
- --> $DIR/lint-stability-deprecated.rs:391:17
- |
-LL | let _ = DeprecatedUnitStruct;
- | ^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated unit variant `this_crate::Enum::DeprecatedVariant`: text
- --> $DIR/lint-stability-deprecated.rs:395:23
- |
-LL | let _ = Enum::DeprecatedVariant;
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated tuple struct `this_crate::DeprecatedTupleStruct`: text
- --> $DIR/lint-stability-deprecated.rs:399:17
- |
-LL | let _ = DeprecatedTupleStruct (1);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:406:16
- |
-LL | Trait::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:408:25
- |
-LL | <Foo as Trait>::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:410:16
- |
-LL | Trait::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:412:25
- |
-LL | ... <Foo as Trait>::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `this_crate::test_fn_body::fn_in_body`: text
- --> $DIR/lint-stability-deprecated.rs:439:9
- |
-LL | fn_in_body();
- | ^^^^^^^^^^
-
-warning: use of deprecated trait `this_crate::DeprecatedTrait`: text
- --> $DIR/lint-stability-deprecated.rs:459:10
- |
-LL | impl DeprecatedTrait for S { }
- | ^^^^^^^^^^^^^^^
-
-warning: use of deprecated trait `this_crate::DeprecatedTrait`: text
- --> $DIR/lint-stability-deprecated.rs:461:24
- |
-LL | trait LocalTrait : DeprecatedTrait { }
- | ^^^^^^^^^^^^^^^
-
-warning: use of deprecated function `this_crate::MethodTester::test_method_body::fn_in_body`: text
- --> $DIR/lint-stability-deprecated.rs:447:13
- |
-LL | fn_in_body();
- | ^^^^^^^^^^
-
-warning: use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`: text
- --> $DIR/lint-stability-deprecated.rs:97:48
- |
-LL | struct S2<T: TraitWithAssociatedTypes>(T::TypeDeprecated);
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`: text
- --> $DIR/lint-stability-deprecated.rs:102:13
- |
-LL | TypeDeprecated = u16,
- | ^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:25:13
- |
-LL | foo.method_deprecated();
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:26:14
- |
-LL | Foo::method_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:27:16
- |
-LL | <Foo>::method_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:28:13
- |
-LL | foo.trait_deprecated();
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:30:16
- |
-LL | <Foo>::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:34:13
- |
-LL | ... foo.method_deprecated_text();
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:35:14
- |
-LL | ... Foo::method_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:36:16
- |
-LL | ... <Foo>::method_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:37:13
- |
-LL | foo.trait_deprecated_text();
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:39:16
- |
-LL | ... <Foo>::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:43:13
- |
-LL | ... foo.method_deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:44:14
- |
-LL | ... Foo::method_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:45:16
- |
-LL | ... <Foo>::method_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:46:13
- |
-LL | foo.trait_deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:48:16
- |
-LL | ... <Foo>::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:52:13
- |
-LL | ... foo.method_deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:53:14
- |
-LL | ... Foo::method_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::MethodTester::method_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:54:16
- |
-LL | ... <Foo>::method_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:55:13
- |
-LL | ... foo.trait_deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:57:16
- |
-LL | ... <Foo>::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated field `lint_stability::DeprecatedStruct::i`: text
- --> $DIR/lint-stability-deprecated.rs:109:13
- |
-LL | i: 0
- | ^^^^
-
-warning: use of deprecated field `lint_stability::DeprecatedUnstableStruct::i`: text
- --> $DIR/lint-stability-deprecated.rs:113:13
- |
-LL | i: 0
- | ^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:144:13
- |
-LL | foo.trait_deprecated();
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:146:16
- |
-LL | <Foo>::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:148:13
- |
-LL | foo.trait_deprecated_text();
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:150:16
- |
-LL | ... <Foo>::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:152:13
- |
-LL | foo.trait_deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:154:16
- |
-LL | ... <Foo>::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:156:13
- |
-LL | ... foo.trait_deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:158:16
- |
-LL | ... <Foo>::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:175:13
- |
-LL | foo.trait_deprecated();
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:176:13
- |
-LL | foo.trait_deprecated_text();
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable`: text
- --> $DIR/lint-stability-deprecated.rs:177:13
- |
-LL | foo.trait_deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `lint_stability::Trait::trait_deprecated_unstable_text`: text
- --> $DIR/lint-stability-deprecated.rs:178:13
- |
-LL | ... foo.trait_deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::MethodTester::method_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:331:13
- |
-LL | foo.method_deprecated();
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::MethodTester::method_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:332:14
- |
-LL | Foo::method_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::MethodTester::method_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:333:16
- |
-LL | <Foo>::method_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:334:13
- |
-LL | foo.trait_deprecated();
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:336:16
- |
-LL | <Foo>::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::MethodTester::method_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:340:13
- |
-LL | ... foo.method_deprecated_text();
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::MethodTester::method_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:341:14
- |
-LL | ... Foo::method_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::MethodTester::method_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:342:16
- |
-LL | ... <Foo>::method_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:343:13
- |
-LL | foo.trait_deprecated_text();
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:345:16
- |
-LL | <Foo>::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated field `this_crate::DeprecatedStruct::i`: text
- --> $DIR/lint-stability-deprecated.rs:386:13
- |
-LL | i: 0
- | ^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:405:13
- |
-LL | foo.trait_deprecated();
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:407:16
- |
-LL | <Foo>::trait_deprecated(&foo);
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:409:13
- |
-LL | foo.trait_deprecated_text();
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:411:16
- |
-LL | <Foo>::trait_deprecated_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated`: text
- --> $DIR/lint-stability-deprecated.rs:428:13
- |
-LL | foo.trait_deprecated();
- | ^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text
- --> $DIR/lint-stability-deprecated.rs:429:13
- |
-LL | foo.trait_deprecated_text();
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`: text
- --> $DIR/lint-stability-deprecated.rs:97:48
- |
-LL | struct S2<T: TraitWithAssociatedTypes>(T::TypeDeprecated);
- | ^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`: text
- --> $DIR/lint-stability-deprecated.rs:102:13
- |
-LL | TypeDeprecated = u16,
- | ^^^^^^^^^^^^^^^^^^^^
-
-warning: use of deprecated associated type `lint_stability::TraitWithAssociatedTypes::TypeDeprecated`: text
- --> $DIR/lint-stability-deprecated.rs:102:13
- |
-LL | TypeDeprecated = u16,
- | ^^^^^^^^^^^^^^^^^^^^
-
-warning: 108 warnings emitted
-
diff --git a/src/test/ui/lint/lint-stability-fields-deprecated.rs b/src/test/ui/lint/lint-stability-fields-deprecated.rs
deleted file mode 100644
index a5511966d..000000000
--- a/src/test/ui/lint/lint-stability-fields-deprecated.rs
+++ /dev/null
@@ -1,344 +0,0 @@
-// aux-build:lint_stability_fields.rs
-
-#![deny(deprecated)]
-#![allow(dead_code)]
-#![feature(staged_api, unstable_test_feature)]
-
-#![stable(feature = "rust1", since = "1.0.0")]
-
-mod cross_crate {
- extern crate lint_stability_fields;
-
- use self::lint_stability_fields::*;
-
- pub fn foo() {
- let x = Stable {
- inherit: 1,
- override1: 2,
- override2: 3,
- //~^ ERROR use of deprecated field
- override3: 4,
- };
-
- let _ = x.inherit;
- let _ = x.override1;
- let _ = x.override2;
- //~^ ERROR use of deprecated field
- let _ = x.override3;
-
- let Stable {
- inherit: _,
- override1: _,
- override2: _,
- //~^ ERROR use of deprecated field
- override3: _,
- } = x;
- // all fine
- let Stable { .. } = x;
-
- let x = Stable2(1, 2, 3, 4);
-
- let _ = x.0;
- let _ = x.1;
- let _ = x.2;
- //~^ ERROR use of deprecated field
- let _ = x.3;
-
- let Stable2(_,
- _,
- _,
- //~^ ERROR use of deprecated field
- _)
- = x;
- // all fine
- let Stable2(..) = x;
-
-
- let x = Unstable {
- inherit: 1,
- override1: 2,
- override2: 3,
- //~^ ERROR use of deprecated field
- };
-
- let _ = x.inherit;
- let _ = x.override1;
- let _ = x.override2;
- //~^ ERROR use of deprecated field
-
- let Unstable {
- inherit: _,
- override1: _,
- override2: _
- //~^ ERROR use of deprecated field
- } = x;
-
- let Unstable
- // the patterns are all fine:
- { .. } = x;
-
-
- let x = Unstable2(1, 2, 3);
-
- let _ = x.0;
- let _ = x.1;
- let _ = x.2;
- //~^ ERROR use of deprecated field
-
- let Unstable2
- (_,
- _,
- _)
- //~^ ERROR use of deprecated field
- = x;
- let Unstable2
- // the patterns are all fine:
- (..) = x;
-
-
- let x = Deprecated {
- //~^ ERROR use of deprecated struct
- inherit: 1,
- //~^ ERROR use of deprecated field
- override1: 2,
- //~^ ERROR use of deprecated field
- override2: 3,
- //~^ ERROR use of deprecated field
- };
-
- let _ = x.inherit;
- //~^ ERROR use of deprecated field
- let _ = x.override1;
- //~^ ERROR use of deprecated field
- let _ = x.override2;
- //~^ ERROR use of deprecated field
-
- let Deprecated {
- //~^ ERROR use of deprecated struct
- inherit: _,
- //~^ ERROR use of deprecated field
- override1: _,
- //~^ ERROR use of deprecated field
- override2: _
- //~^ ERROR use of deprecated field
- } = x;
-
- let Deprecated
- //~^ ERROR use of deprecated struct
- // the patterns are all fine:
- { .. } = x;
-
- let x = Deprecated2(1, 2, 3);
- //~^ ERROR use of deprecated tuple struct
-
- let _ = x.0;
- //~^ ERROR use of deprecated field
- let _ = x.1;
- //~^ ERROR use of deprecated field
- let _ = x.2;
- //~^ ERROR use of deprecated field
-
- let Deprecated2
- //~^ ERROR use of deprecated tuple struct
- (_,
- //~^ ERROR use of deprecated field
- _,
- //~^ ERROR use of deprecated field
- _)
- //~^ ERROR use of deprecated field
- = x;
- let Deprecated2
- //~^ ERROR use of deprecated tuple struct
- // the patterns are all fine:
- (..) = x;
- }
-}
-
-mod this_crate {
- #[stable(feature = "rust1", since = "1.0.0")]
- struct Stable {
- inherit: u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- override1: u8,
- #[deprecated(since = "1.0.0", note = "text")]
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- override2: u8,
- }
-
- #[stable(feature = "rust1", since = "1.0.0")]
- struct Stable2(u8,
- #[stable(feature = "rust1", since = "1.0.0")] u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")] u8);
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- struct Unstable {
- inherit: u8,
- #[stable(feature = "rust1", since = "1.0.0")]
- override1: u8,
- #[deprecated(since = "1.0.0", note = "text")]
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- override2: u8,
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- struct Unstable2(u8,
- #[stable(feature = "rust1", since = "1.0.0")] u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")] u8);
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- struct Deprecated {
- inherit: u8,
- #[stable(feature = "rust1", since = "1.0.0")]
- override1: u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- override2: u8,
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- struct Deprecated2(u8,
- #[stable(feature = "rust1", since = "1.0.0")] u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")] u8);
-
- pub fn foo() {
- let x = Stable {
- inherit: 1,
- override1: 2,
- override2: 3,
- //~^ ERROR use of deprecated field
- };
-
- let _ = x.inherit;
- let _ = x.override1;
- let _ = x.override2;
- //~^ ERROR use of deprecated field
-
- let Stable {
- inherit: _,
- override1: _,
- override2: _
- //~^ ERROR use of deprecated field
- } = x;
- // all fine
- let Stable { .. } = x;
-
- let x = Stable2(1, 2, 3);
-
- let _ = x.0;
- let _ = x.1;
- let _ = x.2;
- //~^ ERROR use of deprecated field
-
- let Stable2(_,
- _,
- _)
- //~^ ERROR use of deprecated field
- = x;
- // all fine
- let Stable2(..) = x;
-
-
- let x = Unstable {
- inherit: 1,
- override1: 2,
- override2: 3,
- //~^ ERROR use of deprecated field
- };
-
- let _ = x.inherit;
- let _ = x.override1;
- let _ = x.override2;
- //~^ ERROR use of deprecated field
-
- let Unstable {
- inherit: _,
- override1: _,
- override2: _
- //~^ ERROR use of deprecated field
- } = x;
-
- let Unstable
- // the patterns are all fine:
- { .. } = x;
-
-
- let x = Unstable2(1, 2, 3);
-
- let _ = x.0;
- let _ = x.1;
- let _ = x.2;
- //~^ ERROR use of deprecated field
-
- let Unstable2
- (_,
- _,
- _)
- //~^ ERROR use of deprecated field
- = x;
- let Unstable2
- // the patterns are all fine:
- (..) = x;
-
-
- let x = Deprecated {
- //~^ ERROR use of deprecated struct
- inherit: 1,
- //~^ ERROR use of deprecated field
- override1: 2,
- //~^ ERROR use of deprecated field
- override2: 3,
- //~^ ERROR use of deprecated field
- };
-
- let _ = x.inherit;
- //~^ ERROR use of deprecated field
- let _ = x.override1;
- //~^ ERROR use of deprecated field
- let _ = x.override2;
- //~^ ERROR use of deprecated field
-
- let Deprecated {
- //~^ ERROR use of deprecated struct
- inherit: _,
- //~^ ERROR use of deprecated field
- override1: _,
- //~^ ERROR use of deprecated field
- override2: _
- //~^ ERROR use of deprecated field
- } = x;
-
- let Deprecated
- //~^ ERROR use of deprecated struct
- // the patterns are all fine:
- { .. } = x;
-
- let x = Deprecated2(1, 2, 3);
- //~^ ERROR use of deprecated tuple struct
-
- let _ = x.0;
- //~^ ERROR use of deprecated field
- let _ = x.1;
- //~^ ERROR use of deprecated field
- let _ = x.2;
- //~^ ERROR use of deprecated field
-
- let Deprecated2
- //~^ ERROR use of deprecated tuple struct
- (_,
- //~^ ERROR use of deprecated field
- _,
- //~^ ERROR use of deprecated field
- _)
- //~^ ERROR use of deprecated field
- = x;
- let Deprecated2
- //~^ ERROR use of deprecated tuple struct
- // the patterns are all fine:
- (..) = x;
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-stability-fields-deprecated.stderr b/src/test/ui/lint/lint-stability-fields-deprecated.stderr
deleted file mode 100644
index 2d8326020..000000000
--- a/src/test/ui/lint/lint-stability-fields-deprecated.stderr
+++ /dev/null
@@ -1,380 +0,0 @@
-error: use of deprecated struct `cross_crate::lint_stability_fields::Deprecated`: text
- --> $DIR/lint-stability-fields-deprecated.rs:99:17
- |
-LL | let x = Deprecated {
- | ^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-stability-fields-deprecated.rs:3:9
- |
-LL | #![deny(deprecated)]
- | ^^^^^^^^^^
-
-error: use of deprecated struct `cross_crate::lint_stability_fields::Deprecated`: text
- --> $DIR/lint-stability-fields-deprecated.rs:116:13
- |
-LL | let Deprecated {
- | ^^^^^^^^^^
-
-error: use of deprecated struct `cross_crate::lint_stability_fields::Deprecated`: text
- --> $DIR/lint-stability-fields-deprecated.rs:126:13
- |
-LL | let Deprecated
- | ^^^^^^^^^^
-
-error: use of deprecated tuple struct `cross_crate::lint_stability_fields::Deprecated2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:131:17
- |
-LL | let x = Deprecated2(1, 2, 3);
- | ^^^^^^^^^^^
-
-error: use of deprecated tuple struct `cross_crate::lint_stability_fields::Deprecated2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:141:13
- |
-LL | let Deprecated2
- | ^^^^^^^^^^^
-
-error: use of deprecated tuple struct `cross_crate::lint_stability_fields::Deprecated2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:150:13
- |
-LL | let Deprecated2
- | ^^^^^^^^^^^
-
-error: use of deprecated struct `this_crate::Deprecated`: text
- --> $DIR/lint-stability-fields-deprecated.rs:286:17
- |
-LL | let x = Deprecated {
- | ^^^^^^^^^^
-
-error: use of deprecated struct `this_crate::Deprecated`: text
- --> $DIR/lint-stability-fields-deprecated.rs:303:13
- |
-LL | let Deprecated {
- | ^^^^^^^^^^
-
-error: use of deprecated struct `this_crate::Deprecated`: text
- --> $DIR/lint-stability-fields-deprecated.rs:313:13
- |
-LL | let Deprecated
- | ^^^^^^^^^^
-
-error: use of deprecated tuple struct `this_crate::Deprecated2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:318:17
- |
-LL | let x = Deprecated2(1, 2, 3);
- | ^^^^^^^^^^^
-
-error: use of deprecated tuple struct `this_crate::Deprecated2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:328:13
- |
-LL | let Deprecated2
- | ^^^^^^^^^^^
-
-error: use of deprecated tuple struct `this_crate::Deprecated2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:337:13
- |
-LL | let Deprecated2
- | ^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Stable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:18:13
- |
-LL | override2: 3,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Stable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:25:17
- |
-LL | let _ = x.override2;
- | ^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Stable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:32:13
- |
-LL | override2: _,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Stable2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:43:17
- |
-LL | let _ = x.2;
- | ^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Stable2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:49:20
- |
-LL | _,
- | ^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Unstable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:60:13
- |
-LL | override2: 3,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Unstable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:66:17
- |
-LL | let _ = x.override2;
- | ^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Unstable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:72:13
- |
-LL | override2: _
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Unstable2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:85:17
- |
-LL | let _ = x.2;
- | ^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Unstable2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:91:14
- |
-LL | _)
- | ^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated::inherit`: text
- --> $DIR/lint-stability-fields-deprecated.rs:101:13
- |
-LL | inherit: 1,
- | ^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated::override1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:103:13
- |
-LL | override1: 2,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:105:13
- |
-LL | override2: 3,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated::inherit`: text
- --> $DIR/lint-stability-fields-deprecated.rs:109:17
- |
-LL | let _ = x.inherit;
- | ^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated::override1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:111:17
- |
-LL | let _ = x.override1;
- | ^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:113:17
- |
-LL | let _ = x.override2;
- | ^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated::inherit`: text
- --> $DIR/lint-stability-fields-deprecated.rs:118:13
- |
-LL | inherit: _,
- | ^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated::override1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:120:13
- |
-LL | override1: _,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:122:13
- |
-LL | override2: _
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated2::0`: text
- --> $DIR/lint-stability-fields-deprecated.rs:134:17
- |
-LL | let _ = x.0;
- | ^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated2::1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:136:17
- |
-LL | let _ = x.1;
- | ^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:138:17
- |
-LL | let _ = x.2;
- | ^^^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated2::0`: text
- --> $DIR/lint-stability-fields-deprecated.rs:143:14
- |
-LL | (_,
- | ^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated2::1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:145:14
- |
-LL | _,
- | ^
-
-error: use of deprecated field `cross_crate::lint_stability_fields::Deprecated2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:147:14
- |
-LL | _)
- | ^
-
-error: use of deprecated field `this_crate::Stable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:210:13
- |
-LL | override2: 3,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Stable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:216:17
- |
-LL | let _ = x.override2;
- | ^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Stable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:222:13
- |
-LL | override2: _
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Stable2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:232:17
- |
-LL | let _ = x.2;
- | ^^^
-
-error: use of deprecated field `this_crate::Stable2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:237:20
- |
-LL | _)
- | ^
-
-error: use of deprecated field `this_crate::Unstable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:247:13
- |
-LL | override2: 3,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Unstable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:253:17
- |
-LL | let _ = x.override2;
- | ^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Unstable::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:259:13
- |
-LL | override2: _
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Unstable2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:272:17
- |
-LL | let _ = x.2;
- | ^^^
-
-error: use of deprecated field `this_crate::Unstable2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:278:14
- |
-LL | _)
- | ^
-
-error: use of deprecated field `this_crate::Deprecated::inherit`: text
- --> $DIR/lint-stability-fields-deprecated.rs:288:13
- |
-LL | inherit: 1,
- | ^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Deprecated::override1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:290:13
- |
-LL | override1: 2,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Deprecated::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:292:13
- |
-LL | override2: 3,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Deprecated::inherit`: text
- --> $DIR/lint-stability-fields-deprecated.rs:296:17
- |
-LL | let _ = x.inherit;
- | ^^^^^^^^^
-
-error: use of deprecated field `this_crate::Deprecated::override1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:298:17
- |
-LL | let _ = x.override1;
- | ^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Deprecated::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:300:17
- |
-LL | let _ = x.override2;
- | ^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Deprecated::inherit`: text
- --> $DIR/lint-stability-fields-deprecated.rs:305:13
- |
-LL | inherit: _,
- | ^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Deprecated::override1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:307:13
- |
-LL | override1: _,
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Deprecated::override2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:309:13
- |
-LL | override2: _
- | ^^^^^^^^^^^^
-
-error: use of deprecated field `this_crate::Deprecated2::0`: text
- --> $DIR/lint-stability-fields-deprecated.rs:321:17
- |
-LL | let _ = x.0;
- | ^^^
-
-error: use of deprecated field `this_crate::Deprecated2::1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:323:17
- |
-LL | let _ = x.1;
- | ^^^
-
-error: use of deprecated field `this_crate::Deprecated2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:325:17
- |
-LL | let _ = x.2;
- | ^^^
-
-error: use of deprecated field `this_crate::Deprecated2::0`: text
- --> $DIR/lint-stability-fields-deprecated.rs:330:14
- |
-LL | (_,
- | ^
-
-error: use of deprecated field `this_crate::Deprecated2::1`: text
- --> $DIR/lint-stability-fields-deprecated.rs:332:14
- |
-LL | _,
- | ^
-
-error: use of deprecated field `this_crate::Deprecated2::2`: text
- --> $DIR/lint-stability-fields-deprecated.rs:334:14
- |
-LL | _)
- | ^
-
-error: aborting due to 62 previous errors
-
diff --git a/src/test/ui/lint/lint-stability-fields.rs b/src/test/ui/lint/lint-stability-fields.rs
deleted file mode 100644
index 51990b6ee..000000000
--- a/src/test/ui/lint/lint-stability-fields.rs
+++ /dev/null
@@ -1,293 +0,0 @@
-// aux-build:lint_stability_fields.rs
-#![allow(deprecated)]
-#![allow(dead_code)]
-#![feature(staged_api)]
-
-#![stable(feature = "rust1", since = "1.0.0")]
-
-mod cross_crate {
- extern crate lint_stability_fields;
-
- mod reexport {
- #[stable(feature = "rust1", since = "1.0.0")]
- pub use super::lint_stability_fields::*;
- }
-
- use self::lint_stability_fields::*;
-
- pub fn foo() {
- let x = Stable {
- inherit: 1,
- override1: 2, //~ ERROR use of unstable
- override2: 3, //~ ERROR use of unstable
- override3: 4,
- };
-
- let _ = x.inherit;
- let _ = x.override1; //~ ERROR use of unstable
- let _ = x.override2; //~ ERROR use of unstable
- let _ = x.override3;
-
- let Stable {
- inherit: _,
- override1: _, //~ ERROR use of unstable
- override2: _, //~ ERROR use of unstable
- override3: _
- } = x;
- // all fine
- let Stable { .. } = x;
-
- let x = Stable2(1, 2, 3, 4);
-
- let _ = x.0;
- let _ = x.1; //~ ERROR use of unstable
- let _ = x.2; //~ ERROR use of unstable
- let _ = x.3;
-
- let Stable2(_,
- _, //~ ERROR use of unstable
- _, //~ ERROR use of unstable
- _)
- = x;
- // all fine
- let Stable2(..) = x;
-
-
- let x = Unstable { //~ ERROR use of unstable
- inherit: 1, //~ ERROR use of unstable
- override1: 2,
- override2: 3, //~ ERROR use of unstable
- };
-
- let _ = x.inherit; //~ ERROR use of unstable
- let _ = x.override1;
- let _ = x.override2; //~ ERROR use of unstable
-
- let Unstable { //~ ERROR use of unstable
- inherit: _, //~ ERROR use of unstable
- override1: _,
- override2: _ //~ ERROR use of unstable
- } = x;
-
- let Unstable //~ ERROR use of unstable
- // the patterns are all fine:
- { .. } = x;
-
- // Unstable items are still unstable even when used through a stable "pub use".
- let x = reexport::Unstable2(1, 2, 3); //~ ERROR use of unstable
-
- let x = Unstable2(1, 2, 3); //~ ERROR use of unstable
-
- let _ = x.0; //~ ERROR use of unstable
- let _ = x.1;
- let _ = x.2; //~ ERROR use of unstable
-
- let Unstable2 //~ ERROR use of unstable
- (_, //~ ERROR use of unstable
- _,
- _) //~ ERROR use of unstable
- = x;
- let Unstable2 //~ ERROR use of unstable
- // the patterns are all fine:
- (..) = x;
-
-
- let x = Deprecated { //~ ERROR use of unstable
- inherit: 1, //~ ERROR use of unstable
- override1: 2,
- override2: 3, //~ ERROR use of unstable
- };
-
- let _ = x.inherit; //~ ERROR use of unstable
- let _ = x.override1;
- let _ = x.override2; //~ ERROR use of unstable
-
- let Deprecated { //~ ERROR use of unstable
- inherit: _, //~ ERROR use of unstable
- override1: _,
- override2: _ //~ ERROR use of unstable
- } = x;
-
- let Deprecated //~ ERROR use of unstable
- // the patterns are all fine:
- { .. } = x;
-
- let x = Deprecated2(1, 2, 3); //~ ERROR use of unstable
-
- let _ = x.0; //~ ERROR use of unstable
- let _ = x.1;
- let _ = x.2; //~ ERROR use of unstable
-
- let Deprecated2 //~ ERROR use of unstable
- (_, //~ ERROR use of unstable
- _,
- _) //~ ERROR use of unstable
- = x;
- let Deprecated2 //~ ERROR use of unstable
- // the patterns are all fine:
- (..) = x;
- }
-}
-
-mod this_crate {
- #[stable(feature = "rust1", since = "1.0.0")]
- struct Stable {
- inherit: u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- override1: u8,
- #[deprecated(since = "1.0.0", note = "text")]
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- override2: u8,
- #[stable(feature = "rust2", since = "2.0.0")]
- override3: u8,
- }
-
- #[stable(feature = "rust1", since = "1.0.0")]
- struct Stable2(u8,
- #[stable(feature = "rust2", since = "2.0.0")] u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")] u8);
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- struct Unstable {
- inherit: u8,
- #[stable(feature = "rust1", since = "1.0.0")]
- override1: u8,
- #[deprecated(since = "1.0.0", note = "text")]
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- override2: u8,
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- struct Unstable2(u8,
- #[stable(feature = "rust1", since = "1.0.0")] u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")] u8);
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- struct Deprecated {
- inherit: u8,
- #[stable(feature = "rust1", since = "1.0.0")]
- override1: u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- override2: u8,
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- struct Deprecated2(u8,
- #[stable(feature = "rust1", since = "1.0.0")] u8,
- #[unstable(feature = "unstable_test_feature", issue = "none")] u8);
-
- pub fn foo() {
- let x = Stable {
- inherit: 1,
- override1: 2,
- override2: 3,
- override3: 4,
- };
-
- let _ = x.inherit;
- let _ = x.override1;
- let _ = x.override2;
- let _ = x.override3;
-
- let Stable {
- inherit: _,
- override1: _,
- override2: _,
- override3: _
- } = x;
- // all fine
- let Stable { .. } = x;
-
- let x = Stable2(1, 2, 3);
-
- let _ = x.0;
- let _ = x.1;
- let _ = x.2;
-
- let Stable2(_,
- _,
- _)
- = x;
- // all fine
- let Stable2(..) = x;
-
-
- let x = Unstable {
- inherit: 1,
- override1: 2,
- override2: 3,
- };
-
- let _ = x.inherit;
- let _ = x.override1;
- let _ = x.override2;
-
- let Unstable {
- inherit: _,
- override1: _,
- override2: _
- } = x;
-
- let Unstable
- // the patterns are all fine:
- { .. } = x;
-
-
- let x = Unstable2(1, 2, 3);
-
- let _ = x.0;
- let _ = x.1;
- let _ = x.2;
-
- let Unstable2
- (_,
- _,
- _)
- = x;
- let Unstable2
- // the patterns are all fine:
- (..) = x;
-
-
- let x = Deprecated {
- inherit: 1,
- override1: 2,
- override2: 3,
- };
-
- let _ = x.inherit;
- let _ = x.override1;
- let _ = x.override2;
-
- let Deprecated {
- inherit: _,
- override1: _,
- override2: _
- } = x;
-
- let Deprecated
- // the patterns are all fine:
- { .. } = x;
-
- let x = Deprecated2(1, 2, 3);
-
- let _ = x.0;
- let _ = x.1;
- let _ = x.2;
-
- let Deprecated2
- (_,
- _,
- _)
- = x;
- let Deprecated2
- // the patterns are all fine:
- (..) = x;
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-stability-fields.stderr b/src/test/ui/lint/lint-stability-fields.stderr
deleted file mode 100644
index 3d2e73c1e..000000000
--- a/src/test/ui/lint/lint-stability-fields.stderr
+++ /dev/null
@@ -1,347 +0,0 @@
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:56:17
- |
-LL | let x = Unstable {
- | ^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:66:13
- |
-LL | let Unstable {
- | ^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:72:13
- |
-LL | let Unstable
- | ^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:77:17
- |
-LL | let x = reexport::Unstable2(1, 2, 3);
- | ^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:79:17
- |
-LL | let x = Unstable2(1, 2, 3);
- | ^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:85:13
- |
-LL | let Unstable2
- | ^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:90:13
- |
-LL | let Unstable2
- | ^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:95:17
- |
-LL | let x = Deprecated {
- | ^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:105:13
- |
-LL | let Deprecated {
- | ^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:111:13
- |
-LL | let Deprecated
- | ^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:115:17
- |
-LL | let x = Deprecated2(1, 2, 3);
- | ^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:121:13
- |
-LL | let Deprecated2
- | ^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:126:13
- |
-LL | let Deprecated2
- | ^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:21:13
- |
-LL | override1: 2,
- | ^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:22:13
- |
-LL | override2: 3,
- | ^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:27:17
- |
-LL | let _ = x.override1;
- | ^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:28:17
- |
-LL | let _ = x.override2;
- | ^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:33:13
- |
-LL | override1: _,
- | ^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:34:13
- |
-LL | override2: _,
- | ^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:43:17
- |
-LL | let _ = x.1;
- | ^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:44:17
- |
-LL | let _ = x.2;
- | ^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:48:20
- |
-LL | _,
- | ^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:49:20
- |
-LL | _,
- | ^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:57:13
- |
-LL | inherit: 1,
- | ^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:59:13
- |
-LL | override2: 3,
- | ^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:62:17
- |
-LL | let _ = x.inherit;
- | ^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:64:17
- |
-LL | let _ = x.override2;
- | ^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:67:13
- |
-LL | inherit: _,
- | ^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:69:13
- |
-LL | override2: _
- | ^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:81:17
- |
-LL | let _ = x.0;
- | ^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:83:17
- |
-LL | let _ = x.2;
- | ^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:86:14
- |
-LL | (_,
- | ^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:88:14
- |
-LL | _)
- | ^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:96:13
- |
-LL | inherit: 1,
- | ^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:98:13
- |
-LL | override2: 3,
- | ^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:101:17
- |
-LL | let _ = x.inherit;
- | ^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:103:17
- |
-LL | let _ = x.override2;
- | ^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:106:13
- |
-LL | inherit: _,
- | ^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:108:13
- |
-LL | override2: _
- | ^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:117:17
- |
-LL | let _ = x.0;
- | ^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:119:17
- |
-LL | let _ = x.2;
- | ^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:122:14
- |
-LL | (_,
- | ^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability-fields.rs:124:14
- |
-LL | _)
- | ^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error: aborting due to 43 previous errors
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/lint/lint-stability.rs b/src/test/ui/lint/lint-stability.rs
deleted file mode 100644
index d0f0e9f80..000000000
--- a/src/test/ui/lint/lint-stability.rs
+++ /dev/null
@@ -1,454 +0,0 @@
-// aux-build:lint_stability.rs
-// aux-build:inherited_stability.rs
-// aux-build:stability_cfg1.rs
-// aux-build:stability-cfg2.rs
-
-#![allow(deprecated)]
-#![allow(dead_code)]
-#![feature(staged_api)]
-
-#![stable(feature = "rust1", since = "1.0.0")]
-
-#[macro_use]
-extern crate lint_stability;
-
-mod cross_crate {
- extern crate stability_cfg1;
- extern crate stability_cfg2; //~ ERROR use of unstable library feature
-
- use lint_stability::*;
-
- fn test() {
- type Foo = MethodTester;
- let foo = MethodTester;
-
- deprecated();
- foo.method_deprecated();
- Foo::method_deprecated(&foo);
- <Foo>::method_deprecated(&foo);
- foo.trait_deprecated();
- Trait::trait_deprecated(&foo);
- <Foo>::trait_deprecated(&foo);
- <Foo as Trait>::trait_deprecated(&foo);
-
- deprecated_text();
- foo.method_deprecated_text();
- Foo::method_deprecated_text(&foo);
- <Foo>::method_deprecated_text(&foo);
- foo.trait_deprecated_text();
- Trait::trait_deprecated_text(&foo);
- <Foo>::trait_deprecated_text(&foo);
- <Foo as Trait>::trait_deprecated_text(&foo);
-
- deprecated_future(); // Fine; no error.
-
- deprecated_unstable();
- //~^ ERROR use of unstable library feature
- Trait::trait_deprecated_unstable(&foo);
- //~^ ERROR use of unstable library feature
- <Foo as Trait>::trait_deprecated_unstable(&foo);
- //~^ ERROR use of unstable library feature
-
- deprecated_unstable_text();
- //~^ ERROR use of unstable library feature
- Trait::trait_deprecated_unstable_text(&foo);
- //~^ ERROR use of unstable library feature
- <Foo as Trait>::trait_deprecated_unstable_text(&foo);
- //~^ ERROR use of unstable library feature
-
- unstable(); //~ ERROR use of unstable library feature
- Trait::trait_unstable(&foo); //~ ERROR use of unstable library feature
- <Foo as Trait>::trait_unstable(&foo); //~ ERROR use of unstable library feature
-
- unstable_text();
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- Trait::trait_unstable_text(&foo);
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- <Foo as Trait>::trait_unstable_text(&foo);
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
-
- stable();
- foo.method_stable();
- Foo::method_stable(&foo);
- <Foo>::method_stable(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
-
- stable_text();
- foo.method_stable_text();
- Foo::method_stable_text(&foo);
- <Foo>::method_stable_text(&foo);
- foo.trait_stable_text();
- Trait::trait_stable_text(&foo);
- <Foo>::trait_stable_text(&foo);
- <Foo as Trait>::trait_stable_text(&foo);
-
- struct S1<T: TraitWithAssociatedTypes>(T::TypeUnstable);
- //~^ ERROR use of unstable library feature
- struct S2<T: TraitWithAssociatedTypes>(T::TypeDeprecated);
- type A = dyn TraitWithAssociatedTypes<
- TypeUnstable = u8, //~ ERROR use of unstable library feature
- TypeDeprecated = u16,
- >;
-
- let _ = DeprecatedStruct {
- i: 0
- };
- let _ = DeprecatedUnstableStruct {
- //~^ ERROR use of unstable library feature
- i: 0
- };
- let _ = UnstableStruct { i: 0 }; //~ ERROR use of unstable library feature
- let _ = StableStruct { i: 0 };
-
- let _ = DeprecatedUnitStruct;
- let _ = DeprecatedUnstableUnitStruct;
- //~^ ERROR use of unstable library feature
- let _ = UnstableUnitStruct; //~ ERROR use of unstable library feature
- let _ = StableUnitStruct;
-
- let _ = Enum::DeprecatedVariant;
- let _ = Enum::DeprecatedUnstableVariant;
- //~^ ERROR use of unstable library feature
- let _ = Enum::UnstableVariant; //~ ERROR use of unstable library feature
- let _ = Enum::StableVariant;
-
- let _ = DeprecatedTupleStruct (1);
- let _ = DeprecatedUnstableTupleStruct (1);
- //~^ ERROR use of unstable library feature
- let _ = UnstableTupleStruct (1); //~ ERROR use of unstable library feature
- let _ = StableTupleStruct (1);
-
- // At the moment, the lint checker only checks stability in
- // in the arguments of macros.
- // Eventually, we will want to lint the contents of the
- // macro in the module *defining* it. Also, stability levels
- // on macros themselves are not yet linted.
- macro_test_arg!(deprecated_text());
- macro_test_arg!(deprecated_unstable_text());
- //~^ ERROR use of unstable library feature
- macro_test_arg!(macro_test_arg!(deprecated_text()));
- }
-
- fn test_method_param<Foo: Trait>(foo: Foo) {
- foo.trait_deprecated();
- Trait::trait_deprecated(&foo);
- <Foo>::trait_deprecated(&foo);
- <Foo as Trait>::trait_deprecated(&foo);
- foo.trait_deprecated_text();
- Trait::trait_deprecated_text(&foo);
- <Foo>::trait_deprecated_text(&foo);
- <Foo as Trait>::trait_deprecated_text(&foo);
- Trait::trait_deprecated_unstable(&foo);
- //~^ ERROR use of unstable library feature
- <Foo as Trait>::trait_deprecated_unstable(&foo);
- //~^ ERROR use of unstable library feature
- Trait::trait_deprecated_unstable_text(&foo);
- //~^ ERROR use of unstable library feature
- <Foo as Trait>::trait_deprecated_unstable_text(&foo);
- //~^ ERROR use of unstable library feature
- Trait::trait_unstable(&foo); //~ ERROR use of unstable library feature
- <Foo as Trait>::trait_unstable(&foo); //~ ERROR use of unstable library feature
- Trait::trait_unstable_text(&foo);
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- <Foo as Trait>::trait_unstable_text(&foo);
- //~^ ERROR use of unstable library feature 'unstable_test_feature': text
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
- }
-
- fn test_method_object(foo: &dyn Trait) {
- foo.trait_deprecated();
- foo.trait_deprecated_text();
- foo.trait_stable();
- }
-
- struct S;
-
- impl UnstableTrait for S { } //~ ERROR use of unstable library feature
- impl DeprecatedTrait for S {}
- trait LocalTrait : UnstableTrait { } //~ ERROR use of unstable library feature
- trait LocalTrait2 : DeprecatedTrait { }
-
- impl Trait for S {
- fn trait_stable(&self) {}
- fn trait_unstable(&self) {} //~ ERROR use of unstable library feature
- }
-}
-
-mod inheritance {
- extern crate inherited_stability; //~ ERROR use of unstable library feature
- use self::inherited_stability::*; //~ ERROR use of unstable library feature
-
- fn test_inheritance() {
- unstable(); //~ ERROR use of unstable library feature
- stable();
-
- stable_mod::unstable(); //~ ERROR use of unstable library feature
- stable_mod::stable();
-
- unstable_mod::deprecated(); //~ ERROR use of unstable library feature
- unstable_mod::unstable(); //~ ERROR use of unstable library feature
-
- let _ = Unstable::UnstableVariant; //~ ERROR use of unstable library feature
- let _ = Unstable::StableVariant; //~ ERROR use of unstable library feature
-
- let x: usize = 0;
- x.stable();
- }
-}
-
-mod this_crate {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn deprecated() {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn deprecated_text() {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- #[deprecated(since = "99.99.99", note = "text")]
- pub fn deprecated_future() {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub fn unstable() {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- pub fn unstable_text() {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn stable() {}
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn stable_text() {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct MethodTester;
-
- impl MethodTester {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated(&self) {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub fn method_deprecated_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub fn method_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- pub fn method_unstable_text(&self) {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn method_stable(&self) {}
- #[stable(feature = "rust1", since = "1.0.0")]
- pub fn method_stable_text(&self) {}
- }
-
- pub trait Trait {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated(&self) {}
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn trait_deprecated_text(&self) {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- fn trait_unstable(&self) {}
- #[unstable(feature = "unstable_test_feature", reason = "text", issue = "none")]
- fn trait_unstable_text(&self) {}
-
- #[stable(feature = "rust1", since = "1.0.0")]
- fn trait_stable(&self) {}
- #[stable(feature = "rust1", since = "1.0.0")]
- fn trait_stable_text(&self) {}
- }
-
- impl Trait for MethodTester {}
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub struct DeprecatedStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
- }
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub struct UnstableStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
- }
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct StableStruct {
- #[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub struct DeprecatedUnitStruct;
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub struct UnstableUnitStruct;
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct StableUnitStruct;
-
- pub enum Enum {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- DeprecatedVariant,
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- UnstableVariant,
-
- #[stable(feature = "rust1", since = "1.0.0")]
- StableVariant,
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub struct DeprecatedTupleStruct(isize);
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- pub struct UnstableTupleStruct(isize);
- #[stable(feature = "rust1", since = "1.0.0")]
- pub struct StableTupleStruct(isize);
-
- fn test() {
- // Only the deprecated cases of the following should generate
- // errors, because other stability attributes now have meaning
- // only *across* crates, not within a single crate.
-
- type Foo = MethodTester;
- let foo = MethodTester;
-
- deprecated();
- foo.method_deprecated();
- Foo::method_deprecated(&foo);
- <Foo>::method_deprecated(&foo);
- foo.trait_deprecated();
- Trait::trait_deprecated(&foo);
- <Foo>::trait_deprecated(&foo);
- <Foo as Trait>::trait_deprecated(&foo);
-
- deprecated_text();
- foo.method_deprecated_text();
- Foo::method_deprecated_text(&foo);
- <Foo>::method_deprecated_text(&foo);
- foo.trait_deprecated_text();
- Trait::trait_deprecated_text(&foo);
- <Foo>::trait_deprecated_text(&foo);
- <Foo as Trait>::trait_deprecated_text(&foo);
-
- deprecated_future();
-
- unstable();
- foo.method_unstable();
- Foo::method_unstable(&foo);
- <Foo>::method_unstable(&foo);
- foo.trait_unstable();
- Trait::trait_unstable(&foo);
- <Foo>::trait_unstable(&foo);
- <Foo as Trait>::trait_unstable(&foo);
-
- unstable_text();
- foo.method_unstable_text();
- Foo::method_unstable_text(&foo);
- <Foo>::method_unstable_text(&foo);
- foo.trait_unstable_text();
- Trait::trait_unstable_text(&foo);
- <Foo>::trait_unstable_text(&foo);
- <Foo as Trait>::trait_unstable_text(&foo);
-
- stable();
- foo.method_stable();
- Foo::method_stable(&foo);
- <Foo>::method_stable(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
-
- stable_text();
- foo.method_stable_text();
- Foo::method_stable_text(&foo);
- <Foo>::method_stable_text(&foo);
- foo.trait_stable_text();
- Trait::trait_stable_text(&foo);
- <Foo>::trait_stable_text(&foo);
- <Foo as Trait>::trait_stable_text(&foo);
-
- let _ = DeprecatedStruct {
- i: 0
- };
- let _ = UnstableStruct { i: 0 };
- let _ = StableStruct { i: 0 };
-
- let _ = DeprecatedUnitStruct;
- let _ = UnstableUnitStruct;
- let _ = StableUnitStruct;
-
- let _ = Enum::DeprecatedVariant;
- let _ = Enum::UnstableVariant;
- let _ = Enum::StableVariant;
-
- let _ = DeprecatedTupleStruct (1);
- let _ = UnstableTupleStruct (1);
- let _ = StableTupleStruct (1);
- }
-
- fn test_method_param<Foo: Trait>(foo: Foo) {
- foo.trait_deprecated();
- Trait::trait_deprecated(&foo);
- <Foo>::trait_deprecated(&foo);
- <Foo as Trait>::trait_deprecated(&foo);
- foo.trait_deprecated_text();
- Trait::trait_deprecated_text(&foo);
- <Foo>::trait_deprecated_text(&foo);
- <Foo as Trait>::trait_deprecated_text(&foo);
- foo.trait_unstable();
- Trait::trait_unstable(&foo);
- <Foo>::trait_unstable(&foo);
- <Foo as Trait>::trait_unstable(&foo);
- foo.trait_unstable_text();
- Trait::trait_unstable_text(&foo);
- <Foo>::trait_unstable_text(&foo);
- <Foo as Trait>::trait_unstable_text(&foo);
- foo.trait_stable();
- Trait::trait_stable(&foo);
- <Foo>::trait_stable(&foo);
- <Foo as Trait>::trait_stable(&foo);
- }
-
- fn test_method_object(foo: &dyn Trait) {
- foo.trait_deprecated();
- foo.trait_deprecated_text();
- foo.trait_unstable();
- foo.trait_unstable_text();
- foo.trait_stable();
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn test_fn_body() {
- fn fn_in_body() {}
- fn_in_body();
- }
-
- impl MethodTester {
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- fn test_method_body(&self) {
- fn fn_in_body() {}
- fn_in_body();
- }
- }
-
- #[unstable(feature = "unstable_test_feature", issue = "none")]
- #[deprecated(since = "1.0.0", note = "text")]
- pub trait DeprecatedTrait {
- fn dummy(&self) { }
- }
-
- struct S;
-
- impl DeprecatedTrait for S { }
-
- trait LocalTrait : DeprecatedTrait { }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-stability.stderr b/src/test/ui/lint/lint-stability.stderr
deleted file mode 100644
index bd1a57dc4..000000000
--- a/src/test/ui/lint/lint-stability.stderr
+++ /dev/null
@@ -1,347 +0,0 @@
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:17:5
- |
-LL | extern crate stability_cfg2;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:45:9
- |
-LL | deprecated_unstable();
- | ^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:47:9
- |
-LL | Trait::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:49:9
- |
-LL | <Foo as Trait>::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:52:9
- |
-LL | deprecated_unstable_text();
- | ^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:54:9
- |
-LL | Trait::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:56:9
- |
-LL | <Foo as Trait>::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:59:9
- |
-LL | unstable();
- | ^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:60:9
- |
-LL | Trait::trait_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:61:9
- |
-LL | <Foo as Trait>::trait_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability.rs:63:9
- |
-LL | unstable_text();
- | ^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability.rs:65:9
- |
-LL | Trait::trait_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability.rs:67:9
- |
-LL | <Foo as Trait>::trait_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:99:17
- |
-LL | let _ = DeprecatedUnstableStruct {
- | ^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:103:17
- |
-LL | let _ = UnstableStruct { i: 0 };
- | ^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:107:17
- |
-LL | let _ = DeprecatedUnstableUnitStruct;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:109:17
- |
-LL | let _ = UnstableUnitStruct;
- | ^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:113:17
- |
-LL | let _ = Enum::DeprecatedUnstableVariant;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:115:17
- |
-LL | let _ = Enum::UnstableVariant;
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:119:17
- |
-LL | let _ = DeprecatedUnstableTupleStruct (1);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:121:17
- |
-LL | let _ = UnstableTupleStruct (1);
- | ^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:130:25
- |
-LL | macro_test_arg!(deprecated_unstable_text());
- | ^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:144:9
- |
-LL | Trait::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:146:9
- |
-LL | <Foo as Trait>::trait_deprecated_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:148:9
- |
-LL | Trait::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:150:9
- |
-LL | <Foo as Trait>::trait_deprecated_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:152:9
- |
-LL | Trait::trait_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:153:9
- |
-LL | <Foo as Trait>::trait_unstable(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability.rs:154:9
- |
-LL | Trait::trait_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature': text
- --> $DIR/lint-stability.rs:156:9
- |
-LL | <Foo as Trait>::trait_unstable_text(&foo);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:172:10
- |
-LL | impl UnstableTrait for S { }
- | ^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:174:24
- |
-LL | trait LocalTrait : UnstableTrait { }
- | ^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:179:9
- |
-LL | fn trait_unstable(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:184:5
- |
-LL | extern crate inherited_stability;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:185:9
- |
-LL | use self::inherited_stability::*;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:188:9
- |
-LL | unstable();
- | ^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:191:9
- |
-LL | stable_mod::unstable();
- | ^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:194:9
- |
-LL | unstable_mod::deprecated();
- | ^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:195:9
- |
-LL | unstable_mod::unstable();
- | ^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:197:17
- |
-LL | let _ = Unstable::UnstableVariant;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:198:17
- |
-LL | let _ = Unstable::StableVariant;
- | ^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:88:48
- |
-LL | struct S1<T: TraitWithAssociatedTypes>(T::TypeUnstable);
- | ^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error[E0658]: use of unstable library feature 'unstable_test_feature'
- --> $DIR/lint-stability.rs:92:13
- |
-LL | TypeUnstable = u8,
- | ^^^^^^^^^^^^^^^^^
- |
- = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
-
-error: aborting due to 43 previous errors
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/lint/lint-stability2.rs b/src/test/ui/lint/lint-stability2.rs
deleted file mode 100644
index 9ae23dac6..000000000
--- a/src/test/ui/lint/lint-stability2.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// aux-build:lint_stability.rs
-// error-pattern: use of deprecated function
-
-#![deny(deprecated)]
-
-#[macro_use]
-extern crate lint_stability;
-
-use lint_stability::*;
-
-fn main() {
- macro_test!();
-}
diff --git a/src/test/ui/lint/lint-stability2.stderr b/src/test/ui/lint/lint-stability2.stderr
deleted file mode 100644
index 51bdf84a3..000000000
--- a/src/test/ui/lint/lint-stability2.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: use of deprecated function `lint_stability::deprecated`: text
- --> $DIR/lint-stability2.rs:12:5
- |
-LL | macro_test!();
- | ^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-stability2.rs:4:9
- |
-LL | #![deny(deprecated)]
- | ^^^^^^^^^^
- = note: this error originates in the macro `macro_test` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-stability3.rs b/src/test/ui/lint/lint-stability3.rs
deleted file mode 100644
index 4452846ec..000000000
--- a/src/test/ui/lint/lint-stability3.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// aux-build:lint_stability.rs
-// error-pattern: use of deprecated function
-
-#![deny(deprecated)]
-#![allow(warnings)]
-
-#[macro_use]
-extern crate lint_stability;
-
-use lint_stability::*;
-
-fn main() {
- macro_test_arg_nested!(deprecated_text);
-}
diff --git a/src/test/ui/lint/lint-stability3.stderr b/src/test/ui/lint/lint-stability3.stderr
deleted file mode 100644
index 3bbb60dd3..000000000
--- a/src/test/ui/lint/lint-stability3.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: use of deprecated function `lint_stability::deprecated_text`: text
- --> $DIR/lint-stability3.rs:13:28
- |
-LL | macro_test_arg_nested!(deprecated_text);
- | ^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-stability3.rs:4:9
- |
-LL | #![deny(deprecated)]
- | ^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-strict-provenance-fuzzy-casts.rs b/src/test/ui/lint/lint-strict-provenance-fuzzy-casts.rs
deleted file mode 100644
index d2d72a68f..000000000
--- a/src/test/ui/lint/lint-strict-provenance-fuzzy-casts.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-#![feature(strict_provenance)]
-#![deny(fuzzy_provenance_casts)]
-
-fn main() {
- let dangling = 16_usize as *const u8;
- //~^ ERROR strict provenance disallows casting integer `usize` to pointer `*const u8`
-}
diff --git a/src/test/ui/lint/lint-strict-provenance-fuzzy-casts.stderr b/src/test/ui/lint/lint-strict-provenance-fuzzy-casts.stderr
deleted file mode 100644
index 383623b48..000000000
--- a/src/test/ui/lint/lint-strict-provenance-fuzzy-casts.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error: strict provenance disallows casting integer `usize` to pointer `*const u8`
- --> $DIR/lint-strict-provenance-fuzzy-casts.rs:5:20
- |
-LL | let dangling = 16_usize as *const u8;
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = help: if you can't comply with strict provenance and don't have a pointer with the correct provenance you can use `std::ptr::from_exposed_addr()` instead
-note: the lint level is defined here
- --> $DIR/lint-strict-provenance-fuzzy-casts.rs:2:9
- |
-LL | #![deny(fuzzy_provenance_casts)]
- | ^^^^^^^^^^^^^^^^^^^^^^
-help: use `.with_addr()` to adjust a valid pointer in the same allocation, to this address
- |
-LL | let dangling = (...).with_addr(16_usize);
- | ++++++++++++++++ ~
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-strict-provenance-lossy-casts.rs b/src/test/ui/lint/lint-strict-provenance-lossy-casts.rs
deleted file mode 100644
index 9799a0537..000000000
--- a/src/test/ui/lint/lint-strict-provenance-lossy-casts.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-#![feature(strict_provenance)]
-#![deny(lossy_provenance_casts)]
-
-fn main() {
- let x: u8 = 37;
- let addr: usize = &x as *const u8 as usize;
- //~^ ERROR under strict provenance it is considered bad style to cast pointer `*const u8` to integer `usize`
-
- let addr_32bit = &x as *const u8 as u32;
- //~^ ERROR under strict provenance it is considered bad style to cast pointer `*const u8` to integer `u32`
-
- // don't add unnecessary parens in the suggestion
- let ptr = &x as *const u8;
- let ptr_addr = ptr as usize;
- //~^ ERROR under strict provenance it is considered bad style to cast pointer `*const u8` to integer `usize`
- let ptr_addr_32bit = ptr as u32;
- //~^ ERROR under strict provenance it is considered bad style to cast pointer `*const u8` to integer `u32`
-}
diff --git a/src/test/ui/lint/lint-strict-provenance-lossy-casts.stderr b/src/test/ui/lint/lint-strict-provenance-lossy-casts.stderr
deleted file mode 100644
index aa151fe2d..000000000
--- a/src/test/ui/lint/lint-strict-provenance-lossy-casts.stderr
+++ /dev/null
@@ -1,51 +0,0 @@
-error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `usize`
- --> $DIR/lint-strict-provenance-lossy-casts.rs:6:23
- |
-LL | let addr: usize = &x as *const u8 as usize;
- | ^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: if you can't comply with strict provenance and need to expose the pointer provenance you can use `.expose_addr()` instead
-note: the lint level is defined here
- --> $DIR/lint-strict-provenance-lossy-casts.rs:2:9
- |
-LL | #![deny(lossy_provenance_casts)]
- | ^^^^^^^^^^^^^^^^^^^^^^
-help: use `.addr()` to obtain the address of a pointer
- |
-LL | let addr: usize = (&x as *const u8).addr();
- | + ~~~~~~~~
-
-error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `u32`
- --> $DIR/lint-strict-provenance-lossy-casts.rs:9:22
- |
-LL | let addr_32bit = &x as *const u8 as u32;
- | ^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: if you can't comply with strict provenance and need to expose the pointer provenance you can use `.expose_addr()` instead
-help: use `.addr()` to obtain the address of a pointer
- |
-LL | let addr_32bit = (&x as *const u8).addr() as u32;
- | + ~~~~~~~~~~~~~~~
-
-error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `usize`
- --> $DIR/lint-strict-provenance-lossy-casts.rs:14:20
- |
-LL | let ptr_addr = ptr as usize;
- | ^^^---------
- | |
- | help: use `.addr()` to obtain the address of a pointer: `.addr()`
- |
- = help: if you can't comply with strict provenance and need to expose the pointer provenance you can use `.expose_addr()` instead
-
-error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `u32`
- --> $DIR/lint-strict-provenance-lossy-casts.rs:16:26
- |
-LL | let ptr_addr_32bit = ptr as u32;
- | ^^^-------
- | |
- | help: use `.addr()` to obtain the address of a pointer: `.addr() as u32`
- |
- = help: if you can't comply with strict provenance and need to expose the pointer provenance you can use `.expose_addr()` instead
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/lint/lint-temporary-cstring-as-param.rs b/src/test/ui/lint/lint-temporary-cstring-as-param.rs
deleted file mode 100644
index 9f5805367..000000000
--- a/src/test/ui/lint/lint-temporary-cstring-as-param.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-#![deny(temporary_cstring_as_ptr)]
-
-use std::ffi::CString;
-use std::os::raw::c_char;
-
-fn some_function(data: *const c_char) {}
-
-fn main() {
- some_function(CString::new("").unwrap().as_ptr());
- //~^ ERROR getting the inner pointer of a temporary `CString`
-}
diff --git a/src/test/ui/lint/lint-temporary-cstring-as-param.stderr b/src/test/ui/lint/lint-temporary-cstring-as-param.stderr
deleted file mode 100644
index 838b3bc13..000000000
--- a/src/test/ui/lint/lint-temporary-cstring-as-param.stderr
+++ /dev/null
@@ -1,18 +0,0 @@
-error: getting the inner pointer of a temporary `CString`
- --> $DIR/lint-temporary-cstring-as-param.rs:9:45
- |
-LL | some_function(CString::new("").unwrap().as_ptr());
- | ------------------------- ^^^^^^ this pointer will be invalid
- | |
- | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
- |
- = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
- = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
-note: the lint level is defined here
- --> $DIR/lint-temporary-cstring-as-param.rs:1:9
- |
-LL | #![deny(temporary_cstring_as_ptr)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-temporary-cstring-as-ptr.rs b/src/test/ui/lint/lint-temporary-cstring-as-ptr.rs
deleted file mode 100644
index 7aa4f2e1e..000000000
--- a/src/test/ui/lint/lint-temporary-cstring-as-ptr.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// this program is not technically incorrect, but is an obscure enough style to be worth linting
-#![deny(temporary_cstring_as_ptr)]
-
-use std::ffi::CString;
-
-fn main() {
- let s = CString::new("some text").unwrap().as_ptr();
- //~^ ERROR getting the inner pointer of a temporary `CString`
-}
diff --git a/src/test/ui/lint/lint-temporary-cstring-as-ptr.stderr b/src/test/ui/lint/lint-temporary-cstring-as-ptr.stderr
deleted file mode 100644
index 79ef57dd1..000000000
--- a/src/test/ui/lint/lint-temporary-cstring-as-ptr.stderr
+++ /dev/null
@@ -1,18 +0,0 @@
-error: getting the inner pointer of a temporary `CString`
- --> $DIR/lint-temporary-cstring-as-ptr.rs:7:48
- |
-LL | let s = CString::new("some text").unwrap().as_ptr();
- | ---------------------------------- ^^^^^^ this pointer will be invalid
- | |
- | this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
- |
- = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
- = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
-note: the lint level is defined here
- --> $DIR/lint-temporary-cstring-as-ptr.rs:2:9
- |
-LL | #![deny(temporary_cstring_as_ptr)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-type-limits.rs b/src/test/ui/lint/lint-type-limits.rs
deleted file mode 100644
index 2b140f869..000000000
--- a/src/test/ui/lint/lint-type-limits.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-#![allow(dead_code)]
-
-// compile-flags: -D unused-comparisons
-fn main() { }
-
-fn foo() {
- let mut i = 100_usize;
- while i >= 0 { //~ ERROR comparison is useless due to type limits
- i -= 1;
- }
-}
-
-fn bar() -> i8 {
- return 123;
-}
-
-fn bleh() {
- let u = 42u8;
- let _ = u > 255; //~ ERROR comparison is useless due to type limits
- let _ = 255 < u; //~ ERROR comparison is useless due to type limits
- let _ = u < 0; //~ ERROR comparison is useless due to type limits
- let _ = 0 > u; //~ ERROR comparison is useless due to type limits
- let _ = u <= 255; //~ ERROR comparison is useless due to type limits
- let _ = 255 >= u; //~ ERROR comparison is useless due to type limits
- let _ = u >= 0; //~ ERROR comparison is useless due to type limits
- let _ = 0 <= u; //~ ERROR comparison is useless due to type limits
-}
diff --git a/src/test/ui/lint/lint-type-limits.stderr b/src/test/ui/lint/lint-type-limits.stderr
deleted file mode 100644
index 71a2b3bfd..000000000
--- a/src/test/ui/lint/lint-type-limits.stderr
+++ /dev/null
@@ -1,58 +0,0 @@
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits.rs:8:11
- |
-LL | while i >= 0 {
- | ^^^^^^
- |
- = note: requested on the command line with `-D unused-comparisons`
-
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits.rs:19:13
- |
-LL | let _ = u > 255;
- | ^^^^^^^
-
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits.rs:20:13
- |
-LL | let _ = 255 < u;
- | ^^^^^^^
-
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits.rs:21:13
- |
-LL | let _ = u < 0;
- | ^^^^^
-
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits.rs:22:13
- |
-LL | let _ = 0 > u;
- | ^^^^^
-
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits.rs:23:13
- |
-LL | let _ = u <= 255;
- | ^^^^^^^^
-
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits.rs:24:13
- |
-LL | let _ = 255 >= u;
- | ^^^^^^^^
-
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits.rs:25:13
- |
-LL | let _ = u >= 0;
- | ^^^^^^
-
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits.rs:26:13
- |
-LL | let _ = 0 <= u;
- | ^^^^^^
-
-error: aborting due to 9 previous errors
-
diff --git a/src/test/ui/lint/lint-type-limits2.rs b/src/test/ui/lint/lint-type-limits2.rs
deleted file mode 100644
index 3f90119cd..000000000
--- a/src/test/ui/lint/lint-type-limits2.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-#![allow(dead_code)]
-#![warn(overflowing_literals)]
-
-// compile-flags: -D unused-comparisons
-fn main() { }
-
-
-fn bar() -> i8 {
- return 123;
-}
-
-fn baz() -> bool {
- 128 > bar() //~ ERROR comparison is useless due to type limits
- //~| WARN literal out of range for `i8`
-}
diff --git a/src/test/ui/lint/lint-type-limits2.stderr b/src/test/ui/lint/lint-type-limits2.stderr
deleted file mode 100644
index b3420ad8a..000000000
--- a/src/test/ui/lint/lint-type-limits2.stderr
+++ /dev/null
@@ -1,24 +0,0 @@
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits2.rs:13:5
- |
-LL | 128 > bar()
- | ^^^^^^^^^^^
- |
- = note: requested on the command line with `-D unused-comparisons`
-
-warning: literal out of range for `i8`
- --> $DIR/lint-type-limits2.rs:13:5
- |
-LL | 128 > bar()
- | ^^^
- |
- = note: the literal `128` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `u8` instead
-note: the lint level is defined here
- --> $DIR/lint-type-limits2.rs:2:9
- |
-LL | #![warn(overflowing_literals)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error; 1 warning emitted
-
diff --git a/src/test/ui/lint/lint-type-limits3.rs b/src/test/ui/lint/lint-type-limits3.rs
deleted file mode 100644
index ceecf9ab3..000000000
--- a/src/test/ui/lint/lint-type-limits3.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![allow(dead_code)]
-#![warn(overflowing_literals)]
-
-// compile-flags: -D unused-comparisons
-fn main() { }
-
-fn qux() {
- let mut i = 1i8;
- while 200 != i { //~ ERROR comparison is useless due to type limits
- //~| WARN literal out of range for `i8`
- i += 1;
- }
-}
diff --git a/src/test/ui/lint/lint-type-limits3.stderr b/src/test/ui/lint/lint-type-limits3.stderr
deleted file mode 100644
index db46e7ae7..000000000
--- a/src/test/ui/lint/lint-type-limits3.stderr
+++ /dev/null
@@ -1,24 +0,0 @@
-error: comparison is useless due to type limits
- --> $DIR/lint-type-limits3.rs:9:11
- |
-LL | while 200 != i {
- | ^^^^^^^^
- |
- = note: requested on the command line with `-D unused-comparisons`
-
-warning: literal out of range for `i8`
- --> $DIR/lint-type-limits3.rs:9:11
- |
-LL | while 200 != i {
- | ^^^
- |
- = note: the literal `200` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `u8` instead
-note: the lint level is defined here
- --> $DIR/lint-type-limits3.rs:2:9
- |
-LL | #![warn(overflowing_literals)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error; 1 warning emitted
-
diff --git a/src/test/ui/lint/lint-type-overflow.rs b/src/test/ui/lint/lint-type-overflow.rs
deleted file mode 100644
index 9672da6d3..000000000
--- a/src/test/ui/lint/lint-type-overflow.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-#![deny(overflowing_literals)]
-
-fn test(x: i8) {
- println!("x {}", x);
-}
-
-#[allow(unused_variables)]
-fn main() {
- let x1: u8 = 255; // should be OK
- let x1: u8 = 256; //~ error: literal out of range for `u8`
-
- let x1 = 255_u8; // should be OK
- let x1 = 256_u8; //~ error: literal out of range for `u8`
-
- let x2: i8 = -128; // should be OK
- let x1: i8 = 128; //~ error: literal out of range for `i8`
-
- let x3: i8 = -129; //~ error: literal out of range for `i8`
- let x3: i8 = -(129); //~ error: literal out of range for `i8`
- let x3: i8 = -{129}; //~ error: literal out of range for `i8`
-
- test(1000); //~ error: literal out of range for `i8`
-
- let x = 128_i8; //~ error: literal out of range for `i8`
- let x = 127_i8;
- let x = -128_i8;
- let x = -(128_i8);
- let x = -129_i8; //~ error: literal out of range for `i8`
-
- let x: i32 = 2147483647; // should be OK
- let x = 2147483647_i32; // should be OK
- let x: i32 = 2147483648; //~ error: literal out of range for `i32`
- let x = 2147483648_i32; //~ error: literal out of range for `i32`
- let x: i32 = -2147483648; // should be OK
- let x = -2147483648_i32; // should be OK
- let x: i32 = -2147483649; //~ error: literal out of range for `i32`
- let x = -2147483649_i32; //~ error: literal out of range for `i32`
- let x = 2147483648; //~ error: literal out of range for `i32`
-
- let x = 9223372036854775808_i64; //~ error: literal out of range for `i64`
- let x = -9223372036854775808_i64; // should be OK
- let x = 18446744073709551615_i64; //~ error: literal out of range for `i64`
- let x: i64 = -9223372036854775809; //~ error: literal out of range for `i64`
- let x = -9223372036854775809_i64; //~ error: literal out of range for `i64`
-}
diff --git a/src/test/ui/lint/lint-type-overflow.stderr b/src/test/ui/lint/lint-type-overflow.stderr
deleted file mode 100644
index 48d8228b8..000000000
--- a/src/test/ui/lint/lint-type-overflow.stderr
+++ /dev/null
@@ -1,167 +0,0 @@
-error: literal out of range for `u8`
- --> $DIR/lint-type-overflow.rs:10:18
- |
-LL | let x1: u8 = 256;
- | ^^^
- |
- = note: the literal `256` does not fit into the type `u8` whose range is `0..=255`
-note: the lint level is defined here
- --> $DIR/lint-type-overflow.rs:1:9
- |
-LL | #![deny(overflowing_literals)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: literal out of range for `u8`
- --> $DIR/lint-type-overflow.rs:13:14
- |
-LL | let x1 = 256_u8;
- | ^^^^^^
- |
- = note: the literal `256_u8` does not fit into the type `u8` whose range is `0..=255`
-
-error: literal out of range for `i8`
- --> $DIR/lint-type-overflow.rs:16:18
- |
-LL | let x1: i8 = 128;
- | ^^^
- |
- = note: the literal `128` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `u8` instead
-
-error: literal out of range for `i8`
- --> $DIR/lint-type-overflow.rs:18:19
- |
-LL | let x3: i8 = -129;
- | ^^^
- |
- = note: the literal `129` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `i16` instead
-
-error: literal out of range for `i8`
- --> $DIR/lint-type-overflow.rs:19:19
- |
-LL | let x3: i8 = -(129);
- | ^^^^^
- |
- = note: the literal `129` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `i16` instead
-
-error: literal out of range for `i8`
- --> $DIR/lint-type-overflow.rs:20:20
- |
-LL | let x3: i8 = -{129};
- | ^^^
- |
- = note: the literal `129` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `u8` instead
-
-error: literal out of range for `i8`
- --> $DIR/lint-type-overflow.rs:22:10
- |
-LL | test(1000);
- | ^^^^
- |
- = note: the literal `1000` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `i16` instead
-
-error: literal out of range for `i8`
- --> $DIR/lint-type-overflow.rs:24:13
- |
-LL | let x = 128_i8;
- | ^^^^^^
- |
- = note: the literal `128_i8` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `u8` instead
-
-error: literal out of range for `i8`
- --> $DIR/lint-type-overflow.rs:28:14
- |
-LL | let x = -129_i8;
- | ^^^^^^
- |
- = note: the literal `129_i8` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `i16` instead
-
-error: literal out of range for `i32`
- --> $DIR/lint-type-overflow.rs:32:18
- |
-LL | let x: i32 = 2147483648;
- | ^^^^^^^^^^
- |
- = note: the literal `2147483648` does not fit into the type `i32` whose range is `-2147483648..=2147483647`
- = help: consider using the type `u32` instead
-
-error: literal out of range for `i32`
- --> $DIR/lint-type-overflow.rs:33:13
- |
-LL | let x = 2147483648_i32;
- | ^^^^^^^^^^^^^^
- |
- = note: the literal `2147483648_i32` does not fit into the type `i32` whose range is `-2147483648..=2147483647`
- = help: consider using the type `u32` instead
-
-error: literal out of range for `i32`
- --> $DIR/lint-type-overflow.rs:36:19
- |
-LL | let x: i32 = -2147483649;
- | ^^^^^^^^^^
- |
- = note: the literal `2147483649` does not fit into the type `i32` whose range is `-2147483648..=2147483647`
- = help: consider using the type `i64` instead
-
-error: literal out of range for `i32`
- --> $DIR/lint-type-overflow.rs:37:14
- |
-LL | let x = -2147483649_i32;
- | ^^^^^^^^^^^^^^
- |
- = note: the literal `2147483649_i32` does not fit into the type `i32` whose range is `-2147483648..=2147483647`
- = help: consider using the type `i64` instead
-
-error: literal out of range for `i32`
- --> $DIR/lint-type-overflow.rs:38:13
- |
-LL | let x = 2147483648;
- | ^^^^^^^^^^
- |
- = note: the literal `2147483648` does not fit into the type `i32` whose range is `-2147483648..=2147483647`
- = help: consider using the type `u32` instead
-
-error: literal out of range for `i64`
- --> $DIR/lint-type-overflow.rs:40:13
- |
-LL | let x = 9223372036854775808_i64;
- | ^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `9223372036854775808_i64` does not fit into the type `i64` whose range is `-9223372036854775808..=9223372036854775807`
- = help: consider using the type `u64` instead
-
-error: literal out of range for `i64`
- --> $DIR/lint-type-overflow.rs:42:13
- |
-LL | let x = 18446744073709551615_i64;
- | ^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `18446744073709551615_i64` does not fit into the type `i64` whose range is `-9223372036854775808..=9223372036854775807`
- = help: consider using the type `u64` instead
-
-error: literal out of range for `i64`
- --> $DIR/lint-type-overflow.rs:43:19
- |
-LL | let x: i64 = -9223372036854775809;
- | ^^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `9223372036854775809` does not fit into the type `i64` whose range is `-9223372036854775808..=9223372036854775807`
- = help: consider using the type `i128` instead
-
-error: literal out of range for `i64`
- --> $DIR/lint-type-overflow.rs:44:14
- |
-LL | let x = -9223372036854775809_i64;
- | ^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `9223372036854775809_i64` does not fit into the type `i64` whose range is `-9223372036854775808..=9223372036854775807`
- = help: consider using the type `i128` instead
-
-error: aborting due to 18 previous errors
-
diff --git a/src/test/ui/lint/lint-type-overflow2.rs b/src/test/ui/lint/lint-type-overflow2.rs
deleted file mode 100644
index 9b1eb510b..000000000
--- a/src/test/ui/lint/lint-type-overflow2.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// compile-flags: -O
-
-#![deny(overflowing_literals)]
-
-fn main() {
- let x2: i8 = --128; //~ ERROR literal out of range for `i8`
-
- let x = -3.40282357e+38_f32; //~ ERROR literal out of range for `f32`
- let x = 3.40282357e+38_f32; //~ ERROR literal out of range for `f32`
- let x = -1.7976931348623159e+308_f64; //~ ERROR literal out of range for `f64`
- let x = 1.7976931348623159e+308_f64; //~ ERROR literal out of range for `f64`
-}
diff --git a/src/test/ui/lint/lint-type-overflow2.stderr b/src/test/ui/lint/lint-type-overflow2.stderr
deleted file mode 100644
index eb593d062..000000000
--- a/src/test/ui/lint/lint-type-overflow2.stderr
+++ /dev/null
@@ -1,48 +0,0 @@
-error: literal out of range for `i8`
- --> $DIR/lint-type-overflow2.rs:6:20
- |
-LL | let x2: i8 = --128;
- | ^^^
- |
- = note: the literal `128` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `u8` instead
-note: the lint level is defined here
- --> $DIR/lint-type-overflow2.rs:3:9
- |
-LL | #![deny(overflowing_literals)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: literal out of range for `f32`
- --> $DIR/lint-type-overflow2.rs:8:14
- |
-LL | let x = -3.40282357e+38_f32;
- | ^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `3.40282357e+38_f32` does not fit into the type `f32` and will be converted to `f32::INFINITY`
-
-error: literal out of range for `f32`
- --> $DIR/lint-type-overflow2.rs:9:14
- |
-LL | let x = 3.40282357e+38_f32;
- | ^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `3.40282357e+38_f32` does not fit into the type `f32` and will be converted to `f32::INFINITY`
-
-error: literal out of range for `f64`
- --> $DIR/lint-type-overflow2.rs:10:14
- |
-LL | let x = -1.7976931348623159e+308_f64;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `1.7976931348623159e+308_f64` does not fit into the type `f64` and will be converted to `f64::INFINITY`
-
-error: literal out of range for `f64`
- --> $DIR/lint-type-overflow2.rs:11:14
- |
-LL | let x = 1.7976931348623159e+308_f64;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `1.7976931348623159e+308_f64` does not fit into the type `f64` and will be converted to `f64::INFINITY`
-
-error: aborting due to 5 previous errors
-
diff --git a/src/test/ui/lint/lint-unconditional-recursion.rs b/src/test/ui/lint/lint-unconditional-recursion.rs
deleted file mode 100644
index ad052d36f..000000000
--- a/src/test/ui/lint/lint-unconditional-recursion.rs
+++ /dev/null
@@ -1,194 +0,0 @@
-#![deny(unconditional_recursion)]
-
-#![allow(dead_code)]
-fn foo() { //~ ERROR function cannot return without recursing
- foo();
-}
-
-fn bar() {
- if true {
- bar()
- }
-}
-
-fn baz() { //~ ERROR function cannot return without recursing
- if true {
- baz()
- } else {
- baz()
- }
-}
-
-fn qux() {
- loop {}
-}
-
-fn quz() -> bool { //~ ERROR function cannot return without recursing
- if true {
- while quz() {}
- true
- } else {
- loop { quz(); }
- }
-}
-
-// Trait method calls.
-trait Foo {
- fn bar(&self) { //~ ERROR function cannot return without recursing
- self.bar()
- }
-}
-
-impl Foo for Box<dyn Foo + 'static> {
- fn bar(&self) { //~ ERROR function cannot return without recursing
- loop {
- self.bar()
- }
- }
-}
-
-// Trait method call with integer fallback after method resolution.
-impl Foo for i32 {
- fn bar(&self) { //~ ERROR function cannot return without recursing
- 0.bar()
- }
-}
-
-impl Foo for u32 {
- fn bar(&self) {
- 0.bar()
- }
-}
-
-// Trait method calls via paths.
-trait Foo2 {
- fn bar(&self) { //~ ERROR function cannot return without recursing
- Foo2::bar(self)
- }
-}
-
-impl Foo2 for Box<dyn Foo2 + 'static> {
- fn bar(&self) { //~ ERROR function cannot return without recursing
- loop {
- Foo2::bar(self)
- }
- }
-}
-
-struct Baz;
-impl Baz {
- // Inherent method call.
- fn qux(&self) { //~ ERROR function cannot return without recursing
- self.qux();
- }
-
- // Inherent method call via path.
- fn as_ref(&self) -> &Self { //~ ERROR function cannot return without recursing
- Baz::as_ref(self)
- }
-}
-
-// Trait method calls to impls via paths.
-impl Default for Baz {
- fn default() -> Baz { //~ ERROR function cannot return without recursing
- let x = Default::default();
- x
- }
-}
-
-// Overloaded operators.
-impl std::ops::Deref for Baz {
- type Target = ();
- fn deref(&self) -> &() { //~ ERROR function cannot return without recursing
- &**self
- }
-}
-
-impl std::ops::Index<usize> for Baz {
- type Output = Baz;
- fn index(&self, x: usize) -> &Baz { //~ ERROR function cannot return without recursing
- &self[x]
- }
-}
-
-// Overloaded autoderef.
-struct Quux;
-impl std::ops::Deref for Quux {
- type Target = Baz;
- fn deref(&self) -> &Baz { //~ ERROR function cannot return without recursing
- self.as_ref()
- }
-}
-
-fn all_fine() {
- let _f = all_fine;
-}
-
-// issue 26333
-trait Bar {
- fn method<T: Bar>(&self, x: &T) {
- x.method(x)
- }
-}
-
-// Do not trigger on functions that may diverge instead of self-recursing (#54444)
-
-pub fn loops(x: bool) {
- if x {
- loops(x);
- } else {
- loop {}
- }
-}
-
-pub fn panics(x: bool) {
- if x {
- panics(!x);
- } else {
- panic!("panics");
- }
-}
-
-pub fn unreachable1() {
- panic!();
- unreachable1(); // WARN unreachable statement
-}
-
-pub fn unreachable2() {
- loop {}
- unreachable2(); // WARN unreachable statement
-}
-
-pub fn drop_and_replace(mut a: Option<String>) { //~ ERROR function cannot return without recursing
- a = None;
- drop_and_replace(a);
-}
-
-// Calls are assumed to return normally.
-pub fn call() -> String { //~ ERROR function cannot return without recursing
- let s = String::new();
- call();
- s
-}
-
-// Arithmetic operations are assumed not to overflow.
-pub fn overflow_check(a: i32, b: i32) { //~ ERROR function cannot return without recursing
- let _ = a + b;
- overflow_check(a, b);
-}
-
-pub struct Point {
- pub x: f32,
- pub y: f32,
-}
-
-impl Default for Point {
- fn default() -> Self { //~ ERROR function cannot return without recursing
- Point {
- x: Default::default(),
- ..Default::default()
- }
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-unconditional-recursion.stderr b/src/test/ui/lint/lint-unconditional-recursion.stderr
deleted file mode 100644
index 9d200a789..000000000
--- a/src/test/ui/lint/lint-unconditional-recursion.stderr
+++ /dev/null
@@ -1,201 +0,0 @@
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:4:1
- |
-LL | fn foo() {
- | ^^^^^^^^ cannot return without recursing
-LL | foo();
- | ----- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-note: the lint level is defined here
- --> $DIR/lint-unconditional-recursion.rs:1:9
- |
-LL | #![deny(unconditional_recursion)]
- | ^^^^^^^^^^^^^^^^^^^^^^^
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:14:1
- |
-LL | fn baz() {
- | ^^^^^^^^ cannot return without recursing
-LL | if true {
-LL | baz()
- | ----- recursive call site
-LL | } else {
-LL | baz()
- | ----- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:26:1
- |
-LL | fn quz() -> bool {
- | ^^^^^^^^^^^^^^^^ cannot return without recursing
-LL | if true {
-LL | while quz() {}
- | ----- recursive call site
-...
-LL | loop { quz(); }
- | ----- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:37:5
- |
-LL | fn bar(&self) {
- | ^^^^^^^^^^^^^ cannot return without recursing
-LL | self.bar()
- | ---------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:43:5
- |
-LL | fn bar(&self) {
- | ^^^^^^^^^^^^^ cannot return without recursing
-LL | loop {
-LL | self.bar()
- | ---------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:52:5
- |
-LL | fn bar(&self) {
- | ^^^^^^^^^^^^^ cannot return without recursing
-LL | 0.bar()
- | ------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:65:5
- |
-LL | fn bar(&self) {
- | ^^^^^^^^^^^^^ cannot return without recursing
-LL | Foo2::bar(self)
- | --------------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:71:5
- |
-LL | fn bar(&self) {
- | ^^^^^^^^^^^^^ cannot return without recursing
-LL | loop {
-LL | Foo2::bar(self)
- | --------------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:81:5
- |
-LL | fn qux(&self) {
- | ^^^^^^^^^^^^^ cannot return without recursing
-LL | self.qux();
- | ---------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:86:5
- |
-LL | fn as_ref(&self) -> &Self {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
-LL | Baz::as_ref(self)
- | ----------------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:93:5
- |
-LL | fn default() -> Baz {
- | ^^^^^^^^^^^^^^^^^^^ cannot return without recursing
-LL | let x = Default::default();
- | ------------------ recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:102:5
- |
-LL | fn deref(&self) -> &() {
- | ^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
-LL | &**self
- | ------ recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:109:5
- |
-LL | fn index(&self, x: usize) -> &Baz {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
-LL | &self[x]
- | ------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:118:5
- |
-LL | fn deref(&self) -> &Baz {
- | ^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
-LL | self.as_ref()
- | ------------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:162:1
- |
-LL | pub fn drop_and_replace(mut a: Option<String>) {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
-LL | a = None;
-LL | drop_and_replace(a);
- | ------------------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:168:1
- |
-LL | pub fn call() -> String {
- | ^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
-LL | let s = String::new();
-LL | call();
- | ------ recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:175:1
- |
-LL | pub fn overflow_check(a: i32, b: i32) {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
-LL | let _ = a + b;
-LL | overflow_check(a, b);
- | -------------------- recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: function cannot return without recursing
- --> $DIR/lint-unconditional-recursion.rs:186:5
- |
-LL | fn default() -> Self {
- | ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
-...
-LL | ..Default::default()
- | ------------------ recursive call site
- |
- = help: a `loop` may express intention better if this is on purpose
-
-error: aborting due to 18 previous errors
-
diff --git a/src/test/ui/lint/lint-unexported-no-mangle.rs b/src/test/ui/lint/lint-unexported-no-mangle.rs
deleted file mode 100644
index f260fc323..000000000
--- a/src/test/ui/lint/lint-unexported-no-mangle.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-// compile-flags:-F private_no_mangle_fns -F no_mangle_const_items -F private_no_mangle_statics
-
-#[no_mangle]
-fn foo() {
-}
-
-#[allow(dead_code)]
-#[no_mangle]
-const FOO: u64 = 1; //~ ERROR const items should never be `#[no_mangle]`
-
-#[no_mangle]
-pub const PUB_FOO: u64 = 1; //~ ERROR const items should never be `#[no_mangle]`
-
-#[no_mangle]
-pub fn bar() {
-}
-
-#[no_mangle]
-pub static BAR: u64 = 1;
-
-#[allow(dead_code)]
-#[no_mangle]
-static PRIVATE_BAR: u64 = 1;
-
-
-fn main() {
- foo();
- bar();
-}
diff --git a/src/test/ui/lint/lint-unexported-no-mangle.stderr b/src/test/ui/lint/lint-unexported-no-mangle.stderr
deleted file mode 100644
index a11ee769c..000000000
--- a/src/test/ui/lint/lint-unexported-no-mangle.stderr
+++ /dev/null
@@ -1,44 +0,0 @@
-warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
- |
- = note: requested on the command line with `-F private_no_mangle_fns`
-
-warning: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
- |
- = note: requested on the command line with `-F private_no_mangle_statics`
-
-warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
- |
- = note: requested on the command line with `-F private_no_mangle_fns`
-
-warning: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
- |
- = note: requested on the command line with `-F private_no_mangle_statics`
-
-warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
- |
- = note: requested on the command line with `-F private_no_mangle_fns`
-
-warning: lint `private_no_mangle_statics` has been removed: no longer a warning, `#[no_mangle]` statics always exported
- |
- = note: requested on the command line with `-F private_no_mangle_statics`
-
-error: const items should never be `#[no_mangle]`
- --> $DIR/lint-unexported-no-mangle.rs:9:1
- |
-LL | const FOO: u64 = 1;
- | -----^^^^^^^^^^^^^^
- | |
- | help: try a static value: `pub static`
- |
- = note: requested on the command line with `-F no-mangle-const-items`
-
-error: const items should never be `#[no_mangle]`
- --> $DIR/lint-unexported-no-mangle.rs:12:1
- |
-LL | pub const PUB_FOO: u64 = 1;
- | ---------^^^^^^^^^^^^^^^^^^
- | |
- | help: try a static value: `pub static`
-
-error: aborting due to 2 previous errors; 6 warnings emitted
-
diff --git a/src/test/ui/lint/lint-unknown-feature-default.rs b/src/test/ui/lint/lint-unknown-feature-default.rs
deleted file mode 100644
index 84a2e5a4b..000000000
--- a/src/test/ui/lint/lint-unknown-feature-default.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// check-pass
-
-// Tests the default for the unused_features lint
-
-#![allow(stable_features)]
-// FIXME(#44232) we should warn that this isn't used.
-#![feature(rust1)]
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-unknown-feature.rs b/src/test/ui/lint/lint-unknown-feature.rs
deleted file mode 100644
index 1af8d4ff8..000000000
--- a/src/test/ui/lint/lint-unknown-feature.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// check-pass
-
-#![warn(unused_features)]
-
-#![allow(stable_features)]
-// FIXME(#44232) we should warn that this isn't used.
-#![feature(rust1)]
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-unknown-lint-cmdline.rs b/src/test/ui/lint/lint-unknown-lint-cmdline.rs
deleted file mode 100644
index 7f3f55fba..000000000
--- a/src/test/ui/lint/lint-unknown-lint-cmdline.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// compile-flags:-D bogus -D dead_cod
-
-// error-pattern:unknown lint: `bogus`
-// error-pattern:requested on the command line with `-D bogus`
-// error-pattern:unknown lint: `dead_cod`
-// error-pattern:requested on the command line with `-D dead_cod`
-// error-pattern:did you mean: `dead_code`
-
-fn main() { }
diff --git a/src/test/ui/lint/lint-unknown-lint-cmdline.stderr b/src/test/ui/lint/lint-unknown-lint-cmdline.stderr
deleted file mode 100644
index 3855d5527..000000000
--- a/src/test/ui/lint/lint-unknown-lint-cmdline.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0602]: unknown lint: `bogus`
- |
- = note: requested on the command line with `-D bogus`
-
-error[E0602]: unknown lint: `dead_cod`
- |
- = help: did you mean: `dead_code`
- = note: requested on the command line with `-D dead_cod`
-
-error[E0602]: unknown lint: `bogus`
- |
- = note: requested on the command line with `-D bogus`
-
-error[E0602]: unknown lint: `dead_cod`
- |
- = help: did you mean: `dead_code`
- = note: requested on the command line with `-D dead_cod`
-
-error: aborting due to 4 previous errors
-
-For more information about this error, try `rustc --explain E0602`.
diff --git a/src/test/ui/lint/lint-unknown-lint.rs b/src/test/ui/lint/lint-unknown-lint.rs
deleted file mode 100644
index 2d842d514..000000000
--- a/src/test/ui/lint/lint-unknown-lint.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![deny(unknown_lints)]
-
-#![allow(not_a_real_lint)] //~ ERROR unknown lint
-
-#![deny(dead_cod)] //~ ERROR unknown lint
- //~| HELP did you mean
- //~| SUGGESTION dead_code
-
-#![deny(rust_2018_idiots)] //~ ERROR unknown lint
- //~| HELP did you mean
- //~| SUGGESTION rust_2018_idioms
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-unknown-lint.stderr b/src/test/ui/lint/lint-unknown-lint.stderr
deleted file mode 100644
index 0cb6b4957..000000000
--- a/src/test/ui/lint/lint-unknown-lint.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: unknown lint: `not_a_real_lint`
- --> $DIR/lint-unknown-lint.rs:3:10
- |
-LL | #![allow(not_a_real_lint)]
- | ^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-unknown-lint.rs:1:9
- |
-LL | #![deny(unknown_lints)]
- | ^^^^^^^^^^^^^
-
-error: unknown lint: `dead_cod`
- --> $DIR/lint-unknown-lint.rs:5:9
- |
-LL | #![deny(dead_cod)]
- | ^^^^^^^^ help: did you mean: `dead_code`
-
-error: unknown lint: `rust_2018_idiots`
- --> $DIR/lint-unknown-lint.rs:9:9
- |
-LL | #![deny(rust_2018_idiots)]
- | ^^^^^^^^^^^^^^^^ help: did you mean: `rust_2018_idioms`
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/lint-unnecessary-import-braces.rs b/src/test/ui/lint/lint-unnecessary-import-braces.rs
deleted file mode 100644
index 9a3398a87..000000000
--- a/src/test/ui/lint/lint-unnecessary-import-braces.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-#![deny(unused_import_braces)]
-
-use test::{A}; //~ ERROR braces around A is unnecessary
-
-mod test {
- use test::{self}; // OK
- use test::{self as rename}; // OK
- pub struct A;
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/lint-unnecessary-import-braces.stderr b/src/test/ui/lint/lint-unnecessary-import-braces.stderr
deleted file mode 100644
index 2d289404d..000000000
--- a/src/test/ui/lint/lint-unnecessary-import-braces.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: braces around A is unnecessary
- --> $DIR/lint-unnecessary-import-braces.rs:3:1
- |
-LL | use test::{A};
- | ^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-unnecessary-import-braces.rs:1:9
- |
-LL | #![deny(unused_import_braces)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/lint-unnecessary-parens.fixed b/src/test/ui/lint/lint-unnecessary-parens.fixed
deleted file mode 100644
index 9c144324f..000000000
--- a/src/test/ui/lint/lint-unnecessary-parens.fixed
+++ /dev/null
@@ -1,81 +0,0 @@
-// run-rustfix
-
-#![deny(unused_parens)]
-#![allow(while_true)] // for rustfix
-
-#[derive(Eq, PartialEq)]
-struct X { y: bool }
-impl X {
- fn foo(&self, conjunct: bool) -> bool { self.y && conjunct }
-}
-
-fn foo() -> isize {
- return 1; //~ ERROR unnecessary parentheses around `return` value
-}
-fn bar(y: bool) -> X {
- return X { y }; //~ ERROR unnecessary parentheses around `return` value
-}
-
-pub fn unused_parens_around_return_type() -> u32 { //~ ERROR unnecessary parentheses around type
- panic!()
-}
-
-pub fn unused_parens_around_block_return() -> u32 {
- let _foo = {
- 5 //~ ERROR unnecessary parentheses around block return value
- };
- 5 //~ ERROR unnecessary parentheses around block return value
-}
-
-pub trait Trait {
- fn test(&self);
-}
-
-pub fn passes_unused_parens_lint() -> &'static (dyn Trait) {
- panic!()
-}
-
-macro_rules! baz {
- ($($foo:expr),+) => {
- ($($foo),*)
- }
-}
-
-pub const CONST_ITEM: usize = 10; //~ ERROR unnecessary parentheses around assigned value
-pub static STATIC_ITEM: usize = 10; //~ ERROR unnecessary parentheses around assigned value
-
-fn main() {
- foo();
- bar(true); //~ ERROR unnecessary parentheses around function argument
-
- if true {} //~ ERROR unnecessary parentheses around `if` condition
- while true {} //~ ERROR unnecessary parentheses around `while` condition
- match true { //~ ERROR unnecessary parentheses around `match` scrutinee expression
- _ => {}
- }
- if let 1 = 1 {} //~ ERROR unnecessary parentheses around `let` scrutinee expression
- while let 1 = 2 {} //~ ERROR unnecessary parentheses around `let` scrutinee expression
- let v = X { y: false };
- // struct lits needs parens, so these shouldn't warn.
- if (v == X { y: true }) {}
- if (X { y: true } == v) {}
- if (X { y: false }.y) {}
- // this shouldn't warn, because the parens are necessary to disambiguate let chains
- if let true = (true && false) {}
-
- while (X { y: false }.foo(true)) {}
- while (true | X { y: false }.y) {}
-
- match (X { y: false }) {
- _ => {}
- }
-
- X { y: false }.foo(true); //~ ERROR unnecessary parentheses around method argument
-
- let mut _a = 0; //~ ERROR unnecessary parentheses around assigned value
- _a = 0; //~ ERROR unnecessary parentheses around assigned value
- _a += 1; //~ ERROR unnecessary parentheses around assigned value
-
- let _a = baz!(3, 4);
- let _b = baz!(3);
-}
diff --git a/src/test/ui/lint/lint-unnecessary-parens.rs b/src/test/ui/lint/lint-unnecessary-parens.rs
deleted file mode 100644
index 4fd9cabb3..000000000
--- a/src/test/ui/lint/lint-unnecessary-parens.rs
+++ /dev/null
@@ -1,81 +0,0 @@
-// run-rustfix
-
-#![deny(unused_parens)]
-#![allow(while_true)] // for rustfix
-
-#[derive(Eq, PartialEq)]
-struct X { y: bool }
-impl X {
- fn foo(&self, conjunct: bool) -> bool { self.y && conjunct }
-}
-
-fn foo() -> isize {
- return (1); //~ ERROR unnecessary parentheses around `return` value
-}
-fn bar(y: bool) -> X {
- return (X { y }); //~ ERROR unnecessary parentheses around `return` value
-}
-
-pub fn unused_parens_around_return_type() -> (u32) { //~ ERROR unnecessary parentheses around type
- panic!()
-}
-
-pub fn unused_parens_around_block_return() -> u32 {
- let _foo = {
- (5) //~ ERROR unnecessary parentheses around block return value
- };
- (5) //~ ERROR unnecessary parentheses around block return value
-}
-
-pub trait Trait {
- fn test(&self);
-}
-
-pub fn passes_unused_parens_lint() -> &'static (dyn Trait) {
- panic!()
-}
-
-macro_rules! baz {
- ($($foo:expr),+) => {
- ($($foo),*)
- }
-}
-
-pub const CONST_ITEM: usize = (10); //~ ERROR unnecessary parentheses around assigned value
-pub static STATIC_ITEM: usize = (10); //~ ERROR unnecessary parentheses around assigned value
-
-fn main() {
- foo();
- bar((true)); //~ ERROR unnecessary parentheses around function argument
-
- if (true) {} //~ ERROR unnecessary parentheses around `if` condition
- while (true) {} //~ ERROR unnecessary parentheses around `while` condition
- match (true) { //~ ERROR unnecessary parentheses around `match` scrutinee expression
- _ => {}
- }
- if let 1 = (1) {} //~ ERROR unnecessary parentheses around `let` scrutinee expression
- while let 1 = (2) {} //~ ERROR unnecessary parentheses around `let` scrutinee expression
- let v = X { y: false };
- // struct lits needs parens, so these shouldn't warn.
- if (v == X { y: true }) {}
- if (X { y: true } == v) {}
- if (X { y: false }.y) {}
- // this shouldn't warn, because the parens are necessary to disambiguate let chains
- if let true = (true && false) {}
-
- while (X { y: false }.foo(true)) {}
- while (true | X { y: false }.y) {}
-
- match (X { y: false }) {
- _ => {}
- }
-
- X { y: false }.foo((true)); //~ ERROR unnecessary parentheses around method argument
-
- let mut _a = (0); //~ ERROR unnecessary parentheses around assigned value
- _a = (0); //~ ERROR unnecessary parentheses around assigned value
- _a += (1); //~ ERROR unnecessary parentheses around assigned value
-
- let _a = baz!(3, 4);
- let _b = baz!(3);
-}
diff --git a/src/test/ui/lint/lint-unnecessary-parens.stderr b/src/test/ui/lint/lint-unnecessary-parens.stderr
deleted file mode 100644
index e13620f06..000000000
--- a/src/test/ui/lint/lint-unnecessary-parens.stderr
+++ /dev/null
@@ -1,211 +0,0 @@
-error: unnecessary parentheses around `return` value
- --> $DIR/lint-unnecessary-parens.rs:13:12
- |
-LL | return (1);
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/lint-unnecessary-parens.rs:3:9
- |
-LL | #![deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - return (1);
-LL + return 1;
- |
-
-error: unnecessary parentheses around `return` value
- --> $DIR/lint-unnecessary-parens.rs:16:12
- |
-LL | return (X { y });
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - return (X { y });
-LL + return X { y };
- |
-
-error: unnecessary parentheses around type
- --> $DIR/lint-unnecessary-parens.rs:19:46
- |
-LL | pub fn unused_parens_around_return_type() -> (u32) {
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - pub fn unused_parens_around_return_type() -> (u32) {
-LL + pub fn unused_parens_around_return_type() -> u32 {
- |
-
-error: unnecessary parentheses around block return value
- --> $DIR/lint-unnecessary-parens.rs:25:9
- |
-LL | (5)
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (5)
-LL + 5
- |
-
-error: unnecessary parentheses around block return value
- --> $DIR/lint-unnecessary-parens.rs:27:5
- |
-LL | (5)
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (5)
-LL + 5
- |
-
-error: unnecessary parentheses around assigned value
- --> $DIR/lint-unnecessary-parens.rs:44:31
- |
-LL | pub const CONST_ITEM: usize = (10);
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - pub const CONST_ITEM: usize = (10);
-LL + pub const CONST_ITEM: usize = 10;
- |
-
-error: unnecessary parentheses around assigned value
- --> $DIR/lint-unnecessary-parens.rs:45:33
- |
-LL | pub static STATIC_ITEM: usize = (10);
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - pub static STATIC_ITEM: usize = (10);
-LL + pub static STATIC_ITEM: usize = 10;
- |
-
-error: unnecessary parentheses around function argument
- --> $DIR/lint-unnecessary-parens.rs:49:9
- |
-LL | bar((true));
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - bar((true));
-LL + bar(true);
- |
-
-error: unnecessary parentheses around `if` condition
- --> $DIR/lint-unnecessary-parens.rs:51:8
- |
-LL | if (true) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if (true) {}
-LL + if true {}
- |
-
-error: unnecessary parentheses around `while` condition
- --> $DIR/lint-unnecessary-parens.rs:52:11
- |
-LL | while (true) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - while (true) {}
-LL + while true {}
- |
-
-error: unnecessary parentheses around `match` scrutinee expression
- --> $DIR/lint-unnecessary-parens.rs:53:11
- |
-LL | match (true) {
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - match (true) {
-LL + match true {
- |
-
-error: unnecessary parentheses around `let` scrutinee expression
- --> $DIR/lint-unnecessary-parens.rs:56:16
- |
-LL | if let 1 = (1) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if let 1 = (1) {}
-LL + if let 1 = 1 {}
- |
-
-error: unnecessary parentheses around `let` scrutinee expression
- --> $DIR/lint-unnecessary-parens.rs:57:19
- |
-LL | while let 1 = (2) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - while let 1 = (2) {}
-LL + while let 1 = 2 {}
- |
-
-error: unnecessary parentheses around method argument
- --> $DIR/lint-unnecessary-parens.rs:73:24
- |
-LL | X { y: false }.foo((true));
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - X { y: false }.foo((true));
-LL + X { y: false }.foo(true);
- |
-
-error: unnecessary parentheses around assigned value
- --> $DIR/lint-unnecessary-parens.rs:75:18
- |
-LL | let mut _a = (0);
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - let mut _a = (0);
-LL + let mut _a = 0;
- |
-
-error: unnecessary parentheses around assigned value
- --> $DIR/lint-unnecessary-parens.rs:76:10
- |
-LL | _a = (0);
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - _a = (0);
-LL + _a = 0;
- |
-
-error: unnecessary parentheses around assigned value
- --> $DIR/lint-unnecessary-parens.rs:77:11
- |
-LL | _a += (1);
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - _a += (1);
-LL + _a += 1;
- |
-
-error: aborting due to 17 previous errors
-
diff --git a/src/test/ui/lint/lint-unsafe-code.rs b/src/test/ui/lint/lint-unsafe-code.rs
deleted file mode 100644
index b72e4c3a9..000000000
--- a/src/test/ui/lint/lint-unsafe-code.rs
+++ /dev/null
@@ -1,130 +0,0 @@
-#![allow(unused_unsafe)]
-#![allow(dead_code)]
-#![deny(unsafe_code)]
-
-struct Bar;
-struct Bar2;
-struct Bar3;
-
-#[allow(unsafe_code)]
-mod allowed_unsafe {
- fn allowed() { unsafe {} }
- unsafe fn also_allowed() {}
- unsafe trait AllowedUnsafe { }
- unsafe impl AllowedUnsafe for super::Bar {}
- #[no_mangle] fn allowed2() {}
- #[export_name = "foo"] fn allowed3() {}
-}
-
-macro_rules! unsafe_in_macro {
- () => {{
- #[no_mangle] fn foo() {} //~ ERROR: declaration of a `no_mangle` function
- #[no_mangle] static FOO: u32 = 5; //~ ERROR: declaration of a `no_mangle` static
- #[export_name = "bar"] fn bar() {}
- //~^ ERROR: declaration of a function with `export_name`
- #[export_name = "BAR"] static BAR: u32 = 5;
- //~^ ERROR: declaration of a static with `export_name`
- unsafe {} //~ ERROR: usage of an `unsafe` block
- }}
-}
-
-#[no_mangle] fn foo() {} //~ ERROR: declaration of a `no_mangle` function
-#[no_mangle] static FOO: u32 = 5; //~ ERROR: declaration of a `no_mangle` static
-
-trait AssocFnTrait {
- fn foo();
-}
-
-struct AssocFnFoo;
-
-impl AssocFnFoo {
- #[no_mangle] fn foo() {} //~ ERROR: declaration of a `no_mangle` method
-}
-
-impl AssocFnTrait for AssocFnFoo {
- #[no_mangle] fn foo() {} //~ ERROR: declaration of a `no_mangle` method
-}
-
-#[export_name = "bar"] fn bar() {} //~ ERROR: declaration of a function with `export_name`
-#[export_name = "BAR"] static BAR: u32 = 5; //~ ERROR: declaration of a static with `export_name`
-
-#[link_section = ".example_section"] fn uwu() {} //~ ERROR: declaration of a function with `link_section`
-#[link_section = ".example_section"] static UWU: u32 = 5; //~ ERROR: declaration of a static with `link_section`
-
-struct AssocFnBar;
-
-impl AssocFnBar {
- #[export_name = "bar"] fn bar() {} //~ ERROR: declaration of a method with `export_name`
-}
-
-impl AssocFnTrait for AssocFnBar {
- #[export_name = "bar"] fn foo() {} //~ ERROR: declaration of a method with `export_name`
-}
-
-unsafe fn baz() {} //~ ERROR: declaration of an `unsafe` function
-unsafe trait Foo {} //~ ERROR: declaration of an `unsafe` trait
-unsafe impl Foo for Bar {} //~ ERROR: implementation of an `unsafe` trait
-
-trait Baz {
- unsafe fn baz(&self); //~ ERROR: declaration of an `unsafe` method
- unsafe fn provided(&self) {} //~ ERROR: implementation of an `unsafe` method
- unsafe fn provided_override(&self) {} //~ ERROR: implementation of an `unsafe` method
-}
-
-impl Baz for Bar {
- unsafe fn baz(&self) {} //~ ERROR: implementation of an `unsafe` method
- unsafe fn provided_override(&self) {} //~ ERROR: implementation of an `unsafe` method
-}
-
-
-#[allow(unsafe_code)]
-trait A {
- unsafe fn allowed_unsafe(&self);
- unsafe fn allowed_unsafe_provided(&self) {}
-}
-
-#[allow(unsafe_code)]
-impl Baz for Bar2 {
- unsafe fn baz(&self) {}
- unsafe fn provided_override(&self) {}
-}
-
-impl Baz for Bar3 {
- #[allow(unsafe_code)]
- unsafe fn baz(&self) {}
- unsafe fn provided_override(&self) {} //~ ERROR: implementation of an `unsafe` method
-}
-
-#[allow(unsafe_code)]
-unsafe trait B {
- fn dummy(&self) {}
-}
-
-trait C {
- #[allow(unsafe_code)]
- unsafe fn baz(&self);
- unsafe fn provided(&self) {} //~ ERROR: implementation of an `unsafe` method
-}
-
-impl C for Bar {
- #[allow(unsafe_code)]
- unsafe fn baz(&self) {}
- unsafe fn provided(&self) {} //~ ERROR: implementation of an `unsafe` method
-}
-
-impl C for Bar2 {
- unsafe fn baz(&self) {} //~ ERROR: implementation of an `unsafe` method
-}
-
-trait D {
- #[allow(unsafe_code)]
- unsafe fn unsafe_provided(&self) {}
-}
-
-impl D for Bar {}
-
-fn main() {
- unsafe {} //~ ERROR: usage of an `unsafe` block
-
- unsafe_in_macro!()
-}
diff --git a/src/test/ui/lint/lint-unsafe-code.stderr b/src/test/ui/lint/lint-unsafe-code.stderr
deleted file mode 100644
index 037f0a832..000000000
--- a/src/test/ui/lint/lint-unsafe-code.stderr
+++ /dev/null
@@ -1,224 +0,0 @@
-error: declaration of a `no_mangle` function
- --> $DIR/lint-unsafe-code.rs:31:1
- |
-LL | #[no_mangle] fn foo() {}
- | ^^^^^^^^^^^^
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
-note: the lint level is defined here
- --> $DIR/lint-unsafe-code.rs:3:9
- |
-LL | #![deny(unsafe_code)]
- | ^^^^^^^^^^^
-
-error: declaration of a `no_mangle` static
- --> $DIR/lint-unsafe-code.rs:32:1
- |
-LL | #[no_mangle] static FOO: u32 = 5;
- | ^^^^^^^^^^^^
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
-
-error: declaration of a `no_mangle` method
- --> $DIR/lint-unsafe-code.rs:41:5
- |
-LL | #[no_mangle] fn foo() {}
- | ^^^^^^^^^^^^
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
-
-error: declaration of a `no_mangle` method
- --> $DIR/lint-unsafe-code.rs:45:5
- |
-LL | #[no_mangle] fn foo() {}
- | ^^^^^^^^^^^^
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
-
-error: declaration of a function with `export_name`
- --> $DIR/lint-unsafe-code.rs:48:1
- |
-LL | #[export_name = "bar"] fn bar() {}
- | ^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
-
-error: declaration of a static with `export_name`
- --> $DIR/lint-unsafe-code.rs:49:1
- |
-LL | #[export_name = "BAR"] static BAR: u32 = 5;
- | ^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
-
-error: declaration of a function with `link_section`
- --> $DIR/lint-unsafe-code.rs:51:1
- |
-LL | #[link_section = ".example_section"] fn uwu() {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the program's behavior with overridden link sections on items is unpredictable and Rust cannot provide guarantees when you manually override them
-
-error: declaration of a static with `link_section`
- --> $DIR/lint-unsafe-code.rs:52:1
- |
-LL | #[link_section = ".example_section"] static UWU: u32 = 5;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the program's behavior with overridden link sections on items is unpredictable and Rust cannot provide guarantees when you manually override them
-
-error: declaration of a method with `export_name`
- --> $DIR/lint-unsafe-code.rs:57:5
- |
-LL | #[export_name = "bar"] fn bar() {}
- | ^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
-
-error: declaration of a method with `export_name`
- --> $DIR/lint-unsafe-code.rs:61:5
- |
-LL | #[export_name = "bar"] fn foo() {}
- | ^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
-
-error: declaration of an `unsafe` function
- --> $DIR/lint-unsafe-code.rs:64:1
- |
-LL | unsafe fn baz() {}
- | ^^^^^^^^^^^^^^^^^^
-
-error: declaration of an `unsafe` trait
- --> $DIR/lint-unsafe-code.rs:65:1
- |
-LL | unsafe trait Foo {}
- | ^^^^^^^^^^^^^^^^^^^
-
-error: implementation of an `unsafe` trait
- --> $DIR/lint-unsafe-code.rs:66:1
- |
-LL | unsafe impl Foo for Bar {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: declaration of an `unsafe` method
- --> $DIR/lint-unsafe-code.rs:69:5
- |
-LL | unsafe fn baz(&self);
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: implementation of an `unsafe` method
- --> $DIR/lint-unsafe-code.rs:70:5
- |
-LL | unsafe fn provided(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: implementation of an `unsafe` method
- --> $DIR/lint-unsafe-code.rs:71:5
- |
-LL | unsafe fn provided_override(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: implementation of an `unsafe` method
- --> $DIR/lint-unsafe-code.rs:75:5
- |
-LL | unsafe fn baz(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^
-
-error: implementation of an `unsafe` method
- --> $DIR/lint-unsafe-code.rs:76:5
- |
-LL | unsafe fn provided_override(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: implementation of an `unsafe` method
- --> $DIR/lint-unsafe-code.rs:95:5
- |
-LL | unsafe fn provided_override(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: implementation of an `unsafe` method
- --> $DIR/lint-unsafe-code.rs:106:5
- |
-LL | unsafe fn provided(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: implementation of an `unsafe` method
- --> $DIR/lint-unsafe-code.rs:112:5
- |
-LL | unsafe fn provided(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: implementation of an `unsafe` method
- --> $DIR/lint-unsafe-code.rs:116:5
- |
-LL | unsafe fn baz(&self) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^
-
-error: usage of an `unsafe` block
- --> $DIR/lint-unsafe-code.rs:127:5
- |
-LL | unsafe {}
- | ^^^^^^^^^
-
-error: declaration of a `no_mangle` function
- --> $DIR/lint-unsafe-code.rs:21:9
- |
-LL | #[no_mangle] fn foo() {}
- | ^^^^^^^^^^^^
-...
-LL | unsafe_in_macro!()
- | ------------------ in this macro invocation
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
- = note: this error originates in the macro `unsafe_in_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: declaration of a `no_mangle` static
- --> $DIR/lint-unsafe-code.rs:22:9
- |
-LL | #[no_mangle] static FOO: u32 = 5;
- | ^^^^^^^^^^^^
-...
-LL | unsafe_in_macro!()
- | ------------------ in this macro invocation
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
- = note: this error originates in the macro `unsafe_in_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: declaration of a function with `export_name`
- --> $DIR/lint-unsafe-code.rs:23:9
- |
-LL | #[export_name = "bar"] fn bar() {}
- | ^^^^^^^^^^^^^^^^^^^^^^
-...
-LL | unsafe_in_macro!()
- | ------------------ in this macro invocation
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
- = note: this error originates in the macro `unsafe_in_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: declaration of a static with `export_name`
- --> $DIR/lint-unsafe-code.rs:25:9
- |
-LL | #[export_name = "BAR"] static BAR: u32 = 5;
- | ^^^^^^^^^^^^^^^^^^^^^^
-...
-LL | unsafe_in_macro!()
- | ------------------ in this macro invocation
- |
- = note: the linker's behavior with multiple libraries exporting duplicate symbol names is undefined and Rust cannot provide guarantees when you manually override them
- = note: this error originates in the macro `unsafe_in_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: usage of an `unsafe` block
- --> $DIR/lint-unsafe-code.rs:27:9
- |
-LL | unsafe {}
- | ^^^^^^^^^
-...
-LL | unsafe_in_macro!()
- | ------------------ in this macro invocation
- |
- = note: this error originates in the macro `unsafe_in_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 28 previous errors
-
diff --git a/src/test/ui/lint/lint-uppercase-variables.rs b/src/test/ui/lint/lint-uppercase-variables.rs
deleted file mode 100644
index b590fa697..000000000
--- a/src/test/ui/lint/lint-uppercase-variables.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-#![warn(unused)]
-#![allow(dead_code)]
-#![deny(non_snake_case)]
-
-mod foo {
- pub enum Foo { Foo }
-}
-
-struct Something {
- X: usize //~ ERROR structure field `X` should have a snake case name
-}
-
-fn test(Xx: usize) { //~ ERROR variable `Xx` should have a snake case name
- println!("{}", Xx);
-}
-
-fn main() {
- let Test: usize = 0; //~ ERROR variable `Test` should have a snake case name
- println!("{}", Test);
-
- match foo::Foo::Foo {
- Foo => {}
-//~^ ERROR variable `Foo` should have a snake case name
-//~^^ WARN `Foo` is named the same as one of the variants of the type `Foo`
-//~^^^ WARN unused variable: `Foo`
- }
-
- let Foo = foo::Foo::Foo;
- //~^ ERROR variable `Foo` should have a snake case name
- //~^^ WARN `Foo` is named the same as one of the variants of the type `Foo`
- //~^^^ WARN unused variable: `Foo`
-
- fn in_param(Foo: foo::Foo) {}
- //~^ ERROR variable `Foo` should have a snake case name
- //~^^ WARN `Foo` is named the same as one of the variants of the type `Foo`
- //~^^^ WARN unused variable: `Foo`
-
- test(1);
-
- let _ = Something { X: 0 };
-}
diff --git a/src/test/ui/lint/lint-uppercase-variables.stderr b/src/test/ui/lint/lint-uppercase-variables.stderr
deleted file mode 100644
index 71b24a835..000000000
--- a/src/test/ui/lint/lint-uppercase-variables.stderr
+++ /dev/null
@@ -1,90 +0,0 @@
-warning[E0170]: pattern binding `Foo` is named the same as one of the variants of the type `Foo`
- --> $DIR/lint-uppercase-variables.rs:22:9
- |
-LL | Foo => {}
- | ^^^ help: to match on the variant, qualify the path: `Foo::Foo`
- |
- = note: `#[warn(bindings_with_variant_name)]` on by default
-
-warning[E0170]: pattern binding `Foo` is named the same as one of the variants of the type `Foo`
- --> $DIR/lint-uppercase-variables.rs:28:9
- |
-LL | let Foo = foo::Foo::Foo;
- | ^^^ help: to match on the variant, qualify the path: `Foo::Foo`
-
-warning[E0170]: pattern binding `Foo` is named the same as one of the variants of the type `Foo`
- --> $DIR/lint-uppercase-variables.rs:33:17
- |
-LL | fn in_param(Foo: foo::Foo) {}
- | ^^^ help: to match on the variant, qualify the path: `Foo::Foo`
-
-warning: unused variable: `Foo`
- --> $DIR/lint-uppercase-variables.rs:22:9
- |
-LL | Foo => {}
- | ^^^ help: if this is intentional, prefix it with an underscore: `_Foo`
- |
-note: the lint level is defined here
- --> $DIR/lint-uppercase-variables.rs:1:9
- |
-LL | #![warn(unused)]
- | ^^^^^^
- = note: `#[warn(unused_variables)]` implied by `#[warn(unused)]`
-
-warning: unused variable: `Foo`
- --> $DIR/lint-uppercase-variables.rs:28:9
- |
-LL | let Foo = foo::Foo::Foo;
- | ^^^ help: if this is intentional, prefix it with an underscore: `_Foo`
-
-warning: unused variable: `Foo`
- --> $DIR/lint-uppercase-variables.rs:33:17
- |
-LL | fn in_param(Foo: foo::Foo) {}
- | ^^^ help: if this is intentional, prefix it with an underscore: `_Foo`
-
-error: structure field `X` should have a snake case name
- --> $DIR/lint-uppercase-variables.rs:10:5
- |
-LL | X: usize
- | ^ help: convert the identifier to snake case (notice the capitalization): `x`
- |
-note: the lint level is defined here
- --> $DIR/lint-uppercase-variables.rs:3:9
- |
-LL | #![deny(non_snake_case)]
- | ^^^^^^^^^^^^^^
-
-error: variable `Xx` should have a snake case name
- --> $DIR/lint-uppercase-variables.rs:13:9
- |
-LL | fn test(Xx: usize) {
- | ^^ help: convert the identifier to snake case (notice the capitalization): `xx`
-
-error: variable `Test` should have a snake case name
- --> $DIR/lint-uppercase-variables.rs:18:9
- |
-LL | let Test: usize = 0;
- | ^^^^ help: convert the identifier to snake case: `test`
-
-error: variable `Foo` should have a snake case name
- --> $DIR/lint-uppercase-variables.rs:22:9
- |
-LL | Foo => {}
- | ^^^ help: convert the identifier to snake case (notice the capitalization): `foo`
-
-error: variable `Foo` should have a snake case name
- --> $DIR/lint-uppercase-variables.rs:28:9
- |
-LL | let Foo = foo::Foo::Foo;
- | ^^^ help: convert the identifier to snake case (notice the capitalization): `foo`
-
-error: variable `Foo` should have a snake case name
- --> $DIR/lint-uppercase-variables.rs:33:17
- |
-LL | fn in_param(Foo: foo::Foo) {}
- | ^^^ help: convert the identifier to snake case (notice the capitalization): `foo`
-
-error: aborting due to 6 previous errors; 6 warnings emitted
-
-For more information about this error, try `rustc --explain E0170`.
diff --git a/src/test/ui/lint/lint_pre_expansion_extern_module_aux.rs b/src/test/ui/lint/lint_pre_expansion_extern_module_aux.rs
deleted file mode 100644
index 71dec40ea..000000000
--- a/src/test/ui/lint/lint_pre_expansion_extern_module_aux.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-// ignore-test: not a test
-
-pub fn try() {}
diff --git a/src/test/ui/lint/lints-in-foreign-macros.rs b/src/test/ui/lint/lints-in-foreign-macros.rs
deleted file mode 100644
index 1e8b6788a..000000000
--- a/src/test/ui/lint/lints-in-foreign-macros.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// aux-build:lints-in-foreign-macros.rs
-// check-pass
-
-#![warn(unused_imports)] //~ missing documentation for the crate [missing_docs]
-#![warn(missing_docs)]
-
-#[macro_use]
-extern crate lints_in_foreign_macros;
-
-macro_rules! foo {
- () => {use std::string::ToString;} //~ WARN: unused import
-}
-
-mod a { foo!(); }
-mod b { bar!(); }
-mod c { baz!(use std::string::ToString;); } //~ WARN: unused import
-mod d { baz2!(use std::string::ToString;); } //~ WARN: unused import
-baz!(pub fn undocumented() {}); //~ WARN: missing documentation for a function
-baz2!(pub fn undocumented2() {}); //~ WARN: missing documentation for a function
-
-fn main() {}
diff --git a/src/test/ui/lint/lints-in-foreign-macros.stderr b/src/test/ui/lint/lints-in-foreign-macros.stderr
deleted file mode 100644
index f20e16287..000000000
--- a/src/test/ui/lint/lints-in-foreign-macros.stderr
+++ /dev/null
@@ -1,60 +0,0 @@
-warning: unused import: `std::string::ToString`
- --> $DIR/lints-in-foreign-macros.rs:11:16
- |
-LL | () => {use std::string::ToString;}
- | ^^^^^^^^^^^^^^^^^^^^^
-...
-LL | mod a { foo!(); }
- | ------ in this macro invocation
- |
-note: the lint level is defined here
- --> $DIR/lints-in-foreign-macros.rs:4:9
- |
-LL | #![warn(unused_imports)]
- | ^^^^^^^^^^^^^^
- = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-warning: unused import: `std::string::ToString`
- --> $DIR/lints-in-foreign-macros.rs:16:18
- |
-LL | mod c { baz!(use std::string::ToString;); }
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: unused import: `std::string::ToString`
- --> $DIR/lints-in-foreign-macros.rs:17:19
- |
-LL | mod d { baz2!(use std::string::ToString;); }
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: missing documentation for the crate
- --> $DIR/lints-in-foreign-macros.rs:4:1
- |
-LL | / #![warn(unused_imports)]
-LL | | #![warn(missing_docs)]
-LL | |
-LL | | #[macro_use]
-... |
-LL | |
-LL | | fn main() {}
- | |____________^
- |
-note: the lint level is defined here
- --> $DIR/lints-in-foreign-macros.rs:5:9
- |
-LL | #![warn(missing_docs)]
- | ^^^^^^^^^^^^
-
-warning: missing documentation for a function
- --> $DIR/lints-in-foreign-macros.rs:18:6
- |
-LL | baz!(pub fn undocumented() {});
- | ^^^^^^^^^^^^^^^^^^^^^
-
-warning: missing documentation for a function
- --> $DIR/lints-in-foreign-macros.rs:19:7
- |
-LL | baz2!(pub fn undocumented2() {});
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-warning: 6 warnings emitted
-
diff --git a/src/test/ui/lint/missing-doc-private-macro.rs b/src/test/ui/lint/missing-doc-private-macro.rs
deleted file mode 100644
index 0d4332ed0..000000000
--- a/src/test/ui/lint/missing-doc-private-macro.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-// Checks that undocumented private macros will not generate `missing_docs`
-// lints, but public ones will.
-//
-// This is a regression test for issue #57569
-#![deny(missing_docs)]
-#![feature(decl_macro)]
-//! Empty documentation.
-
-macro new_style_private_macro {
- () => ()
-}
-
-pub(crate) macro new_style_crate_macro {
- () => ()
-}
-
-macro_rules! old_style_private_macro {
- () => ()
-}
-
-mod submodule {
- pub macro new_style_macro_in_private_module {
- () => ()
- }
-
- macro_rules! old_style_mod_private_macro {
- () => ()
- }
-
- #[macro_export]
- macro_rules! exported_to_top_level {
- //~^ ERROR missing documentation for a macro
- () => ()
- }
-}
-
-pub macro top_level_pub_macro {
- //~^ ERROR missing documentation for a macro
- () => ()
-}
-
-/// Empty documentation.
-pub fn main() {}
diff --git a/src/test/ui/lint/missing-doc-private-macro.stderr b/src/test/ui/lint/missing-doc-private-macro.stderr
deleted file mode 100644
index 979b007d0..000000000
--- a/src/test/ui/lint/missing-doc-private-macro.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: missing documentation for a macro
- --> $DIR/missing-doc-private-macro.rs:31:5
- |
-LL | macro_rules! exported_to_top_level {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/missing-doc-private-macro.rs:5:9
- |
-LL | #![deny(missing_docs)]
- | ^^^^^^^^^^^^
-
-error: missing documentation for a macro
- --> $DIR/missing-doc-private-macro.rs:37:1
- |
-LL | pub macro top_level_pub_macro {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/must_not_suspend/boxed.rs b/src/test/ui/lint/must_not_suspend/boxed.rs
deleted file mode 100644
index 1f823fc55..000000000
--- a/src/test/ui/lint/must_not_suspend/boxed.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// edition:2018
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend = "You gotta use Umm's, ya know?"]
-struct Umm {
- i: i64
-}
-
-
-fn bar() -> Box<Umm> {
- Box::new(Umm {
- i: 1
- })
-}
-
-async fn other() {}
-
-pub async fn uhoh() {
- let _guard = bar(); //~ ERROR boxed `Umm` held across
- other().await;
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/boxed.stderr b/src/test/ui/lint/must_not_suspend/boxed.stderr
deleted file mode 100644
index 9efc7b069..000000000
--- a/src/test/ui/lint/must_not_suspend/boxed.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: boxed `Umm` held across a suspend point, but should not be
- --> $DIR/boxed.rs:20:9
- |
-LL | let _guard = bar();
- | ^^^^^^
-LL | other().await;
- | ------ the value is held across this suspend point
- |
-note: You gotta use Umm's, ya know?
- --> $DIR/boxed.rs:20:9
- |
-LL | let _guard = bar();
- | ^^^^^^
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/boxed.rs:20:9
- |
-LL | let _guard = bar();
- | ^^^^^^
-note: the lint level is defined here
- --> $DIR/boxed.rs:3:9
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/must_not_suspend/dedup.rs b/src/test/ui/lint/must_not_suspend/dedup.rs
deleted file mode 100644
index 81a08579b..000000000
--- a/src/test/ui/lint/must_not_suspend/dedup.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// edition:2018
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend]
-struct No {}
-
-async fn shushspend() {}
-
-async fn wheeee<T>(t: T) {
- shushspend().await;
- drop(t);
-}
-
-async fn yes() {
- wheeee(&No {}).await; //~ ERROR `No` held across
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/dedup.stderr b/src/test/ui/lint/must_not_suspend/dedup.stderr
deleted file mode 100644
index f8978ba57..000000000
--- a/src/test/ui/lint/must_not_suspend/dedup.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error: `No` held across a suspend point, but should not be
- --> $DIR/dedup.rs:16:13
- |
-LL | wheeee(&No {}).await;
- | ^^^^^ ------ the value is held across this suspend point
- |
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/dedup.rs:16:13
- |
-LL | wheeee(&No {}).await;
- | ^^^^^
-note: the lint level is defined here
- --> $DIR/dedup.rs:3:9
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/must_not_suspend/feature-gate-must_not_suspend.rs b/src/test/ui/lint/must_not_suspend/feature-gate-must_not_suspend.rs
deleted file mode 100644
index 1554408c1..000000000
--- a/src/test/ui/lint/must_not_suspend/feature-gate-must_not_suspend.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// edition:2018
-
-#[must_not_suspend = "You gotta use Umm's, ya know?"] //~ ERROR the `#[must_not_suspend]`
-struct Umm {
- _i: i64
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/feature-gate-must_not_suspend.stderr b/src/test/ui/lint/must_not_suspend/feature-gate-must_not_suspend.stderr
deleted file mode 100644
index ab20a8be8..000000000
--- a/src/test/ui/lint/must_not_suspend/feature-gate-must_not_suspend.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0658]: the `#[must_not_suspend]` attribute is an experimental feature
- --> $DIR/feature-gate-must_not_suspend.rs:3:1
- |
-LL | #[must_not_suspend = "You gotta use Umm's, ya know?"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: see issue #83310 <https://github.com/rust-lang/rust/issues/83310> for more information
- = help: add `#![feature(must_not_suspend)]` to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/lint/must_not_suspend/gated.rs b/src/test/ui/lint/must_not_suspend/gated.rs
deleted file mode 100644
index b73a76555..000000000
--- a/src/test/ui/lint/must_not_suspend/gated.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// check-pass
-
-// edition:2018
-#![deny(must_not_suspend)]
-//~^ WARNING unknown lint: `must_not_suspend`
-//~| WARNING unknown lint: `must_not_suspend`
-//~| WARNING unknown lint: `must_not_suspend`
-
-async fn other() {}
-
-pub async fn uhoh(m: std::sync::Mutex<()>) {
- let _guard = m.lock().unwrap();
- other().await;
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/gated.stderr b/src/test/ui/lint/must_not_suspend/gated.stderr
deleted file mode 100644
index 64de1ebea..000000000
--- a/src/test/ui/lint/must_not_suspend/gated.stderr
+++ /dev/null
@@ -1,33 +0,0 @@
-warning: unknown lint: `must_not_suspend`
- --> $DIR/gated.rs:4:1
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the `must_not_suspend` lint is unstable
- = note: see issue #83310 <https://github.com/rust-lang/rust/issues/83310> for more information
- = help: add `#![feature(must_not_suspend)]` to the crate attributes to enable
- = note: `#[warn(unknown_lints)]` on by default
-
-warning: unknown lint: `must_not_suspend`
- --> $DIR/gated.rs:4:1
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the `must_not_suspend` lint is unstable
- = note: see issue #83310 <https://github.com/rust-lang/rust/issues/83310> for more information
- = help: add `#![feature(must_not_suspend)]` to the crate attributes to enable
-
-warning: unknown lint: `must_not_suspend`
- --> $DIR/gated.rs:4:1
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the `must_not_suspend` lint is unstable
- = note: see issue #83310 <https://github.com/rust-lang/rust/issues/83310> for more information
- = help: add `#![feature(must_not_suspend)]` to the crate attributes to enable
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/must_not_suspend/generic.rs b/src/test/ui/lint/must_not_suspend/generic.rs
deleted file mode 100644
index b3effa020..000000000
--- a/src/test/ui/lint/must_not_suspend/generic.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// edition:2018
-// run-pass
-//
-// this test shows a case where the lint doesn't fire in generic code
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend]
-struct No {}
-
-async fn shushspend() {}
-
-async fn wheeee<T>(t: T) {
- shushspend().await;
- drop(t);
-}
-
-fn main() {
- let _fut = wheeee(No {});
-}
diff --git a/src/test/ui/lint/must_not_suspend/handled.rs b/src/test/ui/lint/must_not_suspend/handled.rs
deleted file mode 100644
index 8714be644..000000000
--- a/src/test/ui/lint/must_not_suspend/handled.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// edition:2018
-// run-pass
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend = "You gotta use Umm's, ya know?"]
-struct Umm {
- _i: i64
-}
-
-
-fn bar() -> Umm {
- Umm {
- _i: 1
- }
-}
-
-async fn other() {}
-
-pub async fn uhoh() {
- {
- let _guard = bar();
- }
- other().await;
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/issue-89562.rs b/src/test/ui/lint/must_not_suspend/issue-89562.rs
deleted file mode 100644
index acdb36fcd..000000000
--- a/src/test/ui/lint/must_not_suspend/issue-89562.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// edition:2018
-// run-pass
-
-use std::sync::Mutex;
-
-// Copied from the issue. Allow-by-default for now, so run-pass
-pub async fn foo() {
- let foo = Mutex::new(1);
- let lock = foo.lock().unwrap();
-
- // Prevent mutex lock being held across `.await` point.
- drop(lock);
-
- bar().await;
-}
-
-async fn bar() {}
-
-fn main() {}
diff --git a/src/test/ui/lint/must_not_suspend/mutex.rs b/src/test/ui/lint/must_not_suspend/mutex.rs
deleted file mode 100644
index 7bb895e7d..000000000
--- a/src/test/ui/lint/must_not_suspend/mutex.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// edition:2018
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-async fn other() {}
-
-pub async fn uhoh(m: std::sync::Mutex<()>) {
- let _guard = m.lock().unwrap(); //~ ERROR `MutexGuard` held across
- other().await;
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/mutex.stderr b/src/test/ui/lint/must_not_suspend/mutex.stderr
deleted file mode 100644
index c251cb845..000000000
--- a/src/test/ui/lint/must_not_suspend/mutex.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: `MutexGuard` held across a suspend point, but should not be
- --> $DIR/mutex.rs:8:9
- |
-LL | let _guard = m.lock().unwrap();
- | ^^^^^^
-LL | other().await;
- | ------ the value is held across this suspend point
- |
-note: holding a MutexGuard across suspend points can cause deadlocks, delays, and cause Futures to not implement `Send`
- --> $DIR/mutex.rs:8:9
- |
-LL | let _guard = m.lock().unwrap();
- | ^^^^^^
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/mutex.rs:8:9
- |
-LL | let _guard = m.lock().unwrap();
- | ^^^^^^
-note: the lint level is defined here
- --> $DIR/mutex.rs:3:9
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/must_not_suspend/other_items.rs b/src/test/ui/lint/must_not_suspend/other_items.rs
deleted file mode 100644
index 5aa1abb14..000000000
--- a/src/test/ui/lint/must_not_suspend/other_items.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// edition:2018
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend] //~ ERROR attribute should be
-mod inner {}
-
-fn main() {}
diff --git a/src/test/ui/lint/must_not_suspend/other_items.stderr b/src/test/ui/lint/must_not_suspend/other_items.stderr
deleted file mode 100644
index 41c889692..000000000
--- a/src/test/ui/lint/must_not_suspend/other_items.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: `must_not_suspend` attribute should be applied to a struct, enum, or trait
- --> $DIR/other_items.rs:5:1
- |
-LL | #[must_not_suspend]
- | ^^^^^^^^^^^^^^^^^^^
-LL | mod inner {}
- | ------------ is not a struct, enum, or trait
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/must_not_suspend/ref-drop-tracking.rs b/src/test/ui/lint/must_not_suspend/ref-drop-tracking.rs
deleted file mode 100644
index 1bc4a3812..000000000
--- a/src/test/ui/lint/must_not_suspend/ref-drop-tracking.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-// edition:2018
-// compile-flags: -Zdrop-tracking
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend = "You gotta use Umm's, ya know?"]
-struct Umm {
- i: i64
-}
-
-struct Bar {
- u: Umm,
-}
-
-async fn other() {}
-
-impl Bar {
- async fn uhoh(&mut self) {
- let guard = &mut self.u; //~ ERROR `Umm` held across
-
- other().await;
-
- *guard = Umm {
- i: 2
- }
- }
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/ref-drop-tracking.stderr b/src/test/ui/lint/must_not_suspend/ref-drop-tracking.stderr
deleted file mode 100644
index 180e187c1..000000000
--- a/src/test/ui/lint/must_not_suspend/ref-drop-tracking.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error: reference to `Umm` held across a suspend point, but should not be
- --> $DIR/ref-drop-tracking.rs:19:13
- |
-LL | let guard = &mut self.u;
- | ^^^^^
-LL |
-LL | other().await;
- | ------ the value is held across this suspend point
- |
-note: You gotta use Umm's, ya know?
- --> $DIR/ref-drop-tracking.rs:19:13
- |
-LL | let guard = &mut self.u;
- | ^^^^^
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/ref-drop-tracking.rs:19:13
- |
-LL | let guard = &mut self.u;
- | ^^^^^
-note: the lint level is defined here
- --> $DIR/ref-drop-tracking.rs:4:9
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/must_not_suspend/ref.drop_tracking.stderr b/src/test/ui/lint/must_not_suspend/ref.drop_tracking.stderr
deleted file mode 100644
index abf76711b..000000000
--- a/src/test/ui/lint/must_not_suspend/ref.drop_tracking.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error: reference to `Umm` held across a suspend point, but should not be
- --> $DIR/ref.rs:21:13
- |
-LL | let guard = &mut self.u;
- | ^^^^^
-LL |
-LL | other().await;
- | ------ the value is held across this suspend point
- |
-note: You gotta use Umm's, ya know?
- --> $DIR/ref.rs:21:13
- |
-LL | let guard = &mut self.u;
- | ^^^^^
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/ref.rs:21:13
- |
-LL | let guard = &mut self.u;
- | ^^^^^
-note: the lint level is defined here
- --> $DIR/ref.rs:6:9
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/must_not_suspend/ref.no_drop_tracking.stderr b/src/test/ui/lint/must_not_suspend/ref.no_drop_tracking.stderr
deleted file mode 100644
index 41ac09ea7..000000000
--- a/src/test/ui/lint/must_not_suspend/ref.no_drop_tracking.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error: `Umm` held across a suspend point, but should not be
- --> $DIR/ref.rs:21:26
- |
-LL | let guard = &mut self.u;
- | ^^^^^^
-LL |
-LL | other().await;
- | ------ the value is held across this suspend point
- |
-note: You gotta use Umm's, ya know?
- --> $DIR/ref.rs:21:26
- |
-LL | let guard = &mut self.u;
- | ^^^^^^
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/ref.rs:21:26
- |
-LL | let guard = &mut self.u;
- | ^^^^^^
-note: the lint level is defined here
- --> $DIR/ref.rs:6:9
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/must_not_suspend/ref.rs b/src/test/ui/lint/must_not_suspend/ref.rs
deleted file mode 100644
index f6b23746f..000000000
--- a/src/test/ui/lint/must_not_suspend/ref.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-// edition:2018
-// revisions: no_drop_tracking drop_tracking
-// [drop_tracking] compile-flags: -Zdrop-tracking=yes
-// [no_drop_tracking] compile-flags: -Zdrop-tracking=no
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend = "You gotta use Umm's, ya know?"]
-struct Umm {
- i: i64,
-}
-
-struct Bar {
- u: Umm,
-}
-
-async fn other() {}
-
-impl Bar {
- async fn uhoh(&mut self) {
- let guard = &mut self.u; //~ ERROR `Umm` held across
-
- other().await;
-
- *guard = Umm { i: 2 }
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/must_not_suspend/return.rs b/src/test/ui/lint/must_not_suspend/return.rs
deleted file mode 100644
index 5b1fa5e27..000000000
--- a/src/test/ui/lint/must_not_suspend/return.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// edition:2018
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend] //~ ERROR attribute should be
-fn foo() -> i32 {
- 0
-}
-fn main() {}
diff --git a/src/test/ui/lint/must_not_suspend/return.stderr b/src/test/ui/lint/must_not_suspend/return.stderr
deleted file mode 100644
index fdada85eb..000000000
--- a/src/test/ui/lint/must_not_suspend/return.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error: `must_not_suspend` attribute should be applied to a struct, enum, or trait
- --> $DIR/return.rs:5:1
- |
-LL | #[must_not_suspend]
- | ^^^^^^^^^^^^^^^^^^^
-LL | / fn foo() -> i32 {
-LL | | 0
-LL | | }
- | |_- is not a struct, enum, or trait
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/must_not_suspend/trait.rs b/src/test/ui/lint/must_not_suspend/trait.rs
deleted file mode 100644
index 6c911cb4b..000000000
--- a/src/test/ui/lint/must_not_suspend/trait.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// edition:2018
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend]
-trait Wow {}
-
-impl Wow for i32 {}
-
-fn r#impl() -> impl Wow {
- 1
-}
-
-fn r#dyn() -> Box<dyn Wow> {
- Box::new(1)
-}
-
-async fn other() {}
-
-pub async fn uhoh() {
- let _guard1 = r#impl(); //~ ERROR implementer of `Wow` held across
- let _guard2 = r#dyn(); //~ ERROR boxed `Wow` trait object held across
-
- other().await;
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/trait.stderr b/src/test/ui/lint/must_not_suspend/trait.stderr
deleted file mode 100644
index d64d25aae..000000000
--- a/src/test/ui/lint/must_not_suspend/trait.stderr
+++ /dev/null
@@ -1,37 +0,0 @@
-error: implementer of `Wow` held across a suspend point, but should not be
- --> $DIR/trait.rs:21:9
- |
-LL | let _guard1 = r#impl();
- | ^^^^^^^
-...
-LL | other().await;
- | ------ the value is held across this suspend point
- |
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/trait.rs:21:9
- |
-LL | let _guard1 = r#impl();
- | ^^^^^^^
-note: the lint level is defined here
- --> $DIR/trait.rs:3:9
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^
-
-error: boxed `Wow` trait object held across a suspend point, but should not be
- --> $DIR/trait.rs:22:9
- |
-LL | let _guard2 = r#dyn();
- | ^^^^^^^
-LL |
-LL | other().await;
- | ------ the value is held across this suspend point
- |
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/trait.rs:22:9
- |
-LL | let _guard2 = r#dyn();
- | ^^^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/must_not_suspend/unit.rs b/src/test/ui/lint/must_not_suspend/unit.rs
deleted file mode 100644
index d3a19f704..000000000
--- a/src/test/ui/lint/must_not_suspend/unit.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// edition:2018
-#![feature(must_not_suspend)]
-#![deny(must_not_suspend)]
-
-#[must_not_suspend = "You gotta use Umm's, ya know?"]
-struct Umm {
- i: i64
-}
-
-
-fn bar() -> Umm {
- Umm {
- i: 1
- }
-}
-
-async fn other() {}
-
-pub async fn uhoh() {
- let _guard = bar(); //~ ERROR `Umm` held across
- other().await;
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/unit.stderr b/src/test/ui/lint/must_not_suspend/unit.stderr
deleted file mode 100644
index c967dbac5..000000000
--- a/src/test/ui/lint/must_not_suspend/unit.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: `Umm` held across a suspend point, but should not be
- --> $DIR/unit.rs:20:9
- |
-LL | let _guard = bar();
- | ^^^^^^
-LL | other().await;
- | ------ the value is held across this suspend point
- |
-note: You gotta use Umm's, ya know?
- --> $DIR/unit.rs:20:9
- |
-LL | let _guard = bar();
- | ^^^^^^
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/unit.rs:20:9
- |
-LL | let _guard = bar();
- | ^^^^^^
-note: the lint level is defined here
- --> $DIR/unit.rs:3:9
- |
-LL | #![deny(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/must_not_suspend/warn.rs b/src/test/ui/lint/must_not_suspend/warn.rs
deleted file mode 100644
index 7fdea66a2..000000000
--- a/src/test/ui/lint/must_not_suspend/warn.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-// edition:2018
-// run-pass
-#![feature(must_not_suspend)]
-#![warn(must_not_suspend)]
-
-#[must_not_suspend = "You gotta use Umm's, ya know?"]
-struct Umm {
- _i: i64
-}
-
-
-fn bar() -> Umm {
- Umm {
- _i: 1
- }
-}
-
-async fn other() {}
-
-pub async fn uhoh() {
- let _guard = bar(); //~ WARNING `Umm` held across
- other().await;
-}
-
-fn main() {
-}
diff --git a/src/test/ui/lint/must_not_suspend/warn.stderr b/src/test/ui/lint/must_not_suspend/warn.stderr
deleted file mode 100644
index fe551c652..000000000
--- a/src/test/ui/lint/must_not_suspend/warn.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-warning: `Umm` held across a suspend point, but should not be
- --> $DIR/warn.rs:21:9
- |
-LL | let _guard = bar();
- | ^^^^^^
-LL | other().await;
- | ------ the value is held across this suspend point
- |
-note: You gotta use Umm's, ya know?
- --> $DIR/warn.rs:21:9
- |
-LL | let _guard = bar();
- | ^^^^^^
-help: consider using a block (`{ ... }`) to shrink the value's scope, ending before the suspend point
- --> $DIR/warn.rs:21:9
- |
-LL | let _guard = bar();
- | ^^^^^^
-note: the lint level is defined here
- --> $DIR/warn.rs:4:9
- |
-LL | #![warn(must_not_suspend)]
- | ^^^^^^^^^^^^^^^^
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/no-coverage.rs b/src/test/ui/lint/no-coverage.rs
deleted file mode 100644
index ff24c12b2..000000000
--- a/src/test/ui/lint/no-coverage.rs
+++ /dev/null
@@ -1,55 +0,0 @@
-#![feature(extern_types)]
-#![feature(no_coverage)]
-#![feature(type_alias_impl_trait)]
-#![warn(unused_attributes)]
-#![no_coverage]
-//~^ WARN: `#[no_coverage]` does not propagate into items and must be applied to the contained functions directly
-
-#[no_coverage]
-//~^ WARN: `#[no_coverage]` does not propagate into items and must be applied to the contained functions directly
-trait Trait {
- #[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
- const X: u32;
-
- #[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
- type T;
-
- type U;
-}
-
-#[no_coverage]
-//~^ WARN: `#[no_coverage]` does not propagate into items and must be applied to the contained functions directly
-impl Trait for () {
- const X: u32 = 0;
-
- #[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
- type T = Self;
-
- #[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
- type U = impl Trait; //~ ERROR unconstrained opaque type
-}
-
-extern "C" {
- #[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
- static X: u32;
-
- #[no_coverage] //~ ERROR `#[no_coverage]` must be applied to coverable code
- type T;
-}
-
-#[no_coverage]
-fn main() {
- #[no_coverage]
- //~^ WARN `#[no_coverage]` may only be applied to function definitions
- let _ = ();
-
- match () {
- #[no_coverage]
- //~^ WARN `#[no_coverage]` may only be applied to function definitions
- () => (),
- }
-
- #[no_coverage]
- //~^ WARN `#[no_coverage]` may only be applied to function definitions
- return ();
-}
diff --git a/src/test/ui/lint/no-coverage.stderr b/src/test/ui/lint/no-coverage.stderr
deleted file mode 100644
index 404efbeac..000000000
--- a/src/test/ui/lint/no-coverage.stderr
+++ /dev/null
@@ -1,101 +0,0 @@
-warning: `#[no_coverage]` does not propagate into items and must be applied to the contained functions directly
- --> $DIR/no-coverage.rs:8:1
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/no-coverage.rs:4:9
- |
-LL | #![warn(unused_attributes)]
- | ^^^^^^^^^^^^^^^^^
-
-warning: `#[no_coverage]` does not propagate into items and must be applied to the contained functions directly
- --> $DIR/no-coverage.rs:20:1
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-
-warning: `#[no_coverage]` may only be applied to function definitions
- --> $DIR/no-coverage.rs:42:5
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-
-warning: `#[no_coverage]` may only be applied to function definitions
- --> $DIR/no-coverage.rs:47:9
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-
-warning: `#[no_coverage]` may only be applied to function definitions
- --> $DIR/no-coverage.rs:52:5
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-
-error[E0788]: `#[no_coverage]` must be applied to coverable code
- --> $DIR/no-coverage.rs:11:5
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-LL | const X: u32;
- | ------------- not coverable code
-
-error[E0788]: `#[no_coverage]` must be applied to coverable code
- --> $DIR/no-coverage.rs:14:5
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-LL | type T;
- | ------- not coverable code
-
-error[E0788]: `#[no_coverage]` must be applied to coverable code
- --> $DIR/no-coverage.rs:25:5
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-LL | type T = Self;
- | -------------- not coverable code
-
-error[E0788]: `#[no_coverage]` must be applied to coverable code
- --> $DIR/no-coverage.rs:28:5
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-LL | type U = impl Trait;
- | -------------------- not coverable code
-
-error[E0788]: `#[no_coverage]` must be applied to coverable code
- --> $DIR/no-coverage.rs:33:5
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-LL | static X: u32;
- | -------------- not coverable code
-
-error[E0788]: `#[no_coverage]` must be applied to coverable code
- --> $DIR/no-coverage.rs:36:5
- |
-LL | #[no_coverage]
- | ^^^^^^^^^^^^^^
-LL | type T;
- | ------- not coverable code
-
-warning: `#[no_coverage]` does not propagate into items and must be applied to the contained functions directly
- --> $DIR/no-coverage.rs:5:1
- |
-LL | #![no_coverage]
- | ^^^^^^^^^^^^^^^
-
-error: unconstrained opaque type
- --> $DIR/no-coverage.rs:29:14
- |
-LL | type U = impl Trait;
- | ^^^^^^^^^^
- |
- = note: `U` must be used in combination with a concrete type within the same impl
-
-error: aborting due to 7 previous errors; 6 warnings emitted
-
-For more information about this error, try `rustc --explain E0788`.
diff --git a/src/test/ui/lint/noop-method-call.rs b/src/test/ui/lint/noop-method-call.rs
deleted file mode 100644
index 89b296635..000000000
--- a/src/test/ui/lint/noop-method-call.rs
+++ /dev/null
@@ -1,55 +0,0 @@
-// check-pass
-
-#![allow(unused)]
-#![warn(noop_method_call)]
-
-use std::borrow::Borrow;
-use std::ops::Deref;
-
-struct PlainType<T>(T);
-
-#[derive(Clone)]
-struct CloneType<T>(T);
-
-fn main() {
- let non_clone_type_ref = &PlainType(1u32);
- let non_clone_type_ref_clone: &PlainType<u32> = non_clone_type_ref.clone();
- //~^ WARNING call to `.clone()` on a reference in this situation does nothing
-
- let clone_type_ref = &CloneType(1u32);
- let clone_type_ref_clone: CloneType<u32> = clone_type_ref.clone();
-
- // Calling clone on a double reference doesn't warn since the method call itself
- // peels the outer reference off
- let clone_type_ref = &&CloneType(1u32);
- let clone_type_ref_clone: &CloneType<u32> = clone_type_ref.clone();
-
- let non_deref_type = &PlainType(1u32);
- let non_deref_type_deref: &PlainType<u32> = non_deref_type.deref();
- //~^ WARNING call to `.deref()` on a reference in this situation does nothing
-
- // Dereferencing a &&T does not warn since it has collapsed the double reference
- let non_deref_type = &&PlainType(1u32);
- let non_deref_type_deref: &PlainType<u32> = non_deref_type.deref();
-
- let non_borrow_type = &PlainType(1u32);
- let non_borrow_type_borrow: &PlainType<u32> = non_borrow_type.borrow();
- //~^ WARNING call to `.borrow()` on a reference in this situation does nothing
-
- // Borrowing a &&T does not warn since it has collapsed the double reference
- let non_borrow_type = &&PlainType(1u32);
- let non_borrow_type_borrow: &PlainType<u32> = non_borrow_type.borrow();
-
- let xs = ["a", "b", "c"];
- let _v: Vec<&str> = xs.iter().map(|x| x.clone()).collect(); // ok, but could use `*x` instead
-}
-
-fn generic<T>(non_clone_type: &PlainType<T>) {
- non_clone_type.clone();
- //~^ WARNING call to `.clone()` on a reference in this situation does nothing
-}
-
-fn non_generic(non_clone_type: &PlainType<u32>) {
- non_clone_type.clone();
- //~^ WARNING call to `.clone()` on a reference in this situation does nothing
-}
diff --git a/src/test/ui/lint/noop-method-call.stderr b/src/test/ui/lint/noop-method-call.stderr
deleted file mode 100644
index 6a904d01a..000000000
--- a/src/test/ui/lint/noop-method-call.stderr
+++ /dev/null
@@ -1,47 +0,0 @@
-warning: call to `.clone()` on a reference in this situation does nothing
- --> $DIR/noop-method-call.rs:16:71
- |
-LL | let non_clone_type_ref_clone: &PlainType<u32> = non_clone_type_ref.clone();
- | ^^^^^^^^ unnecessary method call
- |
- = note: the type `&PlainType<u32>` which `clone` is being called on is the same as the type returned from `clone`, so the method call does not do anything and can be removed
-note: the lint level is defined here
- --> $DIR/noop-method-call.rs:4:9
- |
-LL | #![warn(noop_method_call)]
- | ^^^^^^^^^^^^^^^^
-
-warning: call to `.deref()` on a reference in this situation does nothing
- --> $DIR/noop-method-call.rs:28:63
- |
-LL | let non_deref_type_deref: &PlainType<u32> = non_deref_type.deref();
- | ^^^^^^^^ unnecessary method call
- |
- = note: the type `&PlainType<u32>` which `deref` is being called on is the same as the type returned from `deref`, so the method call does not do anything and can be removed
-
-warning: call to `.borrow()` on a reference in this situation does nothing
- --> $DIR/noop-method-call.rs:36:66
- |
-LL | let non_borrow_type_borrow: &PlainType<u32> = non_borrow_type.borrow();
- | ^^^^^^^^^ unnecessary method call
- |
- = note: the type `&PlainType<u32>` which `borrow` is being called on is the same as the type returned from `borrow`, so the method call does not do anything and can be removed
-
-warning: call to `.clone()` on a reference in this situation does nothing
- --> $DIR/noop-method-call.rs:48:19
- |
-LL | non_clone_type.clone();
- | ^^^^^^^^ unnecessary method call
- |
- = note: the type `&PlainType<T>` which `clone` is being called on is the same as the type returned from `clone`, so the method call does not do anything and can be removed
-
-warning: call to `.clone()` on a reference in this situation does nothing
- --> $DIR/noop-method-call.rs:53:19
- |
-LL | non_clone_type.clone();
- | ^^^^^^^^ unnecessary method call
- |
- = note: the type `&PlainType<u32>` which `clone` is being called on is the same as the type returned from `clone`, so the method call does not do anything and can be removed
-
-warning: 5 warnings emitted
-
diff --git a/src/test/ui/lint/not_found.rs b/src/test/ui/lint/not_found.rs
deleted file mode 100644
index de120b6e0..000000000
--- a/src/test/ui/lint/not_found.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// check-pass
-
-// this tests the `unknown_lint` lint, especially the suggestions
-
-// the suggestion only appears if a lint with the lowercase name exists
-#[allow(FOO_BAR)]
-//~^ WARNING unknown lint
-
-// the suggestion appears on all-uppercase names
-#[warn(DEAD_CODE)]
-//~^ WARNING unknown lint
-//~| HELP did you mean
-
-// the suggestion appears also on mixed-case names
-#[deny(Warnings)]
-//~^ WARNING unknown lint
-//~| HELP did you mean
-
-fn main() {
- unimplemented!();
-}
diff --git a/src/test/ui/lint/not_found.stderr b/src/test/ui/lint/not_found.stderr
deleted file mode 100644
index ea118c73c..000000000
--- a/src/test/ui/lint/not_found.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-warning: unknown lint: `FOO_BAR`
- --> $DIR/not_found.rs:6:9
- |
-LL | #[allow(FOO_BAR)]
- | ^^^^^^^
- |
- = note: `#[warn(unknown_lints)]` on by default
-
-warning: unknown lint: `DEAD_CODE`
- --> $DIR/not_found.rs:10:8
- |
-LL | #[warn(DEAD_CODE)]
- | ^^^^^^^^^ help: did you mean: `dead_code`
-
-warning: unknown lint: `Warnings`
- --> $DIR/not_found.rs:15:8
- |
-LL | #[deny(Warnings)]
- | ^^^^^^^^ help: did you mean (notice the capitalization): `warnings`
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/opaque-ty-ffi-normalization-cycle.rs b/src/test/ui/lint/opaque-ty-ffi-normalization-cycle.rs
deleted file mode 100644
index c83bca4a4..000000000
--- a/src/test/ui/lint/opaque-ty-ffi-normalization-cycle.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-#![feature(type_alias_impl_trait)]
-#![allow(unused)]
-#![deny(improper_ctypes)]
-
-pub trait TraitA {
- type Assoc;
-}
-
-impl TraitA for u32 {
- type Assoc = u32;
-}
-
-pub trait TraitB {
- type Assoc;
-}
-
-impl<T> TraitB for T
-where
- T: TraitA,
-{
- type Assoc = <T as TraitA>::Assoc;
-}
-
-type AliasA = impl TraitA<Assoc = u32>;
-
-type AliasB = impl TraitB;
-
-fn use_of_a() -> AliasA {
- 3
-}
-
-fn use_of_b() -> AliasB {
- 3
-}
-
-extern "C" {
- fn lint_me() -> <AliasB as TraitB>::Assoc;
- //~^ ERROR `extern` block uses type `AliasB`, which is not FFI-safe
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/opaque-ty-ffi-normalization-cycle.stderr b/src/test/ui/lint/opaque-ty-ffi-normalization-cycle.stderr
deleted file mode 100644
index e8d696477..000000000
--- a/src/test/ui/lint/opaque-ty-ffi-normalization-cycle.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: `extern` block uses type `AliasB`, which is not FFI-safe
- --> $DIR/opaque-ty-ffi-normalization-cycle.rs:37:21
- |
-LL | fn lint_me() -> <AliasB as TraitB>::Assoc;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
- |
- = note: opaque types have no C equivalent
-note: the lint level is defined here
- --> $DIR/opaque-ty-ffi-normalization-cycle.rs:3:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/opaque-ty-ffi-unsafe.rs b/src/test/ui/lint/opaque-ty-ffi-unsafe.rs
deleted file mode 100644
index b7cc38e99..000000000
--- a/src/test/ui/lint/opaque-ty-ffi-unsafe.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-#![feature(type_alias_impl_trait)]
-#![deny(improper_ctypes)]
-
-type A = impl Fn();
-
-pub fn ret_closure() -> A {
- || {}
-}
-
-extern "C" {
- pub fn a(_: A);
- //~^ ERROR `extern` block uses type `A`, which is not FFI-safe [improper_ctypes]
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/opaque-ty-ffi-unsafe.stderr b/src/test/ui/lint/opaque-ty-ffi-unsafe.stderr
deleted file mode 100644
index 33aa95854..000000000
--- a/src/test/ui/lint/opaque-ty-ffi-unsafe.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: `extern` block uses type `A`, which is not FFI-safe
- --> $DIR/opaque-ty-ffi-unsafe.rs:11:17
- |
-LL | pub fn a(_: A);
- | ^ not FFI-safe
- |
- = note: opaque types have no C equivalent
-note: the lint level is defined here
- --> $DIR/opaque-ty-ffi-unsafe.rs:2:9
- |
-LL | #![deny(improper_ctypes)]
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/outer-forbid.rs b/src/test/ui/lint/outer-forbid.rs
deleted file mode 100644
index ba330258d..000000000
--- a/src/test/ui/lint/outer-forbid.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Forbidding a group (here, `unused`) overrules subsequent allowance of both
-// the group, and an individual lint in the group (here, `unused_variables`);
-// and, forbidding an individual lint (here, `non_snake_case`) overrules
-// subsequent allowance of a lint group containing it (here, `nonstandard_style`). See
-// Issue #42873.
-
-// If you turn off deduplicate diagnostics (which rustc turns on by default but
-// compiletest turns off when it runs ui tests), then the errors are
-// (unfortunately) repeated here because the checking is done as we read in the
-// errors, and currently that happens two or three different times, depending on
-// compiler flags.
-//
-// The test is much cleaner if we deduplicate, though.
-
-// compile-flags: -Z deduplicate-diagnostics=yes
-
-#![forbid(unused, non_snake_case)]
-#![forbid(forbidden_lint_groups)]
-
-#[allow(unused_variables)]
-//~^ ERROR incompatible with previous
-//~| WARNING this was previously accepted by the compiler
-fn foo() {}
-
-#[allow(unused)] //~ ERROR incompatible with previous
-//~^ WARNING this was previously accepted by the compiler
-fn bar() {}
-
-#[allow(nonstandard_style)] //~ ERROR incompatible with previous
-fn main() {
- println!("hello forbidden world")
-}
diff --git a/src/test/ui/lint/outer-forbid.stderr b/src/test/ui/lint/outer-forbid.stderr
deleted file mode 100644
index a47877980..000000000
--- a/src/test/ui/lint/outer-forbid.stderr
+++ /dev/null
@@ -1,41 +0,0 @@
-error: allow(unused_variables) incompatible with previous forbid
- --> $DIR/outer-forbid.rs:20:9
- |
-LL | #![forbid(unused, non_snake_case)]
- | ------ `forbid` level set here
-...
-LL | #[allow(unused_variables)]
- | ^^^^^^^^^^^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-note: the lint level is defined here
- --> $DIR/outer-forbid.rs:18:11
- |
-LL | #![forbid(forbidden_lint_groups)]
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: allow(unused) incompatible with previous forbid
- --> $DIR/outer-forbid.rs:25:9
- |
-LL | #![forbid(unused, non_snake_case)]
- | ------ `forbid` level set here
-...
-LL | #[allow(unused)]
- | ^^^^^^ overruled by previous forbid
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
-
-error[E0453]: allow(nonstandard_style) incompatible with previous forbid
- --> $DIR/outer-forbid.rs:29:9
- |
-LL | #![forbid(unused, non_snake_case)]
- | -------------- `forbid` level set here
-...
-LL | #[allow(nonstandard_style)]
- | ^^^^^^^^^^^^^^^^^ overruled by previous forbid
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0453`.
diff --git a/src/test/ui/lint/reasons-erroneous.rs b/src/test/ui/lint/reasons-erroneous.rs
deleted file mode 100644
index cd693ae16..000000000
--- a/src/test/ui/lint/reasons-erroneous.rs
+++ /dev/null
@@ -1,54 +0,0 @@
-#![feature(lint_reasons)]
-
-#![warn(absolute_paths_not_starting_with_crate, reason = 0)]
-//~^ ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| NOTE reason must be a string literal
-//~| NOTE reason must be a string literal
-#![warn(anonymous_parameters, reason = b"consider these, for we have condemned them")]
-//~^ ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| NOTE reason must be a string literal
-//~| NOTE reason must be a string literal
-#![warn(bare_trait_objects, reasons = "leaders to no sure land, guides their bearings lost")]
-//~^ ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| NOTE bad attribute argument
-//~| NOTE bad attribute argument
-//~| NOTE bad attribute argument
-//~| NOTE bad attribute argument
-#![warn(box_pointers, blerp = "or in league with robbers have reversed the signposts")]
-//~^ ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| NOTE bad attribute argument
-//~| NOTE bad attribute argument
-//~| NOTE bad attribute argument
-//~| NOTE bad attribute argument
-#![warn(elided_lifetimes_in_paths, reason("disrespectful to ancestors", "irresponsible to heirs"))]
-//~^ ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| NOTE bad attribute argument
-//~| NOTE bad attribute argument
-//~| NOTE bad attribute argument
-//~| NOTE bad attribute argument
-#![warn(ellipsis_inclusive_range_patterns, reason = "born barren", reason = "a freak growth")]
-//~^ ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| NOTE reason in lint attribute must come last
-//~| NOTE reason in lint attribute must come last
-#![warn(keyword_idents, reason = "root in rubble", macro_use_extern_crate)]
-//~^ ERROR malformed lint attribute
-//~| ERROR malformed lint attribute
-//~| NOTE reason in lint attribute must come last
-//~| NOTE reason in lint attribute must come last
-#![warn(missing_copy_implementations, reason)]
-//~^ WARN unknown lint
-//~| NOTE `#[warn(unknown_lints)]` on by default
-
-fn main() {}
diff --git a/src/test/ui/lint/reasons-erroneous.stderr b/src/test/ui/lint/reasons-erroneous.stderr
deleted file mode 100644
index 5521af17c..000000000
--- a/src/test/ui/lint/reasons-erroneous.stderr
+++ /dev/null
@@ -1,131 +0,0 @@
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:3:58
- |
-LL | #![warn(absolute_paths_not_starting_with_crate, reason = 0)]
- | ^ reason must be a string literal
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:8:40
- |
-LL | #![warn(anonymous_parameters, reason = b"consider these, for we have condemned them")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reason must be a string literal
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:13:29
- |
-LL | #![warn(bare_trait_objects, reasons = "leaders to no sure land, guides their bearings lost")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:13:29
- |
-LL | #![warn(bare_trait_objects, reasons = "leaders to no sure land, guides their bearings lost")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:22:23
- |
-LL | #![warn(box_pointers, blerp = "or in league with robbers have reversed the signposts")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:22:23
- |
-LL | #![warn(box_pointers, blerp = "or in league with robbers have reversed the signposts")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:31:36
- |
-LL | #![warn(elided_lifetimes_in_paths, reason("disrespectful to ancestors", "irresponsible to heirs"))]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:31:36
- |
-LL | #![warn(elided_lifetimes_in_paths, reason("disrespectful to ancestors", "irresponsible to heirs"))]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:40:44
- |
-LL | #![warn(ellipsis_inclusive_range_patterns, reason = "born barren", reason = "a freak growth")]
- | ^^^^^^^^^^^^^^^^^^^^^^ reason in lint attribute must come last
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:45:25
- |
-LL | #![warn(keyword_idents, reason = "root in rubble", macro_use_extern_crate)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ reason in lint attribute must come last
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:3:58
- |
-LL | #![warn(absolute_paths_not_starting_with_crate, reason = 0)]
- | ^ reason must be a string literal
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:8:40
- |
-LL | #![warn(anonymous_parameters, reason = b"consider these, for we have condemned them")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reason must be a string literal
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:13:29
- |
-LL | #![warn(bare_trait_objects, reasons = "leaders to no sure land, guides their bearings lost")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:13:29
- |
-LL | #![warn(bare_trait_objects, reasons = "leaders to no sure land, guides their bearings lost")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:22:23
- |
-LL | #![warn(box_pointers, blerp = "or in league with robbers have reversed the signposts")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:22:23
- |
-LL | #![warn(box_pointers, blerp = "or in league with robbers have reversed the signposts")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:31:36
- |
-LL | #![warn(elided_lifetimes_in_paths, reason("disrespectful to ancestors", "irresponsible to heirs"))]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:31:36
- |
-LL | #![warn(elided_lifetimes_in_paths, reason("disrespectful to ancestors", "irresponsible to heirs"))]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bad attribute argument
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:40:44
- |
-LL | #![warn(ellipsis_inclusive_range_patterns, reason = "born barren", reason = "a freak growth")]
- | ^^^^^^^^^^^^^^^^^^^^^^ reason in lint attribute must come last
-
-error[E0452]: malformed lint attribute input
- --> $DIR/reasons-erroneous.rs:45:25
- |
-LL | #![warn(keyword_idents, reason = "root in rubble", macro_use_extern_crate)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ reason in lint attribute must come last
-
-warning: unknown lint: `reason`
- --> $DIR/reasons-erroneous.rs:50:39
- |
-LL | #![warn(missing_copy_implementations, reason)]
- | ^^^^^^
- |
- = note: `#[warn(unknown_lints)]` on by default
-
-error: aborting due to 20 previous errors; 1 warning emitted
-
-For more information about this error, try `rustc --explain E0452`.
diff --git a/src/test/ui/lint/reasons-forbidden.rs b/src/test/ui/lint/reasons-forbidden.rs
deleted file mode 100644
index 9c2edec4d..000000000
--- a/src/test/ui/lint/reasons-forbidden.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-#![feature(lint_reasons)]
-
-// If you turn off deduplicate diagnostics (which rustc turns on by default but
-// compiletest turns off when it runs ui tests), then the errors are
-// (unfortunately) repeated here because the checking is done as we read in the
-// errors, and currently that happens two or three different times, depending on
-// compiler flags.
-//
-// The test is much cleaner if we deduplicate, though.
-
-// compile-flags: -Z deduplicate-diagnostics=yes
-
-#![forbid(
- unsafe_code,
- //~^ NOTE `forbid` level set here
- //~| NOTE the lint level is defined here
- reason = "our errors & omissions insurance policy doesn't cover unsafe Rust"
-)]
-
-use std::ptr;
-
-fn main() {
- let a_billion_dollar_mistake = ptr::null();
-
- #[allow(unsafe_code)]
- //~^ ERROR allow(unsafe_code) incompatible with previous forbid
- //~| NOTE our errors & omissions insurance policy doesn't cover unsafe Rust
- //~| NOTE overruled by previous forbid
- unsafe {
- //~^ ERROR usage of an `unsafe` block
- //~| NOTE our errors & omissions insurance policy doesn't cover unsafe Rust
- *a_billion_dollar_mistake
- }
-}
diff --git a/src/test/ui/lint/reasons-forbidden.stderr b/src/test/ui/lint/reasons-forbidden.stderr
deleted file mode 100644
index ab6f19a01..000000000
--- a/src/test/ui/lint/reasons-forbidden.stderr
+++ /dev/null
@@ -1,31 +0,0 @@
-error[E0453]: allow(unsafe_code) incompatible with previous forbid
- --> $DIR/reasons-forbidden.rs:25:13
- |
-LL | unsafe_code,
- | ----------- `forbid` level set here
-...
-LL | #[allow(unsafe_code)]
- | ^^^^^^^^^^^ overruled by previous forbid
- |
- = note: our errors & omissions insurance policy doesn't cover unsafe Rust
-
-error: usage of an `unsafe` block
- --> $DIR/reasons-forbidden.rs:29:5
- |
-LL | / unsafe {
-LL | |
-LL | |
-LL | | *a_billion_dollar_mistake
-LL | | }
- | |_____^
- |
- = note: our errors & omissions insurance policy doesn't cover unsafe Rust
-note: the lint level is defined here
- --> $DIR/reasons-forbidden.rs:14:5
- |
-LL | unsafe_code,
- | ^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0453`.
diff --git a/src/test/ui/lint/reasons.rs b/src/test/ui/lint/reasons.rs
deleted file mode 100644
index da1c740c4..000000000
--- a/src/test/ui/lint/reasons.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-#![warn(elided_lifetimes_in_paths,
- //~^ NOTE the lint level is defined here
- reason = "explicit anonymous lifetimes aid reasoning about ownership")]
-#![warn(
- nonstandard_style,
- //~^ NOTE the lint level is defined here
- reason = r#"people shouldn't have to change their usual style habits
-to contribute to our project"#
-)]
-#![allow(unused, reason = "unused code has never killed anypony")]
-
-use std::fmt;
-
-pub struct CheaterDetectionMechanism {}
-
-impl fmt::Debug for CheaterDetectionMechanism {
- fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
- //~^ WARN hidden lifetime parameters in types are deprecated
- //~| NOTE expected lifetime parameter
- //~| NOTE explicit anonymous lifetimes aid
- //~| HELP indicate the anonymous lifetime
- fmt.debug_struct("CheaterDetectionMechanism").finish()
- }
-}
-
-fn main() {
- let Social_exchange_psychology = CheaterDetectionMechanism {};
- //~^ WARN should have a snake case name
- //~| NOTE #[warn(non_snake_case)]` implied by `#[warn(nonstandard_style)]
- //~| NOTE people shouldn't have to change their usual style habits
- //~| HELP convert the identifier to snake case
-}
diff --git a/src/test/ui/lint/reasons.stderr b/src/test/ui/lint/reasons.stderr
deleted file mode 100644
index cd8412153..000000000
--- a/src/test/ui/lint/reasons.stderr
+++ /dev/null
@@ -1,36 +0,0 @@
-warning: hidden lifetime parameters in types are deprecated
- --> $DIR/reasons.rs:20:34
- |
-LL | fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
- | -----^^^^^^^^^
- | |
- | expected lifetime parameter
- |
- = note: explicit anonymous lifetimes aid reasoning about ownership
-note: the lint level is defined here
- --> $DIR/reasons.rs:4:9
- |
-LL | #![warn(elided_lifetimes_in_paths,
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-help: indicate the anonymous lifetime
- |
-LL | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
- | ++++
-
-warning: variable `Social_exchange_psychology` should have a snake case name
- --> $DIR/reasons.rs:30:9
- |
-LL | let Social_exchange_psychology = CheaterDetectionMechanism {};
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `social_exchange_psychology`
- |
- = note: people shouldn't have to change their usual style habits
- to contribute to our project
-note: the lint level is defined here
- --> $DIR/reasons.rs:8:5
- |
-LL | nonstandard_style,
- | ^^^^^^^^^^^^^^^^^
- = note: `#[warn(non_snake_case)]` implied by `#[warn(nonstandard_style)]`
-
-warning: 2 warnings emitted
-
diff --git a/src/test/ui/lint/recommend-literal.rs b/src/test/ui/lint/recommend-literal.rs
deleted file mode 100644
index 453cbf285..000000000
--- a/src/test/ui/lint/recommend-literal.rs
+++ /dev/null
@@ -1,42 +0,0 @@
-type Real = double;
-//~^ ERROR cannot find type `double` in this scope
-//~| HELP perhaps you intended to use this type
-
-fn main() {
- let x: Real = 3.5;
- let y: long = 74802374902374923;
- //~^ ERROR cannot find type `long` in this scope
- //~| HELP perhaps you intended to use this type
- let v1: Boolean = true;
- //~^ ERROR: cannot find type `Boolean` in this scope [E0412]
- //~| HELP perhaps you intended to use this type
- let v2: Bool = true;
- //~^ ERROR: cannot find type `Bool` in this scope [E0412]
- //~| HELP a builtin type with a similar name exists
- //~| HELP perhaps you intended to use this type
-}
-
-fn z(a: boolean) {
- //~^ ERROR cannot find type `boolean` in this scope
- //~| HELP perhaps you intended to use this type
-}
-
-fn a() -> byte {
-//~^ ERROR cannot find type `byte` in this scope
-//~| HELP perhaps you intended to use this type
- 3
-}
-
-struct Data { //~ HELP you might be missing a type parameter
- width: float,
- //~^ ERROR cannot find type `float` in this scope
- //~| HELP perhaps you intended to use this type
- depth: Option<int>,
- //~^ ERROR cannot find type `int` in this scope
- //~| HELP perhaps you intended to use this type
-}
-
-trait Stuff {}
-impl Stuff for short {}
-//~^ ERROR cannot find type `short` in this scope
-//~| HELP perhaps you intended to use this type
diff --git a/src/test/ui/lint/recommend-literal.stderr b/src/test/ui/lint/recommend-literal.stderr
deleted file mode 100644
index 424ecadd4..000000000
--- a/src/test/ui/lint/recommend-literal.stderr
+++ /dev/null
@@ -1,96 +0,0 @@
-error[E0412]: cannot find type `double` in this scope
- --> $DIR/recommend-literal.rs:1:13
- |
-LL | type Real = double;
- | ^^^^^^
- | |
- | not found in this scope
- | help: perhaps you intended to use this type: `f64`
-
-error[E0412]: cannot find type `long` in this scope
- --> $DIR/recommend-literal.rs:7:12
- |
-LL | let y: long = 74802374902374923;
- | ^^^^
- | |
- | not found in this scope
- | help: perhaps you intended to use this type: `i64`
-
-error[E0412]: cannot find type `Boolean` in this scope
- --> $DIR/recommend-literal.rs:10:13
- |
-LL | let v1: Boolean = true;
- | ^^^^^^^
- | |
- | not found in this scope
- | help: perhaps you intended to use this type: `bool`
-
-error[E0412]: cannot find type `Bool` in this scope
- --> $DIR/recommend-literal.rs:13:13
- |
-LL | let v2: Bool = true;
- | ^^^^
- |
-help: a builtin type with a similar name exists
- |
-LL | let v2: bool = true;
- | ~~~~
-help: perhaps you intended to use this type
- |
-LL | let v2: bool = true;
- | ~~~~
-
-error[E0412]: cannot find type `boolean` in this scope
- --> $DIR/recommend-literal.rs:19:9
- |
-LL | fn z(a: boolean) {
- | ^^^^^^^
- | |
- | not found in this scope
- | help: perhaps you intended to use this type: `bool`
-
-error[E0412]: cannot find type `byte` in this scope
- --> $DIR/recommend-literal.rs:24:11
- |
-LL | fn a() -> byte {
- | ^^^^
- | |
- | not found in this scope
- | help: perhaps you intended to use this type: `u8`
-
-error[E0412]: cannot find type `float` in this scope
- --> $DIR/recommend-literal.rs:31:12
- |
-LL | width: float,
- | ^^^^^
- | |
- | not found in this scope
- | help: perhaps you intended to use this type: `f32`
-
-error[E0412]: cannot find type `int` in this scope
- --> $DIR/recommend-literal.rs:34:19
- |
-LL | depth: Option<int>,
- | ^^^ not found in this scope
- |
-help: perhaps you intended to use this type
- |
-LL | depth: Option<i32>,
- | ~~~
-help: you might be missing a type parameter
- |
-LL | struct Data<int> {
- | +++++
-
-error[E0412]: cannot find type `short` in this scope
- --> $DIR/recommend-literal.rs:40:16
- |
-LL | impl Stuff for short {}
- | ^^^^^
- | |
- | not found in this scope
- | help: perhaps you intended to use this type: `i16`
-
-error: aborting due to 9 previous errors
-
-For more information about this error, try `rustc --explain E0412`.
diff --git a/src/test/ui/lint/redundant-semicolon/auxiliary/redundant-semi-proc-macro-def.rs b/src/test/ui/lint/redundant-semicolon/auxiliary/redundant-semi-proc-macro-def.rs
deleted file mode 100644
index 5a94ccd74..000000000
--- a/src/test/ui/lint/redundant-semicolon/auxiliary/redundant-semi-proc-macro-def.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// force-host
-// no-prefer-dynamic
-#![crate_type="proc-macro"]
-#![crate_name="redundant_semi_proc_macro"]
-extern crate proc_macro;
-use proc_macro::TokenStream;
-
-#[proc_macro_attribute]
-pub fn should_preserve_spans(_attr: TokenStream, item: TokenStream) -> TokenStream {
- eprintln!("{:?}", item);
- item
-}
diff --git a/src/test/ui/lint/redundant-semicolon/item-stmt-semi.rs b/src/test/ui/lint/redundant-semicolon/item-stmt-semi.rs
deleted file mode 100644
index 8c79630b7..000000000
--- a/src/test/ui/lint/redundant-semicolon/item-stmt-semi.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-#![deny(redundant_semicolons)]
-
-fn main() {
- fn inner() {}; //~ ERROR unnecessary
- struct Bar {}; //~ ERROR unnecessary
-}
diff --git a/src/test/ui/lint/redundant-semicolon/item-stmt-semi.stderr b/src/test/ui/lint/redundant-semicolon/item-stmt-semi.stderr
deleted file mode 100644
index 451b152cb..000000000
--- a/src/test/ui/lint/redundant-semicolon/item-stmt-semi.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: unnecessary trailing semicolon
- --> $DIR/item-stmt-semi.rs:4:18
- |
-LL | fn inner() {};
- | ^ help: remove this semicolon
- |
-note: the lint level is defined here
- --> $DIR/item-stmt-semi.rs:1:9
- |
-LL | #![deny(redundant_semicolons)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unnecessary trailing semicolon
- --> $DIR/item-stmt-semi.rs:5:18
- |
-LL | struct Bar {};
- | ^ help: remove this semicolon
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/redundant-semicolon/redundant-semi-proc-macro.rs b/src/test/ui/lint/redundant-semicolon/redundant-semi-proc-macro.rs
deleted file mode 100644
index 08a5c6c2b..000000000
--- a/src/test/ui/lint/redundant-semicolon/redundant-semi-proc-macro.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// aux-build:redundant-semi-proc-macro-def.rs
-
-#![deny(redundant_semicolons)]
-extern crate redundant_semi_proc_macro;
-use redundant_semi_proc_macro::should_preserve_spans;
-
-#[should_preserve_spans]
-fn span_preservation() {
- let tst = 123;; //~ ERROR unnecessary trailing semicolon
- match tst {
- // Redundant semicolons are parsed as empty tuple exprs
- // for the lint, so ensure the lint doesn't affect
- // empty tuple exprs explicitly in source.
- 123 => (),
- _ => ()
- };;; //~ ERROR unnecessary trailing semicolons
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/redundant-semicolon/redundant-semi-proc-macro.stderr b/src/test/ui/lint/redundant-semicolon/redundant-semi-proc-macro.stderr
deleted file mode 100644
index e31d14c55..000000000
--- a/src/test/ui/lint/redundant-semicolon/redundant-semi-proc-macro.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-TokenStream [Ident { ident: "fn", span: #0 bytes(198..200) }, Ident { ident: "span_preservation", span: #0 bytes(201..218) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: #0 bytes(218..220) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "let", span: #0 bytes(228..231) }, Ident { ident: "tst", span: #0 bytes(232..235) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(236..237) }, Literal { kind: Integer, symbol: "123", suffix: None, span: #0 bytes(238..241) }, Punct { ch: ';', spacing: Joint, span: #0 bytes(241..242) }, Punct { ch: ';', spacing: Alone, span: #0 bytes(242..243) }, Ident { ident: "match", span: #0 bytes(289..294) }, Ident { ident: "tst", span: #0 bytes(295..298) }, Group { delimiter: Brace, stream: TokenStream [Literal { kind: Integer, symbol: "123", suffix: None, span: #0 bytes(483..486) }, Punct { ch: '=', spacing: Joint, span: #0 bytes(487..488) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(488..489) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: #0 bytes(490..492) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(492..493) }, Ident { ident: "_", span: #0 bytes(502..503) }, Punct { ch: '=', spacing: Joint, span: #0 bytes(504..505) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(505..506) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: #0 bytes(507..509) }], span: #0 bytes(299..515) }, Punct { ch: ';', spacing: Joint, span: #0 bytes(515..516) }, Punct { ch: ';', spacing: Joint, span: #0 bytes(516..517) }, Punct { ch: ';', spacing: Alone, span: #0 bytes(517..518) }], span: #0 bytes(222..562) }]
-error: unnecessary trailing semicolon
- --> $DIR/redundant-semi-proc-macro.rs:9:19
- |
-LL | let tst = 123;;
- | ^ help: remove this semicolon
- |
-note: the lint level is defined here
- --> $DIR/redundant-semi-proc-macro.rs:3:9
- |
-LL | #![deny(redundant_semicolons)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unnecessary trailing semicolons
- --> $DIR/redundant-semi-proc-macro.rs:16:7
- |
-LL | };;;
- | ^^ help: remove these semicolons
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/register-tool-lint.rs b/src/test/ui/lint/register-tool-lint.rs
deleted file mode 100644
index 17d3afbf6..000000000
--- a/src/test/ui/lint/register-tool-lint.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#![crate_type = "lib"]
-#![feature(register_tool)]
-#![register_tool(xyz)]
-#![warn(xyz::my_lint)] // this should not error
-#![warn(abc::my_lint)]
-//~^ ERROR unknown tool name `abc` found in scoped lint
-//~| HELP add `#![register_tool(abc)]`
-//~| ERROR unknown tool name `abc`
-//~| HELP add `#![register_tool(abc)]`
diff --git a/src/test/ui/lint/register-tool-lint.stderr b/src/test/ui/lint/register-tool-lint.stderr
deleted file mode 100644
index 842d845ff..000000000
--- a/src/test/ui/lint/register-tool-lint.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0710]: unknown tool name `abc` found in scoped lint: `abc::my_lint`
- --> $DIR/register-tool-lint.rs:5:9
- |
-LL | #![warn(abc::my_lint)]
- | ^^^
- |
- = help: add `#![register_tool(abc)]` to the crate root
-
-error[E0710]: unknown tool name `abc` found in scoped lint: `abc::my_lint`
- --> $DIR/register-tool-lint.rs:5:9
- |
-LL | #![warn(abc::my_lint)]
- | ^^^
- |
- = help: add `#![register_tool(abc)]` to the crate root
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0710`.
diff --git a/src/test/ui/lint/renamed-lints-still-apply.rs b/src/test/ui/lint/renamed-lints-still-apply.rs
deleted file mode 100644
index 01cd32536..000000000
--- a/src/test/ui/lint/renamed-lints-still-apply.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// compile-flags: --crate-type lib
-#![deny(single_use_lifetime)]
-//~^ WARNING renamed
-//~| NOTE `#[warn(renamed_and_removed_lints)]` on by default
-//~| NOTE defined here
-fn _foo<'a>(_x: &'a u32) {}
-//~^ ERROR only used once
-//~| NOTE this lifetime
-//~| NOTE is used only here
diff --git a/src/test/ui/lint/renamed-lints-still-apply.stderr b/src/test/ui/lint/renamed-lints-still-apply.stderr
deleted file mode 100644
index e926719bb..000000000
--- a/src/test/ui/lint/renamed-lints-still-apply.stderr
+++ /dev/null
@@ -1,29 +0,0 @@
-warning: lint `single_use_lifetime` has been renamed to `single_use_lifetimes`
- --> $DIR/renamed-lints-still-apply.rs:2:9
- |
-LL | #![deny(single_use_lifetime)]
- | ^^^^^^^^^^^^^^^^^^^ help: use the new name: `single_use_lifetimes`
- |
- = note: `#[warn(renamed_and_removed_lints)]` on by default
-
-error: lifetime parameter `'a` only used once
- --> $DIR/renamed-lints-still-apply.rs:6:9
- |
-LL | fn _foo<'a>(_x: &'a u32) {}
- | ^^ -- ...is used only here
- | |
- | this lifetime...
- |
-note: the lint level is defined here
- --> $DIR/renamed-lints-still-apply.rs:2:9
- |
-LL | #![deny(single_use_lifetime)]
- | ^^^^^^^^^^^^^^^^^^^
-help: elide the single-use lifetime
- |
-LL - fn _foo<'a>(_x: &'a u32) {}
-LL + fn _foo(_x: &u32) {}
- |
-
-error: aborting due to previous error; 1 warning emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/avoid_delayed_good_path_ice.rs b/src/test/ui/lint/rfc-2383-lint-reason/avoid_delayed_good_path_ice.rs
deleted file mode 100644
index 912e831d8..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/avoid_delayed_good_path_ice.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// check-pass
-#![feature(lint_reasons)]
-
-#[expect(drop_bounds)]
-fn trigger_rustc_lints<T: Drop>() {
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/catch_multiple_lint_triggers.rs b/src/test/ui/lint/rfc-2383-lint-reason/catch_multiple_lint_triggers.rs
deleted file mode 100644
index 6b255b799..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/catch_multiple_lint_triggers.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-
-#![warn(unused)]
-
-// This expect attribute should catch all lint triggers
-#[expect(unused_variables)]
-fn check_multiple_lints_1() {
- let value_i = 0xff00ff;
- let value_ii = 0xff00ff;
- let value_iii = 0xff00ff;
- let value_iiii = 0xff00ff;
- let value_iiiii = 0xff00ff;
-}
-
-// This expect attribute should catch all lint triggers
-#[expect(unused_mut)]
-fn check_multiple_lints_2() {
- let mut a = 0xa;
- let mut b = 0xb;
- let mut c = 0xc;
- println!("The ABC goes as: {:#x} {:#x} {:#x}", a, b, c);
-}
-
-// This expect attribute should catch all lint triggers
-#[expect(while_true)]
-fn check_multiple_lints_3() {
- // `while_true` is an early lint
- while true {}
-
- while true {}
-
- while true {}
-
- while true {}
-
- while true {}
-}
-
-fn main() {
- check_multiple_lints_1();
- check_multiple_lints_2();
- check_multiple_lints_3();
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/crate_level_expect.rs b/src/test/ui/lint/rfc-2383-lint-reason/crate_level_expect.rs
deleted file mode 100644
index 9f591ba98..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/crate_level_expect.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-
-#![warn(unused)]
-
-#![expect(unused_mut)]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-//~| NOTE `#[warn(unfulfilled_lint_expectations)]` on by default
-
-#![expect(unused_variables)]
-
-fn main() {
- let x = 0;
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/crate_level_expect.stderr b/src/test/ui/lint/rfc-2383-lint-reason/crate_level_expect.stderr
deleted file mode 100644
index 7237f6fb6..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/crate_level_expect.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: this lint expectation is unfulfilled
- --> $DIR/crate_level_expect.rs:7:11
- |
-LL | #![expect(unused_mut)]
- | ^^^^^^^^^^
- |
- = note: `#[warn(unfulfilled_lint_expectations)]` on by default
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_inside_macro.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_inside_macro.rs
deleted file mode 100644
index b95815bc5..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_inside_macro.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-
-#![warn(unused)]
-
-macro_rules! expect_inside_macro {
- () => {
- #[expect(unused_variables)]
- let x = 0;
- };
-}
-
-fn main() {
- expect_inside_macro!();
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_lint_from_macro.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_lint_from_macro.rs
deleted file mode 100644
index 07c60fa0c..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_lint_from_macro.rs
+++ /dev/null
@@ -1,42 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-
-#![warn(unused_variables)]
-
-macro_rules! trigger_unused_variables_macro {
- () => {
- let x = 0;
- //~^ WARNING unused variable: `x` [unused_variables]
- //~| WARNING unused variable: `x` [unused_variables]
- };
-}
-
-pub fn check_macro() {
- // This should trigger the `unused_variables` from inside the macro
- trigger_unused_variables_macro!();
-}
-
-// This should be fulfilled by the macro
-#[expect(unused_variables)]
-pub fn check_expect_on_item() {
- trigger_unused_variables_macro!();
-}
-
-pub fn check_expect_on_macro() {
- // This should be fulfilled by the macro
- #[expect(unused_variables)]
- trigger_unused_variables_macro!();
-
- // FIXME: Lint attributes currently don't work directly on macros, and
- // therefore also doesn't work for the new `expect` attribute. This bug
- // is being tracked in rust#87391. The test will until then produce two
- // warnings about the unused variable x.
- //
- // The expectation is still marked as fulfilled. I'm not totally why but
- // my guess is that this will remain working when rust#87391 has been fixed.
-}
-
-fn main() {
-
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_lint_from_macro.stderr b/src/test/ui/lint/rfc-2383-lint-reason/expect_lint_from_macro.stderr
deleted file mode 100644
index 817e16fdc..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_lint_from_macro.stderr
+++ /dev/null
@@ -1,29 +0,0 @@
-warning: unused variable: `x`
- --> $DIR/expect_lint_from_macro.rs:9:13
- |
-LL | let x = 0;
- | ^ help: if this is intentional, prefix it with an underscore: `_x`
-...
-LL | trigger_unused_variables_macro!();
- | --------------------------------- in this macro invocation
- |
-note: the lint level is defined here
- --> $DIR/expect_lint_from_macro.rs:5:9
- |
-LL | #![warn(unused_variables)]
- | ^^^^^^^^^^^^^^^^
- = note: this warning originates in the macro `trigger_unused_variables_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-warning: unused variable: `x`
- --> $DIR/expect_lint_from_macro.rs:9:13
- |
-LL | let x = 0;
- | ^ help: if this is intentional, prefix it with an underscore: `_x`
-...
-LL | trigger_unused_variables_macro!();
- | --------------------------------- in this macro invocation
- |
- = note: this warning originates in the macro `trigger_unused_variables_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-warning: 2 warnings emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_missing_feature_gate.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_missing_feature_gate.rs
deleted file mode 100644
index 928e16106..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_missing_feature_gate.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// should error due to missing feature gate.
-
-#![warn(unused)]
-
-#[expect(unused)]
-//~^ ERROR: the `#[expect]` attribute is an experimental feature [E0658]
-fn main() {
- let x = 1;
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_missing_feature_gate.stderr b/src/test/ui/lint/rfc-2383-lint-reason/expect_missing_feature_gate.stderr
deleted file mode 100644
index b5601cf9e..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_missing_feature_gate.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0658]: the `#[expect]` attribute is an experimental feature
- --> $DIR/expect_missing_feature_gate.rs:5:1
- |
-LL | #[expect(unused)]
- | ^^^^^^^^^^^^^^^^^
- |
- = note: see issue #54503 <https://github.com/rust-lang/rust/issues/54503> for more information
- = help: add `#![feature(lint_reasons)]` to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_multiple_lints.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_multiple_lints.rs
deleted file mode 100644
index dc9a719a3..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_multiple_lints.rs
+++ /dev/null
@@ -1,58 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-
-#![warn(unused)]
-
-// The warnings are not double triggers, they identify different unfulfilled lint
-// expectations one for each listed lint.
-
-#[expect(unused_variables, unused_mut, while_true)]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-//~| NOTE `#[warn(unfulfilled_lint_expectations)]` on by default
-//~| WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-fn check_multiple_lints_1() {
- // This only trigger `unused_variables`
- let who_am_i = 666;
-}
-
-#[expect(unused_variables, unused_mut, while_true)]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-//~| WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-fn check_multiple_lints_2() {
- // This only triggers `unused_mut`
- let mut x = 0;
- println!("I use x: {}", x);
-}
-
-#[expect(unused_variables, unused_mut, while_true)]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-//~| WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-fn check_multiple_lints_3() {
- // This only triggers `while_true` which is also an early lint
- while true {}
-}
-
-#[expect(unused, while_true)]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-fn check_multiple_lints_with_lint_group_1() {
- let who_am_i = 666;
-
- let mut x = 0;
- println!("I use x: {}", x);
-}
-
-#[expect(unused, while_true)]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-fn check_multiple_lints_with_lint_group_2() {
- while true {}
-}
-
-fn main() {
- check_multiple_lints_1();
- check_multiple_lints_2();
- check_multiple_lints_3();
-
- check_multiple_lints_with_lint_group_1();
- check_multiple_lints_with_lint_group_2();
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_multiple_lints.stderr b/src/test/ui/lint/rfc-2383-lint-reason/expect_multiple_lints.stderr
deleted file mode 100644
index 90ee744b2..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_multiple_lints.stderr
+++ /dev/null
@@ -1,52 +0,0 @@
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_multiple_lints.rs:10:28
- |
-LL | #[expect(unused_variables, unused_mut, while_true)]
- | ^^^^^^^^^^
- |
- = note: `#[warn(unfulfilled_lint_expectations)]` on by default
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_multiple_lints.rs:10:40
- |
-LL | #[expect(unused_variables, unused_mut, while_true)]
- | ^^^^^^^^^^
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_multiple_lints.rs:19:10
- |
-LL | #[expect(unused_variables, unused_mut, while_true)]
- | ^^^^^^^^^^^^^^^^
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_multiple_lints.rs:19:40
- |
-LL | #[expect(unused_variables, unused_mut, while_true)]
- | ^^^^^^^^^^
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_multiple_lints.rs:28:10
- |
-LL | #[expect(unused_variables, unused_mut, while_true)]
- | ^^^^^^^^^^^^^^^^
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_multiple_lints.rs:28:28
- |
-LL | #[expect(unused_variables, unused_mut, while_true)]
- | ^^^^^^^^^^
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_multiple_lints.rs:36:18
- |
-LL | #[expect(unused, while_true)]
- | ^^^^^^^^^^
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_multiple_lints.rs:45:10
- |
-LL | #[expect(unused, while_true)]
- | ^^^^^^
-
-warning: 8 warnings emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_nested_lint_levels.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_nested_lint_levels.rs
deleted file mode 100644
index 8f94bd6ec..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_nested_lint_levels.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-// ignore-tidy-linelength
-
-#![feature(lint_reasons)]
-#![warn(unused_mut)]
-
-#[expect(
- unused_mut,
- //~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
- //~| NOTE `#[warn(unfulfilled_lint_expectations)]` on by default
- //~| NOTE this `expect` is overridden by a `allow` attribute before the `unused_mut` lint is triggered
- reason = "this `expect` is overridden by a `allow` attribute before the `unused_mut` lint is triggered"
-)]
-mod foo {
- fn bar() {
- #[allow(
- unused_mut,
- reason = "this overrides the previous `expect` lint level and allows the `unused_mut` lint here"
- )]
- let mut v = 0;
- }
-}
-
-#[expect(
- unused_mut,
- //~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
- //~| NOTE this `expect` is overridden by a `warn` attribute before the `unused_mut` lint is triggered
- reason = "this `expect` is overridden by a `warn` attribute before the `unused_mut` lint is triggered"
-)]
-mod oof {
- #[warn(
- unused_mut,
- //~^ NOTE the lint level is defined here
- reason = "this overrides the previous `expect` lint level and warns about the `unused_mut` lint here"
- )]
- fn bar() {
- let mut v = 0;
- //~^ WARNING variable does not need to be mutable [unused_mut]
- //~| NOTE this overrides the previous `expect` lint level and warns about the `unused_mut` lint here
- //~| HELP remove this `mut`
- }
-}
-
-#[expect(unused_variables)]
-//~^ WARNING this lint expectation is unfulfilled
-#[forbid(unused_variables)]
-//~^ NOTE the lint level is defined here
-fn check_expect_then_forbid() {
- let this_is_my_function = 3;
- //~^ ERROR unused variable: `this_is_my_function` [unused_variables]
- //~| HELP if this is intentional, prefix it with an underscore
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_nested_lint_levels.stderr b/src/test/ui/lint/rfc-2383-lint-reason/expect_nested_lint_levels.stderr
deleted file mode 100644
index 2c35647b8..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_nested_lint_levels.stderr
+++ /dev/null
@@ -1,52 +0,0 @@
-error: unused variable: `this_is_my_function`
- --> $DIR/expect_nested_lint_levels.rs:48:9
- |
-LL | let this_is_my_function = 3;
- | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_is_my_function`
- |
-note: the lint level is defined here
- --> $DIR/expect_nested_lint_levels.rs:45:10
- |
-LL | #[forbid(unused_variables)]
- | ^^^^^^^^^^^^^^^^
-
-warning: variable does not need to be mutable
- --> $DIR/expect_nested_lint_levels.rs:36:13
- |
-LL | let mut v = 0;
- | ----^
- | |
- | help: remove this `mut`
- |
- = note: this overrides the previous `expect` lint level and warns about the `unused_mut` lint here
-note: the lint level is defined here
- --> $DIR/expect_nested_lint_levels.rs:31:9
- |
-LL | unused_mut,
- | ^^^^^^^^^^
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_nested_lint_levels.rs:7:5
- |
-LL | unused_mut,
- | ^^^^^^^^^^
- |
- = note: this `expect` is overridden by a `allow` attribute before the `unused_mut` lint is triggered
- = note: `#[warn(unfulfilled_lint_expectations)]` on by default
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_nested_lint_levels.rs:24:5
- |
-LL | unused_mut,
- | ^^^^^^^^^^
- |
- = note: this `expect` is overridden by a `warn` attribute before the `unused_mut` lint is triggered
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_nested_lint_levels.rs:43:10
- |
-LL | #[expect(unused_variables)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error; 4 warnings emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_on_fn_params.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_on_fn_params.rs
deleted file mode 100644
index 5fdb71041..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_on_fn_params.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// check-pass
-#![feature(lint_reasons)]
-
-#[warn(unused_variables)]
-
-/// This should catch the unused_variables lint and not emit anything
-fn check_fulfilled_expectation(#[expect(unused_variables)] unused_value: u32) {}
-
-fn check_unfulfilled_expectation(#[expect(unused_variables)] used_value: u32) {
- //~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
- //~| NOTE `#[warn(unfulfilled_lint_expectations)]` on by default
- println!("I use the value {used_value}");
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_on_fn_params.stderr b/src/test/ui/lint/rfc-2383-lint-reason/expect_on_fn_params.stderr
deleted file mode 100644
index 69f7cda08..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_on_fn_params.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_on_fn_params.rs:9:43
- |
-LL | fn check_unfulfilled_expectation(#[expect(unused_variables)] used_value: u32) {
- | ^^^^^^^^^^^^^^^^
- |
- = note: `#[warn(unfulfilled_lint_expectations)]` on by default
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_tool_lint_rfc_2383.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_tool_lint_rfc_2383.rs
deleted file mode 100644
index f80fe88cb..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_tool_lint_rfc_2383.rs
+++ /dev/null
@@ -1,155 +0,0 @@
-// check-pass
-#![feature(lint_reasons)]
-
-//! This file tests the `#[expect]` attribute implementation for tool lints. The same
-//! file is used to test clippy and rustdoc. Any changes to this file should be synced
-//! to the other test files.
-//!
-//! Expectations:
-//! * rustc: only rustc lint expectations are emitted
-//! * clippy: rustc and Clippy's expectations are emitted
-//! * rustdoc: only rustdoc lint expectations are emitted
-//!
-//! This test can't cover every lint from Clippy, rustdoc and potentially other
-//! tools that will be developed. This therefore only tests a small subset of lints
-
-#![expect(rustdoc::missing_crate_level_docs)]
-
-mod rustc_ok {
- //! See <https://doc.rust-lang.org/rustc/lints/index.html>
-
- #[expect(dead_code)]
- pub fn rustc_lints() {
- let x = 42.0;
-
- #[expect(illegal_floating_point_literal_pattern)]
- match x {
- 5.0 => {}
- 6.0 => {}
- _ => {}
- }
- }
-}
-
-mod rustc_warn {
- //! See <https://doc.rust-lang.org/rustc/lints/index.html>
-
- #[expect(dead_code)]
- //~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
- //~| NOTE `#[warn(unfulfilled_lint_expectations)]` on by default
- pub fn rustc_lints() {
- let x = 42;
-
- #[expect(illegal_floating_point_literal_pattern)]
- //~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
- match x {
- 5 => {}
- 6 => {}
- _ => {}
- }
- }
-}
-
-pub mod rustdoc_ok {
- //! See <https://doc.rust-lang.org/rustdoc/lints.html>
-
- #[expect(rustdoc::broken_intra_doc_links)]
- /// I want to link to [`Nonexistent`] but it doesn't exist!
- pub fn foo() {}
-
- #[expect(rustdoc::invalid_html_tags)]
- /// <h1>
- pub fn bar() {}
-
- #[expect(rustdoc::bare_urls)]
- /// http://example.org
- pub fn baz() {}
-}
-
-pub mod rustdoc_warn {
- //! See <https://doc.rust-lang.org/rustdoc/lints.html>
-
- #[expect(rustdoc::broken_intra_doc_links)]
- /// I want to link to [`bar`] but it doesn't exist!
- pub fn foo() {}
-
- #[expect(rustdoc::invalid_html_tags)]
- /// <h1></h1>
- pub fn bar() {}
-
- #[expect(rustdoc::bare_urls)]
- /// <http://example.org>
- pub fn baz() {}
-}
-
-mod clippy_ok {
- //! See <https://rust-lang.github.io/rust-clippy/master/index.html>
-
- #[expect(clippy::almost_swapped)]
- fn foo() {
- let mut a = 0;
- let mut b = 9;
- a = b;
- b = a;
- }
-
- #[expect(clippy::bytes_nth)]
- fn bar() {
- let _ = "Hello".bytes().nth(3);
- }
-
- #[expect(clippy::if_same_then_else)]
- fn baz() {
- let _ = if true {
- 42
- } else {
- 42
- };
- }
-
- #[expect(clippy::logic_bug)]
- fn burger() {
- let a = false;
- let b = true;
-
- if a && b || a {}
- }
-}
-
-mod clippy_warn {
- //! See <https://rust-lang.github.io/rust-clippy/master/index.html>
-
- #[expect(clippy::almost_swapped)]
- fn foo() {
- let mut a = 0;
- let mut b = 9;
- a = b;
- }
-
- #[expect(clippy::bytes_nth)]
- fn bar() {
- let _ = "Hello".as_bytes().get(3);
- }
-
- #[expect(clippy::if_same_then_else)]
- fn baz() {
- let _ = if true {
- 33
- } else {
- 42
- };
- }
-
- #[expect(clippy::logic_bug)]
- fn burger() {
- let a = false;
- let b = true;
- let c = false;
-
- if a && b || c {}
- }
-}
-
-fn main() {
- rustc_warn::rustc_lints();
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_tool_lint_rfc_2383.stderr b/src/test/ui/lint/rfc-2383-lint-reason/expect_tool_lint_rfc_2383.stderr
deleted file mode 100644
index 6d49e7543..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_tool_lint_rfc_2383.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_tool_lint_rfc_2383.rs:37:14
- |
-LL | #[expect(dead_code)]
- | ^^^^^^^^^
- |
- = note: `#[warn(unfulfilled_lint_expectations)]` on by default
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_tool_lint_rfc_2383.rs:43:18
- |
-LL | #[expect(illegal_floating_point_literal_pattern)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: 2 warnings emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_unfulfilled_expectation.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_unfulfilled_expectation.rs
deleted file mode 100644
index d38e65533..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_unfulfilled_expectation.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-// check-pass
-// ignore-tidy-linelength
-
-#![feature(lint_reasons)]
-#![warn(unused_mut)]
-
-#![expect(unfulfilled_lint_expectations, reason = "idk why you would expect this")]
-//~^ WARNING this lint expectation is unfulfilled
-//~| NOTE `#[warn(unfulfilled_lint_expectations)]` on by default
-//~| NOTE idk why you would expect this
-//~| NOTE the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message
-
-#[expect(unfulfilled_lint_expectations, reason = "a local: idk why you would expect this")]
-//~^ WARNING this lint expectation is unfulfilled
-//~| NOTE a local: idk why you would expect this
-//~| NOTE the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message
-pub fn normal_test_fn() {
- #[expect(unused_mut, reason = "this expectation will create a diagnostic with the default lint level")]
- //~^ WARNING this lint expectation is unfulfilled
- //~| NOTE this expectation will create a diagnostic with the default lint level
- let mut v = vec![1, 1, 2, 3, 5];
- v.sort();
-
- // Check that lint lists including `unfulfilled_lint_expectations` are also handled correctly
- #[expect(unused, unfulfilled_lint_expectations, reason = "the expectation for `unused` should be fulfilled")]
- //~^ WARNING this lint expectation is unfulfilled
- //~| NOTE the expectation for `unused` should be fulfilled
- //~| NOTE the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message
- let value = "I'm unused";
-}
-
-#[expect(warnings, reason = "this suppresses all warnings and also suppresses itself. No warning will be issued")]
-pub fn expect_warnings() {
- // This lint trigger will be suppressed
- #[warn(unused_mut)]
- let mut v = vec![1, 1, 2, 3, 5];
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_unfulfilled_expectation.stderr b/src/test/ui/lint/rfc-2383-lint-reason/expect_unfulfilled_expectation.stderr
deleted file mode 100644
index 9a1c3e442..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_unfulfilled_expectation.stderr
+++ /dev/null
@@ -1,38 +0,0 @@
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_unfulfilled_expectation.rs:7:11
- |
-LL | #![expect(unfulfilled_lint_expectations, reason = "idk why you would expect this")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: idk why you would expect this
- = note: the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message
- = note: `#[warn(unfulfilled_lint_expectations)]` on by default
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_unfulfilled_expectation.rs:13:10
- |
-LL | #[expect(unfulfilled_lint_expectations, reason = "a local: idk why you would expect this")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: a local: idk why you would expect this
- = note: the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_unfulfilled_expectation.rs:18:14
- |
-LL | #[expect(unused_mut, reason = "this expectation will create a diagnostic with the default lint level")]
- | ^^^^^^^^^^
- |
- = note: this expectation will create a diagnostic with the default lint level
-
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_unfulfilled_expectation.rs:25:22
- |
-LL | #[expect(unused, unfulfilled_lint_expectations, reason = "the expectation for `unused` should be fulfilled")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the expectation for `unused` should be fulfilled
- = note: the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message
-
-warning: 4 warnings emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_with_forbid.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_with_forbid.rs
deleted file mode 100644
index 479ee198e..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_with_forbid.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-#![feature(lint_reasons)]
-
-#[forbid(unused_variables)]
-//~^ NOTE `forbid` level set here
-//~| NOTE `forbid` level set here
-#[expect(unused_variables)]
-//~^ ERROR incompatible with previous forbid [E0453]
-//~| NOTE overruled by previous forbid
-//~| ERROR incompatible with previous forbid [E0453]
-//~| NOTE overruled by previous forbid
-fn expect_forbidden_lint_1() {}
-
-#[forbid(while_true)]
-//~^ NOTE `forbid` level set here
-//~| NOTE `forbid` level set here
-//~| NOTE the lint level is defined here
-#[expect(while_true)]
-//~^ ERROR incompatible with previous forbid [E0453]
-//~| NOTE overruled by previous forbid
-//~| ERROR incompatible with previous forbid [E0453]
-//~| NOTE overruled by previous forbid
-fn expect_forbidden_lint_2() {
- // This while loop will produce a `while_true` lint as the lint level
- // at this node is still `forbid` and the `while_true` check happens
- // before the compilation terminates due to `E0453`
- while true {}
- //~^ ERROR denote infinite loops with `loop { ... }`
- //~| HELP use `loop`
-}
-
-fn main() {
- expect_forbidden_lint_1();
- expect_forbidden_lint_2();
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_with_forbid.stderr b/src/test/ui/lint/rfc-2383-lint-reason/expect_with_forbid.stderr
deleted file mode 100644
index a8116e934..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_with_forbid.stderr
+++ /dev/null
@@ -1,51 +0,0 @@
-error[E0453]: expect(unused_variables) incompatible with previous forbid
- --> $DIR/expect_with_forbid.rs:6:10
- |
-LL | #[forbid(unused_variables)]
- | ---------------- `forbid` level set here
-...
-LL | #[expect(unused_variables)]
- | ^^^^^^^^^^^^^^^^ overruled by previous forbid
-
-error[E0453]: expect(while_true) incompatible with previous forbid
- --> $DIR/expect_with_forbid.rs:17:10
- |
-LL | #[forbid(while_true)]
- | ---------- `forbid` level set here
-...
-LL | #[expect(while_true)]
- | ^^^^^^^^^^ overruled by previous forbid
-
-error[E0453]: expect(unused_variables) incompatible with previous forbid
- --> $DIR/expect_with_forbid.rs:6:10
- |
-LL | #[forbid(unused_variables)]
- | ---------------- `forbid` level set here
-...
-LL | #[expect(unused_variables)]
- | ^^^^^^^^^^^^^^^^ overruled by previous forbid
-
-error[E0453]: expect(while_true) incompatible with previous forbid
- --> $DIR/expect_with_forbid.rs:17:10
- |
-LL | #[forbid(while_true)]
- | ---------- `forbid` level set here
-...
-LL | #[expect(while_true)]
- | ^^^^^^^^^^ overruled by previous forbid
-
-error: denote infinite loops with `loop { ... }`
- --> $DIR/expect_with_forbid.rs:26:5
- |
-LL | while true {}
- | ^^^^^^^^^^ help: use `loop`
- |
-note: the lint level is defined here
- --> $DIR/expect_with_forbid.rs:13:10
- |
-LL | #[forbid(while_true)]
- | ^^^^^^^^^^
-
-error: aborting due to 5 previous errors
-
-For more information about this error, try `rustc --explain E0453`.
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_with_reason.rs b/src/test/ui/lint/rfc-2383-lint-reason/expect_with_reason.rs
deleted file mode 100644
index b4183d982..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_with_reason.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-#![warn(unused)]
-
-#![expect(unused_variables, reason = "<This should fail and display this reason>")]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-//~| NOTE `#[warn(unfulfilled_lint_expectations)]` on by default
-//~| NOTE <This should fail and display this reason>
-
-fn main() {}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/expect_with_reason.stderr b/src/test/ui/lint/rfc-2383-lint-reason/expect_with_reason.stderr
deleted file mode 100644
index e349e4081..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/expect_with_reason.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-warning: this lint expectation is unfulfilled
- --> $DIR/expect_with_reason.rs:6:11
- |
-LL | #![expect(unused_variables, reason = "<This should fail and display this reason>")]
- | ^^^^^^^^^^^^^^^^
- |
- = note: <This should fail and display this reason>
- = note: `#[warn(unfulfilled_lint_expectations)]` on by default
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_fulfilled.rs b/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_fulfilled.rs
deleted file mode 100644
index a3c3933d7..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_fulfilled.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-// compile-flags: --force-warn while_true
-// compile-flags: --force-warn unused_variables
-// compile-flags: --force-warn unused_mut
-// check-pass
-
-#![feature(lint_reasons)]
-
-fn expect_early_pass_lint() {
- #[expect(while_true)]
- while true {
- //~^ WARNING denote infinite loops with `loop { ... }` [while_true]
- //~| NOTE requested on the command line with `--force-warn while-true`
- //~| HELP use `loop`
- println!("I never stop")
- }
-}
-
-#[expect(unused_variables, reason="<this should fail and display this reason>")]
-fn check_specific_lint() {
- let x = 2;
- //~^ WARNING unused variable: `x` [unused_variables]
- //~| NOTE requested on the command line with `--force-warn unused-variables`
- //~| HELP if this is intentional, prefix it with an underscore
-}
-
-#[expect(unused)]
-fn check_multiple_lints_with_lint_group() {
- let fox_name = "Sir Nibbles";
- //~^ WARNING unused variable: `fox_name` [unused_variables]
- //~| HELP if this is intentional, prefix it with an underscore
-
- let mut what_does_the_fox_say = "*ding* *deng* *dung*";
- //~^ WARNING variable does not need to be mutable [unused_mut]
- //~| NOTE requested on the command line with `--force-warn unused-mut`
- //~| HELP remove this `mut`
-
- println!("The fox says: {what_does_the_fox_say}");
-}
-
-#[allow(unused_variables)]
-fn check_expect_overrides_allow_lint_level() {
- #[expect(unused_variables)]
- let this_should_fulfill_the_expectation = "The `#[allow]` has no power here";
- //~^ WARNING unused variable: `this_should_fulfill_the_expectation` [unused_variables]
- //~| HELP if this is intentional, prefix it with an underscore
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_fulfilled.stderr b/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_fulfilled.stderr
deleted file mode 100644
index 5942fa8ae..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_fulfilled.stderr
+++ /dev/null
@@ -1,40 +0,0 @@
-warning: unused variable: `x`
- --> $DIR/force_warn_expected_lints_fulfilled.rs:20:9
- |
-LL | let x = 2;
- | ^ help: if this is intentional, prefix it with an underscore: `_x`
- |
- = note: requested on the command line with `--force-warn unused-variables`
-
-warning: unused variable: `fox_name`
- --> $DIR/force_warn_expected_lints_fulfilled.rs:28:9
- |
-LL | let fox_name = "Sir Nibbles";
- | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fox_name`
-
-warning: unused variable: `this_should_fulfill_the_expectation`
- --> $DIR/force_warn_expected_lints_fulfilled.rs:43:9
- |
-LL | let this_should_fulfill_the_expectation = "The `#[allow]` has no power here";
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_should_fulfill_the_expectation`
-
-warning: variable does not need to be mutable
- --> $DIR/force_warn_expected_lints_fulfilled.rs:32:9
- |
-LL | let mut what_does_the_fox_say = "*ding* *deng* *dung*";
- | ----^^^^^^^^^^^^^^^^^^^^^
- | |
- | help: remove this `mut`
- |
- = note: requested on the command line with `--force-warn unused-mut`
-
-warning: denote infinite loops with `loop { ... }`
- --> $DIR/force_warn_expected_lints_fulfilled.rs:10:5
- |
-LL | while true {
- | ^^^^^^^^^^ help: use `loop`
- |
- = note: requested on the command line with `--force-warn while-true`
-
-warning: 5 warnings emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_unfulfilled.rs b/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_unfulfilled.rs
deleted file mode 100644
index 080e30023..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_unfulfilled.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-// compile-flags: --force-warn while_true
-// compile-flags: --force-warn unused_variables
-// compile-flags: --force-warn unused_mut
-// check-pass
-
-#![feature(lint_reasons)]
-
-fn expect_early_pass_lint(terminate: bool) {
- #[expect(while_true)]
- //~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
- //~| NOTE `#[warn(unfulfilled_lint_expectations)]` on by default
- while !terminate {
- println!("Do you know what a spin lock is?")
- }
-}
-
-#[expect(unused_variables, reason="<this should fail and display this reason>")]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-//~| NOTE <this should fail and display this reason>
-fn check_specific_lint() {
- let _x = 2;
-}
-
-#[expect(unused)]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-fn check_multiple_lints_with_lint_group() {
- let fox_name = "Sir Nibbles";
-
- let what_does_the_fox_say = "*ding* *deng* *dung*";
-
- println!("The fox says: {what_does_the_fox_say}");
- println!("~ {fox_name}")
-}
-
-
-#[expect(unused)]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-fn check_overridden_expectation_lint_level() {
- #[allow(unused_variables)]
- let this_should_not_fulfill_the_expectation = "maybe";
- //~^ WARNING unused variable: `this_should_not_fulfill_the_expectation` [unused_variables]
- //~| NOTE requested on the command line with `--force-warn unused-variables`
- //~| HELP if this is intentional, prefix it with an underscore
-}
-
-fn main() {
- check_multiple_lints_with_lint_group();
- check_overridden_expectation_lint_level();
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_unfulfilled.stderr b/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_unfulfilled.stderr
deleted file mode 100644
index c74fabe27..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/force_warn_expected_lints_unfulfilled.stderr
+++ /dev/null
@@ -1,38 +0,0 @@
-warning: unused variable: `this_should_not_fulfill_the_expectation`
- --> $DIR/force_warn_expected_lints_unfulfilled.rs:40:9
- |
-LL | let this_should_not_fulfill_the_expectation = "maybe";
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_this_should_not_fulfill_the_expectation`
- |
- = note: requested on the command line with `--force-warn unused-variables`
-
-warning: this lint expectation is unfulfilled
- --> $DIR/force_warn_expected_lints_unfulfilled.rs:9:14
- |
-LL | #[expect(while_true)]
- | ^^^^^^^^^^
- |
- = note: `#[warn(unfulfilled_lint_expectations)]` on by default
-
-warning: this lint expectation is unfulfilled
- --> $DIR/force_warn_expected_lints_unfulfilled.rs:17:10
- |
-LL | #[expect(unused_variables, reason="<this should fail and display this reason>")]
- | ^^^^^^^^^^^^^^^^
- |
- = note: <this should fail and display this reason>
-
-warning: this lint expectation is unfulfilled
- --> $DIR/force_warn_expected_lints_unfulfilled.rs:24:10
- |
-LL | #[expect(unused)]
- | ^^^^^^
-
-warning: this lint expectation is unfulfilled
- --> $DIR/force_warn_expected_lints_unfulfilled.rs:36:10
- |
-LL | #[expect(unused)]
- | ^^^^^^
-
-warning: 5 warnings emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/fulfilled_expectation_early_lints.rs b/src/test/ui/lint/rfc-2383-lint-reason/fulfilled_expectation_early_lints.rs
deleted file mode 100644
index 6624b930e..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/fulfilled_expectation_early_lints.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-
-fn expect_early_pass_lints() {
- #[expect(while_true)]
- while true {
- println!("I never stop")
- }
-
- #[expect(unused_doc_comments)]
- /// This comment triggers the `unused_doc_comments` lint
- let _sheep = "wolf";
-
- let x = 123;
- #[expect(ellipsis_inclusive_range_patterns)]
- match x {
- 0...100 => {}
- _ => {}
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/fulfilled_expectation_late_lints.rs b/src/test/ui/lint/rfc-2383-lint-reason/fulfilled_expectation_late_lints.rs
deleted file mode 100644
index 5d928b3ca..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/fulfilled_expectation_late_lints.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-#![warn(unused)]
-
-#[expect(unused_variables)]
-fn check_specific_lint() {
- let x = 2;
-}
-
-#[expect(unused)]
-fn check_lint_group() {
- let x = 15;
-}
-
-#[expect(unused_variables)]
-fn check_multiple_lint_emissions() {
- let r = 1;
- let u = 8;
- let s = 2;
- let t = 9;
-}
-
-mod check_fulfilled_expect_in_macro {
- macro_rules! expect_inside_macro {
- () => {
- #[expect(unused_variables)]
- let x = 0;
- };
- }
-
- pub fn check_macro() {
- expect_inside_macro!();
- }
-}
-
-fn main() {
- check_specific_lint();
- check_lint_group();
- check_multiple_lint_emissions();
-
- check_fulfilled_expect_in_macro::check_macro();
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/lint-attribute-only-with-reason.rs b/src/test/ui/lint/rfc-2383-lint-reason/lint-attribute-only-with-reason.rs
deleted file mode 100644
index bafdea96e..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/lint-attribute-only-with-reason.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-#![feature(lint_reasons)]
-
-#![deny(unused_attributes)]
-
-#[allow(reason = "I want to allow something")]//~ ERROR unused attribute
-#[expect(reason = "I don't know what I'm waiting for")]//~ ERROR unused attribute
-#[warn(reason = "This should be warn by default")]//~ ERROR unused attribute
-#[deny(reason = "All listed lints are denied")]//~ ERROR unused attribute
-#[forbid(reason = "Just some reason")]//~ ERROR unused attribute
-
-#[allow(clippy::box_collection, reason = "This is still valid")]
-#[warn(dead_code, reason = "This is also reasonable")]
-
-fn main() {}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/lint-attribute-only-with-reason.stderr b/src/test/ui/lint/rfc-2383-lint-reason/lint-attribute-only-with-reason.stderr
deleted file mode 100644
index 3e9d70821..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/lint-attribute-only-with-reason.stderr
+++ /dev/null
@@ -1,47 +0,0 @@
-error: unused attribute
- --> $DIR/lint-attribute-only-with-reason.rs:5:1
- |
-LL | #[allow(reason = "I want to allow something")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
- = note: attribute `allow` without any lints has no effect
-note: the lint level is defined here
- --> $DIR/lint-attribute-only-with-reason.rs:3:9
- |
-LL | #![deny(unused_attributes)]
- | ^^^^^^^^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/lint-attribute-only-with-reason.rs:6:1
- |
-LL | #[expect(reason = "I don't know what I'm waiting for")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
- = note: attribute `expect` without any lints has no effect
-
-error: unused attribute
- --> $DIR/lint-attribute-only-with-reason.rs:7:1
- |
-LL | #[warn(reason = "This should be warn by default")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
- = note: attribute `warn` without any lints has no effect
-
-error: unused attribute
- --> $DIR/lint-attribute-only-with-reason.rs:8:1
- |
-LL | #[deny(reason = "All listed lints are denied")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
- = note: attribute `deny` without any lints has no effect
-
-error: unused attribute
- --> $DIR/lint-attribute-only-with-reason.rs:9:1
- |
-LL | #[forbid(reason = "Just some reason")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
- = note: attribute `forbid` without any lints has no effect
-
-error: aborting due to 5 previous errors
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/multiple_expect_attrs.rs b/src/test/ui/lint/rfc-2383-lint-reason/multiple_expect_attrs.rs
deleted file mode 100644
index 98080b4e8..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/multiple_expect_attrs.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// check-pass
-
-#![feature(lint_reasons)]
-#![warn(unused)]
-
-#[warn(unused_variables)]
-#[expect(unused_variables)]
-//~^ WARNING this lint expectation is unfulfilled [unfulfilled_lint_expectations]
-//~| NOTE `#[warn(unfulfilled_lint_expectations)]` on by default
-#[allow(unused_variables)]
-#[expect(unused_variables)] // Only this expectation will be fulfilled
-fn main() {
- let x = 2;
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/multiple_expect_attrs.stderr b/src/test/ui/lint/rfc-2383-lint-reason/multiple_expect_attrs.stderr
deleted file mode 100644
index df7d6584f..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/multiple_expect_attrs.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: this lint expectation is unfulfilled
- --> $DIR/multiple_expect_attrs.rs:7:10
- |
-LL | #[expect(unused_variables)]
- | ^^^^^^^^^^^^^^^^
- |
- = note: `#[warn(unfulfilled_lint_expectations)]` on by default
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/no_ice_for_partial_compiler_runs.rs b/src/test/ui/lint/rfc-2383-lint-reason/no_ice_for_partial_compiler_runs.rs
deleted file mode 100644
index 2b6c3c6a1..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/no_ice_for_partial_compiler_runs.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// This ensures that ICEs like rust#94953 don't happen
-// check-pass
-// compile-flags: -Z unpretty=expanded
-
-#![feature(lint_reasons)]
-
-// This `expect` will create an expectation with an unstable expectation id
-#[expect(while_true)]
-fn create_early_lint_pass_expectation() {
- // `while_true` is an early lint
- while true {}
-}
-
-fn main() {
- create_early_lint_pass_expectation();
-}
diff --git a/src/test/ui/lint/rfc-2383-lint-reason/no_ice_for_partial_compiler_runs.stdout b/src/test/ui/lint/rfc-2383-lint-reason/no_ice_for_partial_compiler_runs.stdout
deleted file mode 100644
index 0ee3a03c3..000000000
--- a/src/test/ui/lint/rfc-2383-lint-reason/no_ice_for_partial_compiler_runs.stdout
+++ /dev/null
@@ -1,20 +0,0 @@
-#![feature(prelude_import)]
-#![no_std]
-// This ensures that ICEs like rust#94953 don't happen
-// check-pass
-// compile-flags: -Z unpretty=expanded
-
-#![feature(lint_reasons)]
-#[prelude_import]
-use ::std::prelude::rust_2015::*;
-#[macro_use]
-extern crate std;
-
-// This `expect` will create an expectation with an unstable expectation id
-#[expect(while_true)]
-fn create_early_lint_pass_expectation() {
- // `while_true` is an early lint
- while true {}
-}
-
-fn main() { create_early_lint_pass_expectation(); }
diff --git a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-confusable-idents.rs b/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-confusable-idents.rs
deleted file mode 100644
index e7da825ae..000000000
--- a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-confusable-idents.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-#![deny(confusable_idents)]
-#![allow(uncommon_codepoints, non_upper_case_globals)]
-
-const s: usize = 42;
-const s_s: usize = 42;
-
-fn main() {
- let s = "rust"; //~ ERROR identifier pair considered confusable
- let s_s = "rust2"; //~ ERROR identifier pair considered confusable
- not_affected();
-}
-
-fn not_affected() {
- let s1 = 1;
- let sl = 'l';
-}
diff --git a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-confusable-idents.stderr b/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-confusable-idents.stderr
deleted file mode 100644
index e9906c83d..000000000
--- a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-confusable-idents.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: identifier pair considered confusable between `s` and `s`
- --> $DIR/lint-confusable-idents.rs:8:9
- |
-LL | const s: usize = 42;
- | -- this is where the previous identifier occurred
-...
-LL | let s = "rust";
- | ^
- |
-note: the lint level is defined here
- --> $DIR/lint-confusable-idents.rs:1:9
- |
-LL | #![deny(confusable_idents)]
- | ^^^^^^^^^^^^^^^^^
-
-error: identifier pair considered confusable between `s_s` and `s_s`
- --> $DIR/lint-confusable-idents.rs:9:9
- |
-LL | const s_s: usize = 42;
- | --- this is where the previous identifier occurred
-...
-LL | let s_s = "rust2";
- | ^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables-2.rs b/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables-2.rs
deleted file mode 100644
index f62c8a190..000000000
--- a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables-2.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// check-pass
-#![deny(mixed_script_confusables)]
-
-struct ΑctuallyNotLatin;
-
-fn main() {
- let λ = 42; // this usage of Greek confirms that Greek is used intentionally.
-}
-
-mod роре {
- const エ: &'static str = "アイウ";
-
- // this usage of Katakana confirms that Katakana is used intentionally.
- fn ニャン() {
- let д: usize = 100; // this usage of Cyrillic confirms that Cyrillic is used intentionally.
-
- println!("meow!");
- }
-}
diff --git a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables.rs b/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables.rs
deleted file mode 100644
index 9d837d41f..000000000
--- a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-#![deny(mixed_script_confusables)]
-
-struct ΑctuallyNotLatin;
-//~^ ERROR the usage of Script Group `Greek` in this crate consists solely of
-
-fn main() {
- let v = ΑctuallyNotLatin;
-}
-
-mod роре {
-//~^ ERROR the usage of Script Group `Cyrillic` in this crate consists solely of
- const エ: &'static str = "アイウ";
- //~^ ERROR the usage of Script Group `Japanese, Katakana` in this crate consists solely of
-}
diff --git a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables.stderr b/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables.stderr
deleted file mode 100644
index 884a4a453..000000000
--- a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables.stderr
+++ /dev/null
@@ -1,34 +0,0 @@
-error: the usage of Script Group `Greek` in this crate consists solely of mixed script confusables
- --> $DIR/lint-mixed-script-confusables.rs:3:8
- |
-LL | struct ΑctuallyNotLatin;
- | ^^^^^^^^^^^^^^^^
- |
- = note: the usage includes 'Α' (U+0391)
- = note: please recheck to make sure their usages are indeed what you want
-note: the lint level is defined here
- --> $DIR/lint-mixed-script-confusables.rs:1:9
- |
-LL | #![deny(mixed_script_confusables)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: the usage of Script Group `Cyrillic` in this crate consists solely of mixed script confusables
- --> $DIR/lint-mixed-script-confusables.rs:10:5
- |
-LL | mod роре {
- | ^^^^
- |
- = note: the usage includes 'е' (U+0435), 'о' (U+043E), 'р' (U+0440)
- = note: please recheck to make sure their usages are indeed what you want
-
-error: the usage of Script Group `Japanese, Katakana` in this crate consists solely of mixed script confusables
- --> $DIR/lint-mixed-script-confusables.rs:12:11
- |
-LL | const エ: &'static str = "アイウ";
- | ^^
- |
- = note: the usage includes 'エ' (U+30A8)
- = note: please recheck to make sure their usages are indeed what you want
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-non-ascii-idents.rs b/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-non-ascii-idents.rs
deleted file mode 100644
index 8ae174409..000000000
--- a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-non-ascii-idents.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-#![deny(non_ascii_idents)]
-
-const חלודה: usize = 2; //~ ERROR identifier contains non-ASCII characters
-
-fn coöperation() {} //~ ERROR identifier contains non-ASCII characters
-
-fn main() {
- let naïveté = 2; //~ ERROR identifier contains non-ASCII characters
-
- // using the same identifier the second time won't trigger the lint.
- println!("{}", naïveté);
-}
diff --git a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-non-ascii-idents.stderr b/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-non-ascii-idents.stderr
deleted file mode 100644
index 8ed7f093c..000000000
--- a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-non-ascii-idents.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: identifier contains non-ASCII characters
- --> $DIR/lint-non-ascii-idents.rs:3:7
- |
-LL | const חלודה: usize = 2;
- | ^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-non-ascii-idents.rs:1:9
- |
-LL | #![deny(non_ascii_idents)]
- | ^^^^^^^^^^^^^^^^
-
-error: identifier contains non-ASCII characters
- --> $DIR/lint-non-ascii-idents.rs:5:4
- |
-LL | fn coöperation() {}
- | ^^^^^^^^^^^
-
-error: identifier contains non-ASCII characters
- --> $DIR/lint-non-ascii-idents.rs:8:9
- |
-LL | let naïveté = 2;
- | ^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-uncommon-codepoints.rs b/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-uncommon-codepoints.rs
deleted file mode 100644
index ed8e7dddd..000000000
--- a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-uncommon-codepoints.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![deny(uncommon_codepoints)]
-
-const µ: f64 = 0.000001; //~ ERROR identifier contains uncommon Unicode codepoints
-//~| WARNING should have an upper case name
-
-fn dijkstra() {} //~ ERROR identifier contains uncommon Unicode codepoints
-
-fn main() {
- let ㇻㇲㇳ = "rust"; //~ ERROR identifier contains uncommon Unicode codepoints
-
- // using the same identifier the second time won't trigger the lint.
- println!("{}", ㇻㇲㇳ);
-}
diff --git a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-uncommon-codepoints.stderr b/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-uncommon-codepoints.stderr
deleted file mode 100644
index 0533da030..000000000
--- a/src/test/ui/lint/rfc-2457-non-ascii-idents/lint-uncommon-codepoints.stderr
+++ /dev/null
@@ -1,34 +0,0 @@
-error: identifier contains uncommon Unicode codepoints
- --> $DIR/lint-uncommon-codepoints.rs:3:7
- |
-LL | const µ: f64 = 0.000001;
- | ^
- |
-note: the lint level is defined here
- --> $DIR/lint-uncommon-codepoints.rs:1:9
- |
-LL | #![deny(uncommon_codepoints)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: identifier contains uncommon Unicode codepoints
- --> $DIR/lint-uncommon-codepoints.rs:6:4
- |
-LL | fn dijkstra() {}
- | ^^^^^^^
-
-error: identifier contains uncommon Unicode codepoints
- --> $DIR/lint-uncommon-codepoints.rs:9:9
- |
-LL | let ㇻㇲㇳ = "rust";
- | ^^^^^^
-
-warning: constant `µ` should have an upper case name
- --> $DIR/lint-uncommon-codepoints.rs:3:7
- |
-LL | const µ: f64 = 0.000001;
- | ^ help: convert the identifier to upper case: `Μ`
- |
- = note: `#[warn(non_upper_case_globals)]` on by default
-
-error: aborting due to 3 previous errors; 1 warning emitted
-
diff --git a/src/test/ui/lint/rustdoc-group.rs b/src/test/ui/lint/rustdoc-group.rs
deleted file mode 100644
index 130abe425..000000000
--- a/src/test/ui/lint/rustdoc-group.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-// check-pass
-// compile-flags: --crate-type lib
-#![deny(rustdoc)]
-//~^ WARNING removed: use `rustdoc::all`
-#![deny(rustdoc::all)] // has no effect when run with rustc directly
diff --git a/src/test/ui/lint/rustdoc-group.stderr b/src/test/ui/lint/rustdoc-group.stderr
deleted file mode 100644
index fddc863ae..000000000
--- a/src/test/ui/lint/rustdoc-group.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-warning: lint `rustdoc` has been removed: use `rustdoc::all` instead
- --> $DIR/rustdoc-group.rs:3:9
- |
-LL | #![deny(rustdoc)]
- | ^^^^^^^
- |
- = note: `#[warn(renamed_and_removed_lints)]` on by default
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/rustdoc-renamed.rs b/src/test/ui/lint/rustdoc-renamed.rs
deleted file mode 100644
index ecd6155b7..000000000
--- a/src/test/ui/lint/rustdoc-renamed.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-#![crate_type = "lib"]
-
-#![deny(unknown_lints)]
-#![deny(renamed_and_removed_lints)]
-//~^ NOTE lint level is defined
-
-// both allowed, since the compiler doesn't yet know what rustdoc lints are valid
-#![deny(rustdoc::x)]
-#![deny(rustdoc::intra_doc_link_resolution_failure)]
-
-#![deny(intra_doc_link_resolution_failure)]
-//~^ ERROR removed: use `rustdoc::broken_intra_doc_links`
-#![deny(non_autolinks)]
-// FIXME: the old names for rustdoc lints should warn by default once `rustdoc::` makes it to the
-// stable channel.
diff --git a/src/test/ui/lint/rustdoc-renamed.stderr b/src/test/ui/lint/rustdoc-renamed.stderr
deleted file mode 100644
index 096e867aa..000000000
--- a/src/test/ui/lint/rustdoc-renamed.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: lint `intra_doc_link_resolution_failure` has been removed: use `rustdoc::broken_intra_doc_links` instead
- --> $DIR/rustdoc-renamed.rs:11:9
- |
-LL | #![deny(intra_doc_link_resolution_failure)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/rustdoc-renamed.rs:4:9
- |
-LL | #![deny(renamed_and_removed_lints)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/auxiliary/foreign-crate.rs b/src/test/ui/lint/semicolon-in-expressions-from-macros/auxiliary/foreign-crate.rs
deleted file mode 100644
index 781391cc5..000000000
--- a/src/test/ui/lint/semicolon-in-expressions-from-macros/auxiliary/foreign-crate.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-#[macro_export]
-macro_rules! my_macro {
- () => { true; }
-}
diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/foreign-crate.rs b/src/test/ui/lint/semicolon-in-expressions-from-macros/foreign-crate.rs
deleted file mode 100644
index 374506366..000000000
--- a/src/test/ui/lint/semicolon-in-expressions-from-macros/foreign-crate.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// aux-build:foreign-crate.rs
-// check-pass
-
-extern crate foreign_crate;
-
-// Test that we do not lint for a macro in a foreign crate
-fn main() {
- let _ = foreign_crate::my_macro!();
-}
diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs b/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs
deleted file mode 100644
index fff380934..000000000
--- a/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-// check-pass
-// edition:2018
-#![feature(stmt_expr_attributes)]
-#![warn(semicolon_in_expressions_from_macros)]
-
-#[allow(dead_code)]
-macro_rules! foo {
- ($val:ident) => {
- true; //~ WARN trailing semicolon in macro
- //~| WARN this was previously accepted
- //~| WARN trailing semicolon in macro
- //~| WARN this was previously accepted
- //~| WARN trailing semicolon in macro
- //~| WARN this was previously accepted
- }
-}
-
-#[allow(semicolon_in_expressions_from_macros)]
-async fn bar() {
- foo!(first);
-}
-
-fn main() {
- #[allow(semicolon_in_expressions_from_macros)]
- let _ = {
- foo!(first)
- };
-
- #[allow(semicolon_in_expressions_from_macros)]
- let _ = foo!(second);
-
- #[allow(semicolon_in_expressions_from_macros)]
- fn inner() {
- let _ = foo!(third);
- }
-
- #[allow(semicolon_in_expressions_from_macros)]
- async {
- let _ = foo!(fourth);
- };
-
- let _ = {
- foo!(warn_in_block)
- };
-
- let _ = foo!(warn_in_expr);
-
- // This `#[allow]` does not work, since the attribute gets dropped
- // when we expand the macro
- let _ = #[allow(semicolon_in_expressions_from_macros)] foo!(allow_does_not_work);
-}
diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.stderr b/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.stderr
deleted file mode 100644
index 49608c205..000000000
--- a/src/test/ui/lint/semicolon-in-expressions-from-macros/semicolon-in-expressions-from-macros.stderr
+++ /dev/null
@@ -1,48 +0,0 @@
-warning: trailing semicolon in macro used in expression position
- --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
- |
-LL | true;
- | ^
-...
-LL | foo!(warn_in_block)
- | ------------------- in this macro invocation
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
- = note: macro invocations at the end of a block are treated as expressions
- = note: to ignore the value produced by the macro, add a semicolon after the invocation of `foo`
-note: the lint level is defined here
- --> $DIR/semicolon-in-expressions-from-macros.rs:4:9
- |
-LL | #![warn(semicolon_in_expressions_from_macros)]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-warning: trailing semicolon in macro used in expression position
- --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
- |
-LL | true;
- | ^
-...
-LL | let _ = foo!(warn_in_expr);
- | ------------------ in this macro invocation
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
- = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-warning: trailing semicolon in macro used in expression position
- --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
- |
-LL | true;
- | ^
-...
-LL | let _ = #[allow(semicolon_in_expressions_from_macros)] foo!(allow_does_not_work);
- | ------------------------- in this macro invocation
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
- = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/warn-semicolon-in-expressions-from-macros.rs b/src/test/ui/lint/semicolon-in-expressions-from-macros/warn-semicolon-in-expressions-from-macros.rs
deleted file mode 100644
index 2c63311e6..000000000
--- a/src/test/ui/lint/semicolon-in-expressions-from-macros/warn-semicolon-in-expressions-from-macros.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// check-pass
-// Ensure that trailing semicolons cause warnings by default
-
-macro_rules! foo {
- () => {
- true; //~ WARN trailing semicolon in macro
- //~| WARN this was previously
- }
-}
-
-fn main() {
- let _val = match true {
- true => false,
- _ => foo!()
- };
-}
diff --git a/src/test/ui/lint/semicolon-in-expressions-from-macros/warn-semicolon-in-expressions-from-macros.stderr b/src/test/ui/lint/semicolon-in-expressions-from-macros/warn-semicolon-in-expressions-from-macros.stderr
deleted file mode 100644
index 16c152eb2..000000000
--- a/src/test/ui/lint/semicolon-in-expressions-from-macros/warn-semicolon-in-expressions-from-macros.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-warning: trailing semicolon in macro used in expression position
- --> $DIR/warn-semicolon-in-expressions-from-macros.rs:6:13
- |
-LL | true;
- | ^
-...
-LL | _ => foo!()
- | ------ in this macro invocation
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
- = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
- = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/special-upper-lower-cases.rs b/src/test/ui/lint/special-upper-lower-cases.rs
deleted file mode 100644
index 761be61fa..000000000
--- a/src/test/ui/lint/special-upper-lower-cases.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// (#77273) These characters are in the general categories of
-// "Uppercase/Lowercase Letter".
-// The diagnostics don't provide meaningful suggestions for them
-// as we cannot convert them properly.
-
-// check-pass
-
-#![allow(uncommon_codepoints, unused)]
-
-struct 𝕟𝕠𝕥𝕒𝕔𝕒𝕞𝕖𝕝;
-//~^ WARN: type `𝕟𝕠𝕥𝕒𝕔𝕒𝕞𝕖𝕝` should have an upper camel case name
-
-// FIXME: How we should handle this?
-struct 𝕟𝕠𝕥_𝕒_𝕔𝕒𝕞𝕖𝕝;
-//~^ WARN: type `𝕟𝕠𝕥_𝕒_𝕔𝕒𝕞𝕖𝕝` should have an upper camel case name
-
-static 𝗻𝗼𝗻𝘂𝗽𝗽𝗲𝗿𝗰𝗮𝘀𝗲: i32 = 1;
-//~^ WARN: static variable `𝗻𝗼𝗻𝘂𝗽𝗽𝗲𝗿𝗰𝗮𝘀𝗲` should have an upper case name
-
-fn main() {
- let 𝓢𝓝𝓐𝓐𝓐𝓐𝓚𝓔𝓢 = 1;
- //~^ WARN: variable `𝓢𝓝𝓐𝓐𝓐𝓐𝓚𝓔𝓢` should have a snake case name
-}
diff --git a/src/test/ui/lint/special-upper-lower-cases.stderr b/src/test/ui/lint/special-upper-lower-cases.stderr
deleted file mode 100644
index 2aa13c33b..000000000
--- a/src/test/ui/lint/special-upper-lower-cases.stderr
+++ /dev/null
@@ -1,32 +0,0 @@
-warning: type `𝕟𝕠𝕥𝕒𝕔𝕒𝕞𝕖𝕝` should have an upper camel case name
- --> $DIR/special-upper-lower-cases.rs:10:8
- |
-LL | struct 𝕟𝕠𝕥𝕒𝕔𝕒𝕞𝕖𝕝;
- | ^^^^^^^^^ should have an UpperCamelCase name
- |
- = note: `#[warn(non_camel_case_types)]` on by default
-
-warning: type `𝕟𝕠𝕥_𝕒_𝕔𝕒𝕞𝕖𝕝` should have an upper camel case name
- --> $DIR/special-upper-lower-cases.rs:14:8
- |
-LL | struct 𝕟𝕠𝕥_𝕒_𝕔𝕒𝕞𝕖𝕝;
- | ^^^^^^^^^^^ should have an UpperCamelCase name
-
-warning: static variable `𝗻𝗼𝗻𝘂𝗽𝗽𝗲𝗿𝗰𝗮𝘀𝗲` should have an upper case name
- --> $DIR/special-upper-lower-cases.rs:17:8
- |
-LL | static 𝗻𝗼𝗻𝘂𝗽𝗽𝗲𝗿𝗰𝗮𝘀𝗲: i32 = 1;
- | ^^^^^^^^^^^^ should have an UPPER_CASE name
- |
- = note: `#[warn(non_upper_case_globals)]` on by default
-
-warning: variable `𝓢𝓝𝓐𝓐𝓐𝓐𝓚𝓔𝓢` should have a snake case name
- --> $DIR/special-upper-lower-cases.rs:21:9
- |
-LL | let 𝓢𝓝𝓐𝓐𝓐𝓐𝓚𝓔𝓢 = 1;
- | ^^^^^^^^^ should have a snake_case name
- |
- = note: `#[warn(non_snake_case)]` on by default
-
-warning: 4 warnings emitted
-
diff --git a/src/test/ui/lint/suggestions.fixed b/src/test/ui/lint/suggestions.fixed
deleted file mode 100644
index 35851690b..000000000
--- a/src/test/ui/lint/suggestions.fixed
+++ /dev/null
@@ -1,66 +0,0 @@
-// ignore-tidy-tab
-// run-rustfix
-
-#![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896
-
-#[no_mangle] pub static DISCOVERY: usize = 1;
-//~^ ERROR const items should never be `#[no_mangle]`
-//~| HELP try a static value
-
-
-//~^ HELP remove this attribute
-pub fn defiant<T>(_t: T) {}
-//~^ WARN functions generic over types or consts must be mangled
-
-#[no_mangle]
-fn rio_grande() {}
-
-mod badlands {
- // The private-no-mangle lints shouldn't suggest inserting `pub` when the
- // item is already `pub` (but triggered the lint because, e.g., it's in a
- // private module). (Issue #47383)
- #[no_mangle] pub static DAUNTLESS: bool = true;
- //~^ ERROR const items should never be `#[no_mangle]`
- //~| HELP try a static value
- #[allow(dead_code)] // for rustfix
- pub fn val_jean<T>() {}
- //~^ WARN functions generic over types or consts must be mangled
- //~| HELP remove this attribute
-
- // ... but we can suggest just-`pub` instead of restricted
- #[no_mangle] pub static VETAR: bool = true;
- //~^ ERROR const items should never be `#[no_mangle]`
- //~| HELP try a static value
- #[allow(dead_code)] // for rustfix
- pub(crate) fn crossfield<T>() {}
- //~^ WARN functions generic over types or consts must be mangled
- //~| HELP remove this attribute
-}
-
-struct Equinox {
- warp_factor: f32,
-}
-
-fn main() {
- loop {
- //~^ WARN denote infinite loops
- //~| HELP use `loop`
- let registry_no = format!("NX-{}", 74205);
- //~^ WARN does not need to be mutable
- //~| HELP remove this `mut`
- //~| WARN unnecessary parentheses
- //~| HELP remove these parentheses
- // the line after `mut` has a `\t` at the beginning, this is on purpose
- let b = 1;
- //~^^ WARN does not need to be mutable
- //~| HELP remove this `mut`
- let d = Equinox { warp_factor: 9.975 };
- match d {
- #[allow(unused_variables)] // for rustfix
- Equinox { warp_factor } => {}
- //~^ WARN this pattern is redundant
- //~| HELP use shorthand field pattern
- }
- println!("{} {}", registry_no, b);
- }
-}
diff --git a/src/test/ui/lint/suggestions.rs b/src/test/ui/lint/suggestions.rs
deleted file mode 100644
index be6f0d6b3..000000000
--- a/src/test/ui/lint/suggestions.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// ignore-tidy-tab
-// run-rustfix
-
-#![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896
-
-#[no_mangle] const DISCOVERY: usize = 1;
-//~^ ERROR const items should never be `#[no_mangle]`
-//~| HELP try a static value
-
-#[no_mangle]
-//~^ HELP remove this attribute
-pub fn defiant<T>(_t: T) {}
-//~^ WARN functions generic over types or consts must be mangled
-
-#[no_mangle]
-fn rio_grande() {}
-
-mod badlands {
- // The private-no-mangle lints shouldn't suggest inserting `pub` when the
- // item is already `pub` (but triggered the lint because, e.g., it's in a
- // private module). (Issue #47383)
- #[no_mangle] pub const DAUNTLESS: bool = true;
- //~^ ERROR const items should never be `#[no_mangle]`
- //~| HELP try a static value
- #[allow(dead_code)] // for rustfix
- #[no_mangle] pub fn val_jean<T>() {}
- //~^ WARN functions generic over types or consts must be mangled
- //~| HELP remove this attribute
-
- // ... but we can suggest just-`pub` instead of restricted
- #[no_mangle] pub(crate) const VETAR: bool = true;
- //~^ ERROR const items should never be `#[no_mangle]`
- //~| HELP try a static value
- #[allow(dead_code)] // for rustfix
- #[no_mangle] pub(crate) fn crossfield<T>() {}
- //~^ WARN functions generic over types or consts must be mangled
- //~| HELP remove this attribute
-}
-
-struct Equinox {
- warp_factor: f32,
-}
-
-fn main() {
- while true {
- //~^ WARN denote infinite loops
- //~| HELP use `loop`
- let mut registry_no = (format!("NX-{}", 74205));
- //~^ WARN does not need to be mutable
- //~| HELP remove this `mut`
- //~| WARN unnecessary parentheses
- //~| HELP remove these parentheses
- // the line after `mut` has a `\t` at the beginning, this is on purpose
- let mut
- b = 1;
- //~^^ WARN does not need to be mutable
- //~| HELP remove this `mut`
- let d = Equinox { warp_factor: 9.975 };
- match d {
- #[allow(unused_variables)] // for rustfix
- Equinox { warp_factor: warp_factor } => {}
- //~^ WARN this pattern is redundant
- //~| HELP use shorthand field pattern
- }
- println!("{} {}", registry_no, b);
- }
-}
diff --git a/src/test/ui/lint/suggestions.stderr b/src/test/ui/lint/suggestions.stderr
deleted file mode 100644
index 4caee777a..000000000
--- a/src/test/ui/lint/suggestions.stderr
+++ /dev/null
@@ -1,114 +0,0 @@
-warning: denote infinite loops with `loop { ... }`
- --> $DIR/suggestions.rs:45:5
- |
-LL | while true {
- | ^^^^^^^^^^ help: use `loop`
- |
- = note: `#[warn(while_true)]` on by default
-
-warning: unnecessary parentheses around assigned value
- --> $DIR/suggestions.rs:48:31
- |
-LL | let mut registry_no = (format!("NX-{}", 74205));
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/suggestions.rs:4:21
- |
-LL | #![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - let mut registry_no = (format!("NX-{}", 74205));
-LL + let mut registry_no = format!("NX-{}", 74205);
- |
-
-warning: variable does not need to be mutable
- --> $DIR/suggestions.rs:48:13
- |
-LL | let mut registry_no = (format!("NX-{}", 74205));
- | ----^^^^^^^^^^^
- | |
- | help: remove this `mut`
- |
-note: the lint level is defined here
- --> $DIR/suggestions.rs:4:9
- |
-LL | #![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896
- | ^^^^^^^^^^
-
-warning: variable does not need to be mutable
- --> $DIR/suggestions.rs:54:13
- |
-LL | let mut
- | ______________^
- | | _____________|
- | ||
-LL | || b = 1;
- | ||____________-^
- | |_____________|
- | help: remove this `mut`
-
-error: const items should never be `#[no_mangle]`
- --> $DIR/suggestions.rs:6:14
- |
-LL | #[no_mangle] const DISCOVERY: usize = 1;
- | -----^^^^^^^^^^^^^^^^^^^^^^
- | |
- | help: try a static value: `pub static`
- |
- = note: `#[deny(no_mangle_const_items)]` on by default
-
-warning: functions generic over types or consts must be mangled
- --> $DIR/suggestions.rs:12:1
- |
-LL | #[no_mangle]
- | ------------ help: remove this attribute
-LL |
-LL | pub fn defiant<T>(_t: T) {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: `#[warn(no_mangle_generic_items)]` on by default
-
-warning: the `warp_factor:` in this pattern is redundant
- --> $DIR/suggestions.rs:61:23
- |
-LL | Equinox { warp_factor: warp_factor } => {}
- | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `warp_factor`
- |
- = note: `#[warn(non_shorthand_field_patterns)]` on by default
-
-error: const items should never be `#[no_mangle]`
- --> $DIR/suggestions.rs:22:18
- |
-LL | #[no_mangle] pub const DAUNTLESS: bool = true;
- | ---------^^^^^^^^^^^^^^^^^^^^^^^^
- | |
- | help: try a static value: `pub static`
-
-warning: functions generic over types or consts must be mangled
- --> $DIR/suggestions.rs:26:18
- |
-LL | #[no_mangle] pub fn val_jean<T>() {}
- | ------------ ^^^^^^^^^^^^^^^^^^^^^^^
- | |
- | help: remove this attribute
-
-error: const items should never be `#[no_mangle]`
- --> $DIR/suggestions.rs:31:18
- |
-LL | #[no_mangle] pub(crate) const VETAR: bool = true;
- | ----------------^^^^^^^^^^^^^^^^^^^^
- | |
- | help: try a static value: `pub static`
-
-warning: functions generic over types or consts must be mangled
- --> $DIR/suggestions.rs:35:18
- |
-LL | #[no_mangle] pub(crate) fn crossfield<T>() {}
- | ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- | |
- | help: remove this attribute
-
-error: aborting due to 3 previous errors; 8 warnings emitted
-
diff --git a/src/test/ui/lint/test-allow-dead-extern-static-no-warning.rs b/src/test/ui/lint/test-allow-dead-extern-static-no-warning.rs
deleted file mode 100644
index 2583e431e..000000000
--- a/src/test/ui/lint/test-allow-dead-extern-static-no-warning.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// run-pass
-// compile-flags: --test
-
-#![deny(dead_code)]
-
-extern "C" {
- #[allow(dead_code)]
- static Qt: u64;
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/test-inner-fn.rs b/src/test/ui/lint/test-inner-fn.rs
deleted file mode 100644
index d419cc6fa..000000000
--- a/src/test/ui/lint/test-inner-fn.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// compile-flags: --test -D unnameable_test_items
-
-#[test]
-fn foo() {
- #[test] //~ ERROR cannot test inner items [unnameable_test_items]
- fn bar() {}
- bar();
-}
-
-mod x {
- #[test]
- fn foo() {
- #[test] //~ ERROR cannot test inner items [unnameable_test_items]
- fn bar() {}
- bar();
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/test-inner-fn.stderr b/src/test/ui/lint/test-inner-fn.stderr
deleted file mode 100644
index 7a32bc86b..000000000
--- a/src/test/ui/lint/test-inner-fn.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error: cannot test inner items
- --> $DIR/test-inner-fn.rs:5:5
- |
-LL | #[test]
- | ^^^^^^^
- |
- = note: requested on the command line with `-D unnameable-test-items`
- = note: this error originates in the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: cannot test inner items
- --> $DIR/test-inner-fn.rs:13:9
- |
-LL | #[test]
- | ^^^^^^^
- |
- = note: this error originates in the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/trivial-cast-ice.rs b/src/test/ui/lint/trivial-cast-ice.rs
deleted file mode 100644
index f781fab22..000000000
--- a/src/test/ui/lint/trivial-cast-ice.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// aux-build:trivial-cast-ice.rs
-// check-pass
-
-// Demonstrates the ICE in #102561
-
-#![deny(trivial_casts)]
-
-extern crate trivial_cast_ice;
-
-fn main() {
- trivial_cast_ice::foo!();
-}
diff --git a/src/test/ui/lint/trivial-casts-featuring-type-ascription.rs b/src/test/ui/lint/trivial-casts-featuring-type-ascription.rs
deleted file mode 100644
index 96bf2dcfb..000000000
--- a/src/test/ui/lint/trivial-casts-featuring-type-ascription.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-#![deny(trivial_casts, trivial_numeric_casts)]
-#![feature(type_ascription)]
-
-fn main() {
- let lugubrious = 12i32 as i32;
- //~^ ERROR trivial numeric cast
- let haunted: &u32 = &99;
- let _ = haunted as *const u32;
- //~^ ERROR trivial cast
-}
diff --git a/src/test/ui/lint/trivial-casts-featuring-type-ascription.stderr b/src/test/ui/lint/trivial-casts-featuring-type-ascription.stderr
deleted file mode 100644
index 5087807b6..000000000
--- a/src/test/ui/lint/trivial-casts-featuring-type-ascription.stderr
+++ /dev/null
@@ -1,28 +0,0 @@
-error: trivial numeric cast: `i32` as `i32`
- --> $DIR/trivial-casts-featuring-type-ascription.rs:5:22
- |
-LL | let lugubrious = 12i32 as i32;
- | ^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require type ascription or a temporary variable
-note: the lint level is defined here
- --> $DIR/trivial-casts-featuring-type-ascription.rs:1:24
- |
-LL | #![deny(trivial_casts, trivial_numeric_casts)]
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: trivial cast: `&u32` as `*const u32`
- --> $DIR/trivial-casts-featuring-type-ascription.rs:8:13
- |
-LL | let _ = haunted as *const u32;
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require type ascription or a temporary variable
-note: the lint level is defined here
- --> $DIR/trivial-casts-featuring-type-ascription.rs:1:9
- |
-LL | #![deny(trivial_casts, trivial_numeric_casts)]
- | ^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/trivial-casts.rs b/src/test/ui/lint/trivial-casts.rs
deleted file mode 100644
index b17de624a..000000000
--- a/src/test/ui/lint/trivial-casts.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#![deny(trivial_casts, trivial_numeric_casts)]
-
-fn main() {
- let lugubrious = 12i32 as i32;
- //~^ ERROR trivial numeric cast
- let haunted: &u32 = &99;
- let _ = haunted as *const u32;
- //~^ ERROR trivial cast
-}
diff --git a/src/test/ui/lint/trivial-casts.stderr b/src/test/ui/lint/trivial-casts.stderr
deleted file mode 100644
index 7ace353de..000000000
--- a/src/test/ui/lint/trivial-casts.stderr
+++ /dev/null
@@ -1,28 +0,0 @@
-error: trivial numeric cast: `i32` as `i32`
- --> $DIR/trivial-casts.rs:4:22
- |
-LL | let lugubrious = 12i32 as i32;
- | ^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-note: the lint level is defined here
- --> $DIR/trivial-casts.rs:1:24
- |
-LL | #![deny(trivial_casts, trivial_numeric_casts)]
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: trivial cast: `&u32` as `*const u32`
- --> $DIR/trivial-casts.rs:7:13
- |
-LL | let _ = haunted as *const u32;
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-note: the lint level is defined here
- --> $DIR/trivial-casts.rs:1:9
- |
-LL | #![deny(trivial_casts, trivial_numeric_casts)]
- | ^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/trivial_casts.rs b/src/test/ui/lint/trivial_casts.rs
deleted file mode 100644
index 0a8b9de1d..000000000
--- a/src/test/ui/lint/trivial_casts.rs
+++ /dev/null
@@ -1,85 +0,0 @@
-// Test the trivial_casts and trivial_numeric_casts lints. For each error we also
-// check that the cast can be done using just coercion.
-
-#![deny(trivial_casts, trivial_numeric_casts)]
-
-trait Foo {
- fn foo(&self) {}
-}
-
-pub struct Bar;
-
-impl Foo for Bar {}
-
-pub fn main() {
- // Numeric
- let _ = 42_i32 as i32; //~ ERROR trivial numeric cast: `i32` as `i32`
- let _: i32 = 42_i32;
-
- let _ = 42_u8 as u8; //~ ERROR trivial numeric cast: `u8` as `u8`
- let _: u8 = 42_u8;
-
- // & to * pointers
- let x: &u32 = &42;
- let _ = x as *const u32; //~ERROR trivial cast: `&u32` as `*const u32`
- let _: *const u32 = x;
-
- let x: &mut u32 = &mut 42;
- let _ = x as *mut u32; //~ERROR trivial cast: `&mut u32` as `*mut u32`
- let _: *mut u32 = x;
-
- // unsize array
- let x: &[u32; 3] = &[42, 43, 44];
- let _ = x as &[u32]; //~ERROR trivial cast: `&[u32; 3]` as `&[u32]`
- let _ = x as *const [u32]; //~ERROR trivial cast: `&[u32; 3]` as `*const [u32]`
- let _: &[u32] = x;
- let _: *const [u32] = x;
-
- let x: &mut [u32; 3] = &mut [42, 43, 44];
- let _ = x as &mut [u32]; //~ERROR trivial cast: `&mut [u32; 3]` as `&mut [u32]`
- let _ = x as *mut [u32]; //~ERROR trivial cast: `&mut [u32; 3]` as `*mut [u32]`
- let _: &mut [u32] = x;
- let _: *mut [u32] = x;
-
- let x: Box<[u32; 3]> = Box::new([42, 43, 44]);
- let _ = x as Box<[u32]>;
- //~^ ERROR trivial cast: `Box<[u32; 3]>` as `Box<[u32]>`
- let x: Box<[u32; 3]> = Box::new([42, 43, 44]);
- let _: Box<[u32]> = x;
-
- // unsize trait
- let x: &Bar = &Bar;
- let _ = x as &dyn Foo; //~ERROR trivial cast: `&Bar` as `&dyn Foo`
- let _ = x as *const dyn Foo; //~ERROR trivial cast: `&Bar` as `*const dyn Foo`
- let _: &dyn Foo = x;
- let _: *const dyn Foo = x;
-
- let x: &mut Bar = &mut Bar;
- let _ = x as &mut dyn Foo; //~ERROR trivial cast: `&mut Bar` as `&mut dyn Foo`
- let _ = x as *mut dyn Foo; //~ERROR trivial cast: `&mut Bar` as `*mut dyn Foo`
- let _: &mut dyn Foo = x;
- let _: *mut dyn Foo = x;
-
- let x: Box<Bar> = Box::new(Bar);
- let _ = x as Box<dyn Foo>; //~ERROR `Box<Bar>` as `Box<dyn Foo>`
- let x: Box<Bar> = Box::new(Bar);
- let _: Box<dyn Foo> = x;
-
- // functions
- fn baz(_x: i32) {}
- let _ = &baz as &dyn Fn(i32); //~ERROR `&fn(i32) {baz}` as `&dyn Fn(i32)`
- let _: &dyn Fn(i32) = &baz;
- let x = |_x: i32| {};
- let _ = &x as &dyn Fn(i32); //~ERROR trivial cast
- let _: &dyn Fn(i32) = &x;
-}
-
-// subtyping
-pub fn test_subtyping<'a, 'b: 'a>(a: &'a Bar, b: &'b Bar) {
- let _ = a as &'a Bar; //~ERROR trivial cast
- let _: &'a Bar = a;
- let _ = b as &'a Bar; //~ERROR trivial cast
- let _: &'a Bar = b;
- let _ = b as &'b Bar; //~ERROR trivial cast
- let _: &'b Bar = b;
-}
diff --git a/src/test/ui/lint/trivial_casts.stderr b/src/test/ui/lint/trivial_casts.stderr
deleted file mode 100644
index 74f962835..000000000
--- a/src/test/ui/lint/trivial_casts.stderr
+++ /dev/null
@@ -1,164 +0,0 @@
-error: trivial numeric cast: `i32` as `i32`
- --> $DIR/trivial_casts.rs:16:13
- |
-LL | let _ = 42_i32 as i32;
- | ^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-note: the lint level is defined here
- --> $DIR/trivial_casts.rs:4:24
- |
-LL | #![deny(trivial_casts, trivial_numeric_casts)]
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: trivial numeric cast: `u8` as `u8`
- --> $DIR/trivial_casts.rs:19:13
- |
-LL | let _ = 42_u8 as u8;
- | ^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&u32` as `*const u32`
- --> $DIR/trivial_casts.rs:24:13
- |
-LL | let _ = x as *const u32;
- | ^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-note: the lint level is defined here
- --> $DIR/trivial_casts.rs:4:9
- |
-LL | #![deny(trivial_casts, trivial_numeric_casts)]
- | ^^^^^^^^^^^^^
-
-error: trivial cast: `&mut u32` as `*mut u32`
- --> $DIR/trivial_casts.rs:28:13
- |
-LL | let _ = x as *mut u32;
- | ^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&[u32; 3]` as `&[u32]`
- --> $DIR/trivial_casts.rs:33:13
- |
-LL | let _ = x as &[u32];
- | ^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&[u32; 3]` as `*const [u32]`
- --> $DIR/trivial_casts.rs:34:13
- |
-LL | let _ = x as *const [u32];
- | ^^^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&mut [u32; 3]` as `&mut [u32]`
- --> $DIR/trivial_casts.rs:39:13
- |
-LL | let _ = x as &mut [u32];
- | ^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&mut [u32; 3]` as `*mut [u32]`
- --> $DIR/trivial_casts.rs:40:13
- |
-LL | let _ = x as *mut [u32];
- | ^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `Box<[u32; 3]>` as `Box<[u32]>`
- --> $DIR/trivial_casts.rs:45:13
- |
-LL | let _ = x as Box<[u32]>;
- | ^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&Bar` as `&dyn Foo`
- --> $DIR/trivial_casts.rs:52:13
- |
-LL | let _ = x as &dyn Foo;
- | ^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&Bar` as `*const dyn Foo`
- --> $DIR/trivial_casts.rs:53:13
- |
-LL | let _ = x as *const dyn Foo;
- | ^^^^^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&mut Bar` as `&mut dyn Foo`
- --> $DIR/trivial_casts.rs:58:13
- |
-LL | let _ = x as &mut dyn Foo;
- | ^^^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&mut Bar` as `*mut dyn Foo`
- --> $DIR/trivial_casts.rs:59:13
- |
-LL | let _ = x as *mut dyn Foo;
- | ^^^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `Box<Bar>` as `Box<dyn Foo>`
- --> $DIR/trivial_casts.rs:64:13
- |
-LL | let _ = x as Box<dyn Foo>;
- | ^^^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&fn(i32) {baz}` as `&dyn Fn(i32)`
- --> $DIR/trivial_casts.rs:70:13
- |
-LL | let _ = &baz as &dyn Fn(i32);
- | ^^^^^^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&[closure@$DIR/trivial_casts.rs:72:13: 72:22]` as `&dyn Fn(i32)`
- --> $DIR/trivial_casts.rs:73:13
- |
-LL | let _ = &x as &dyn Fn(i32);
- | ^^^^^^^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&'a Bar` as `&'a Bar`
- --> $DIR/trivial_casts.rs:79:13
- |
-LL | let _ = a as &'a Bar;
- | ^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&'b Bar` as `&'a Bar`
- --> $DIR/trivial_casts.rs:81:13
- |
-LL | let _ = b as &'a Bar;
- | ^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: trivial cast: `&'b Bar` as `&'b Bar`
- --> $DIR/trivial_casts.rs:83:13
- |
-LL | let _ = b as &'b Bar;
- | ^^^^^^^^^^^^
- |
- = help: cast can be replaced by coercion; this might require a temporary variable
-
-error: aborting due to 19 previous errors
-
diff --git a/src/test/ui/lint/type-overflow.rs b/src/test/ui/lint/type-overflow.rs
deleted file mode 100644
index 6234b794c..000000000
--- a/src/test/ui/lint/type-overflow.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// check-pass
-#![warn(overflowing_literals)]
-
-fn main() {
- let error = 255i8; //~WARNING literal out of range for `i8`
-
- let ok = 0b1000_0001; // should be ok -> i32
- let ok = 0b0111_1111i8; // should be ok -> 127i8
-
- let fail = 0b1000_0001i8; //~WARNING literal out of range for `i8`
-
- let fail = 0x8000_0000_0000_0000i64; //~WARNING literal out of range for `i64`
-
- let fail = 0x1_FFFF_FFFFu32; //~WARNING literal out of range for `u32`
-
- let fail: i128 = 0x8000_0000_0000_0000_0000_0000_0000_0000;
- //~^ WARNING literal out of range for `i128`
-
- let fail = 0x8FFF_FFFF_FFFF_FFFE; //~WARNING literal out of range for `i32`
-
- let fail = -0b1111_1111i8; //~WARNING literal out of range for `i8`
-}
diff --git a/src/test/ui/lint/type-overflow.stderr b/src/test/ui/lint/type-overflow.stderr
deleted file mode 100644
index 62cb1f7f4..000000000
--- a/src/test/ui/lint/type-overflow.stderr
+++ /dev/null
@@ -1,67 +0,0 @@
-warning: literal out of range for `i8`
- --> $DIR/type-overflow.rs:5:17
- |
-LL | let error = 255i8;
- | ^^^^^
- |
- = note: the literal `255i8` does not fit into the type `i8` whose range is `-128..=127`
- = help: consider using the type `u8` instead
-note: the lint level is defined here
- --> $DIR/type-overflow.rs:2:9
- |
-LL | #![warn(overflowing_literals)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-warning: literal out of range for `i8`
- --> $DIR/type-overflow.rs:10:16
- |
-LL | let fail = 0b1000_0001i8;
- | ^^^^^^^^^^^^^ help: consider using the type `u8` instead: `0b1000_0001u8`
- |
- = note: the literal `0b1000_0001i8` (decimal `129`) does not fit into the type `i8` and will become `-127i8`
-
-warning: literal out of range for `i64`
- --> $DIR/type-overflow.rs:12:16
- |
-LL | let fail = 0x8000_0000_0000_0000i64;
- | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using the type `u64` instead: `0x8000_0000_0000_0000u64`
- |
- = note: the literal `0x8000_0000_0000_0000i64` (decimal `9223372036854775808`) does not fit into the type `i64` and will become `-9223372036854775808i64`
-
-warning: literal out of range for `u32`
- --> $DIR/type-overflow.rs:14:16
- |
-LL | let fail = 0x1_FFFF_FFFFu32;
- | ^^^^^^^^^^^^^^^^ help: consider using the type `u64` instead: `0x1_FFFF_FFFFu64`
- |
- = note: the literal `0x1_FFFF_FFFFu32` (decimal `8589934591`) does not fit into the type `u32` and will become `4294967295u32`
-
-warning: literal out of range for `i128`
- --> $DIR/type-overflow.rs:16:22
- |
-LL | let fail: i128 = 0x8000_0000_0000_0000_0000_0000_0000_0000;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `0x8000_0000_0000_0000_0000_0000_0000_0000` (decimal `170141183460469231731687303715884105728`) does not fit into the type `i128` and will become `-170141183460469231731687303715884105728i128`
- = help: consider using the type `u128` instead
-
-warning: literal out of range for `i32`
- --> $DIR/type-overflow.rs:19:16
- |
-LL | let fail = 0x8FFF_FFFF_FFFF_FFFE;
- | ^^^^^^^^^^^^^^^^^^^^^
- |
- = note: the literal `0x8FFF_FFFF_FFFF_FFFE` (decimal `10376293541461622782`) does not fit into the type `i32` and will become `-2i32`
- = help: consider using the type `i128` instead
-
-warning: literal out of range for `i8`
- --> $DIR/type-overflow.rs:21:17
- |
-LL | let fail = -0b1111_1111i8;
- | ^^^^^^^^^^^^^ help: consider using the type `i16` instead: `0b1111_1111i16`
- |
- = note: the literal `0b1111_1111i8` (decimal `255`) does not fit into the type `i8`
- = note: and the value `-0b1111_1111i8` will become `1i8`
-
-warning: 7 warnings emitted
-
diff --git a/src/test/ui/lint/unaligned_references.rs b/src/test/ui/lint/unaligned_references.rs
deleted file mode 100644
index e547f031a..000000000
--- a/src/test/ui/lint/unaligned_references.rs
+++ /dev/null
@@ -1,103 +0,0 @@
-#![deny(unaligned_references)]
-
-#[repr(packed)]
-pub struct Good {
- data: u64,
- ptr: &'static u64,
- data2: [u64; 2],
- aligned: [u8; 32],
-}
-
-#[repr(packed(2))]
-pub struct Packed2 {
- x: u32,
- y: u16,
- z: u8,
-}
-
-fn main() {
- unsafe {
- let good = Good { data: 0, ptr: &0, data2: [0, 0], aligned: [0; 32] };
-
- let _ = &good.ptr; //~ ERROR reference to packed field
- //~^ previously accepted
- let _ = &good.data; //~ ERROR reference to packed field
- //~^ previously accepted
- // Error even when turned into raw pointer immediately.
- let _ = &good.data as *const _; //~ ERROR reference to packed field
- //~^ previously accepted
- let _: *const _ = &good.data; //~ ERROR reference to packed field
- //~^ previously accepted
- // Error on method call.
- let _ = good.data.clone(); //~ ERROR reference to packed field
- //~^ previously accepted
- // Error for nested fields.
- let _ = &good.data2[0]; //~ ERROR reference to packed field
- //~^ previously accepted
-
- let _ = &*good.ptr; // ok, behind a pointer
- let _ = &good.aligned; // ok, has align 1
- let _ = &good.aligned[2]; // ok, has align 1
- }
-
- unsafe {
- let packed2 = Packed2 { x: 0, y: 0, z: 0 };
- let _ = &packed2.x; //~ ERROR reference to packed field
- //~^ previously accepted
- let _ = &packed2.y; // ok, has align 2 in packed(2) struct
- let _ = &packed2.z; // ok, has align 1
- }
-
- unsafe {
- struct U16(u16);
-
- impl Drop for U16 {
- fn drop(&mut self) {
- println!("{:p}", self);
- }
- }
-
- struct HasDrop;
-
- impl Drop for HasDrop {
- fn drop(&mut self) {}
- }
-
- #[allow(unused)]
- struct Wrapper {
- a: U16,
- b: HasDrop,
- }
- #[allow(unused)]
- #[repr(packed(2))]
- struct Wrapper2 {
- a: U16,
- b: HasDrop,
- }
-
- // An outer struct with more restrictive packing than the inner struct -- make sure we
- // notice that!
- #[repr(packed)]
- struct Misalign<T>(u8, T);
-
- let m1 = Misalign(
- 0,
- Wrapper {
- a: U16(10),
- b: HasDrop,
- },
- );
- let _ref = &m1.1.a; //~ ERROR reference to packed field
- //~^ previously accepted
-
- let m2 = Misalign(
- 0,
- Wrapper2 {
- a: U16(10),
- b: HasDrop,
- },
- );
- let _ref = &m2.1.a; //~ ERROR reference to packed field
- //~^ previously accepted
- }
-}
diff --git a/src/test/ui/lint/unaligned_references.stderr b/src/test/ui/lint/unaligned_references.stderr
deleted file mode 100644
index 346f49b92..000000000
--- a/src/test/ui/lint/unaligned_references.stderr
+++ /dev/null
@@ -1,259 +0,0 @@
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:22:17
- |
-LL | let _ = &good.ptr;
- | ^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:24:17
- |
-LL | let _ = &good.data;
- | ^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:27:17
- |
-LL | let _ = &good.data as *const _;
- | ^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:29:27
- |
-LL | let _: *const _ = &good.data;
- | ^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:32:17
- |
-LL | let _ = good.data.clone();
- | ^^^^^^^^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:35:17
- |
-LL | let _ = &good.data2[0];
- | ^^^^^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:45:17
- |
-LL | let _ = &packed2.x;
- | ^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:90:20
- |
-LL | let _ref = &m1.1.a;
- | ^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:100:20
- |
-LL | let _ref = &m2.1.a;
- | ^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-
-error: aborting due to 9 previous errors
-
-Future incompatibility report: Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:22:17
- |
-LL | let _ = &good.ptr;
- | ^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:24:17
- |
-LL | let _ = &good.data;
- | ^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:27:17
- |
-LL | let _ = &good.data as *const _;
- | ^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:29:27
- |
-LL | let _: *const _ = &good.data;
- | ^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:32:17
- |
-LL | let _ = good.data.clone();
- | ^^^^^^^^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:35:17
- |
-LL | let _ = &good.data2[0];
- | ^^^^^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:45:17
- |
-LL | let _ = &packed2.x;
- | ^^^^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:90:20
- |
-LL | let _ref = &m1.1.a;
- | ^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references.rs:100:20
- |
-LL | let _ref = &m2.1.a;
- | ^^^^^^^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references.rs:1:9
- |
-LL | #![deny(unaligned_references)]
- | ^^^^^^^^^^^^^^^^^^^^
-
diff --git a/src/test/ui/lint/unaligned_references_external_macro.rs b/src/test/ui/lint/unaligned_references_external_macro.rs
deleted file mode 100644
index cb597c38e..000000000
--- a/src/test/ui/lint/unaligned_references_external_macro.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// aux-build:unaligned_references_external_crate.rs
-
-extern crate unaligned_references_external_crate;
-
-unaligned_references_external_crate::mac! { //~ERROR reference to packed field is unaligned
- //~^ previously accepted
- #[repr(packed)]
- pub struct X {
- pub field: u16
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unaligned_references_external_macro.stderr b/src/test/ui/lint/unaligned_references_external_macro.stderr
deleted file mode 100644
index c46ca6742..000000000
--- a/src/test/ui/lint/unaligned_references_external_macro.stderr
+++ /dev/null
@@ -1,61 +0,0 @@
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references_external_macro.rs:5:1
- |
-LL | / unaligned_references_external_crate::mac! {
-LL | |
-LL | | #[repr(packed)]
-LL | | pub struct X {
-LL | | pub field: u16
-LL | | }
-LL | | }
- | |_^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references_external_macro.rs:5:1
- |
-LL | / unaligned_references_external_crate::mac! {
-LL | |
-LL | | #[repr(packed)]
-LL | | pub struct X {
-LL | | pub field: u16
-LL | | }
-LL | | }
- | |_^
- = note: this error originates in the macro `unaligned_references_external_crate::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to previous error
-
-Future incompatibility report: Future breakage diagnostic:
-error: reference to packed field is unaligned
- --> $DIR/unaligned_references_external_macro.rs:5:1
- |
-LL | / unaligned_references_external_crate::mac! {
-LL | |
-LL | | #[repr(packed)]
-LL | | pub struct X {
-LL | | pub field: u16
-LL | | }
-LL | | }
- | |_^
- |
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
- = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
- = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
- = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-note: the lint level is defined here
- --> $DIR/unaligned_references_external_macro.rs:5:1
- |
-LL | / unaligned_references_external_crate::mac! {
-LL | |
-LL | | #[repr(packed)]
-LL | | pub struct X {
-LL | | pub field: u16
-LL | | }
-LL | | }
- | |_^
- = note: this error originates in the macro `unaligned_references_external_crate::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
diff --git a/src/test/ui/lint/unnecessary-extern-crate.rs b/src/test/ui/lint/unnecessary-extern-crate.rs
deleted file mode 100644
index af2bd84bd..000000000
--- a/src/test/ui/lint/unnecessary-extern-crate.rs
+++ /dev/null
@@ -1,71 +0,0 @@
-// edition:2018
-
-#![deny(unused_extern_crates)]
-#![feature(test, rustc_private)]
-
-extern crate libc;
-//~^ ERROR unused extern crate
-//~| HELP remove
-extern crate libc as x;
-//~^ ERROR unused extern crate
-//~| HELP remove
-
-extern crate proc_macro;
-
-#[macro_use]
-extern crate test;
-
-pub extern crate test as y;
-
-pub extern crate alloc;
-
-pub(crate) extern crate alloc as a;
-
-pub(crate) extern crate alloc as b;
-
-mod foo {
- pub(in crate::foo) extern crate alloc as c;
-
- pub(super) extern crate alloc as d;
-
- extern crate libc;
- //~^ ERROR unused extern crate
- //~| HELP remove
-
- extern crate libc as x;
- //~^ ERROR unused extern crate
- //~| HELP remove
-
- pub extern crate test;
-
- pub extern crate test as y;
-
- mod bar {
- extern crate libc;
- //~^ ERROR unused extern crate
- //~| HELP remove
-
- extern crate libc as x;
- //~^ ERROR unused extern crate
- //~| HELP remove
-
- pub(in crate::foo::bar) extern crate alloc as e;
-
- fn dummy() {
- e::string::String::new();
- }
- }
-
- fn dummy() {
- c::string::String::new();
- d::string::String::new();
- }
-}
-
-
-fn main() {
- a::string::String::new();
- b::string::String::new();
-
- proc_macro::TokenStream::new();
-}
diff --git a/src/test/ui/lint/unnecessary-extern-crate.stderr b/src/test/ui/lint/unnecessary-extern-crate.stderr
deleted file mode 100644
index 14ba9d052..000000000
--- a/src/test/ui/lint/unnecessary-extern-crate.stderr
+++ /dev/null
@@ -1,44 +0,0 @@
-error: unused extern crate
- --> $DIR/unnecessary-extern-crate.rs:6:1
- |
-LL | extern crate libc;
- | ^^^^^^^^^^^^^^^^^^ help: remove it
- |
-note: the lint level is defined here
- --> $DIR/unnecessary-extern-crate.rs:3:9
- |
-LL | #![deny(unused_extern_crates)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unused extern crate
- --> $DIR/unnecessary-extern-crate.rs:9:1
- |
-LL | extern crate libc as x;
- | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove it
-
-error: unused extern crate
- --> $DIR/unnecessary-extern-crate.rs:31:5
- |
-LL | extern crate libc;
- | ^^^^^^^^^^^^^^^^^^ help: remove it
-
-error: unused extern crate
- --> $DIR/unnecessary-extern-crate.rs:35:5
- |
-LL | extern crate libc as x;
- | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove it
-
-error: unused extern crate
- --> $DIR/unnecessary-extern-crate.rs:44:9
- |
-LL | extern crate libc;
- | ^^^^^^^^^^^^^^^^^^ help: remove it
-
-error: unused extern crate
- --> $DIR/unnecessary-extern-crate.rs:48:9
- |
-LL | extern crate libc as x;
- | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove it
-
-error: aborting due to 6 previous errors
-
diff --git a/src/test/ui/lint/unreachable-async-fn.rs b/src/test/ui/lint/unreachable-async-fn.rs
deleted file mode 100644
index eedd877fe..000000000
--- a/src/test/ui/lint/unreachable-async-fn.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// check-pass
-// edition:2018
-
-#[allow(dead_code)]
-async fn foo () { // unreachable lint doesn't trigger
- unimplemented!()
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unreachable_pub.rs b/src/test/ui/lint/unreachable_pub.rs
deleted file mode 100644
index a50467ce8..000000000
--- a/src/test/ui/lint/unreachable_pub.rs
+++ /dev/null
@@ -1,66 +0,0 @@
-// check-pass
-
-#![allow(unused)]
-#![warn(unreachable_pub)]
-
-mod private_mod {
- // non-leaked `pub` items in private module should be linted
- pub use std::fmt; //~ WARNING unreachable_pub
- pub use std::env::{Args}; // braced-use has different item spans than unbraced
- //~^ WARNING unreachable_pub
-
- pub struct Hydrogen { //~ WARNING unreachable_pub
- // `pub` struct fields, too
- pub neutrons: usize, //~ WARNING unreachable_pub
- // (... but not more-restricted fields)
- pub(crate) electrons: usize
- }
- impl Hydrogen {
- // impls, too
- pub fn count_neutrons(&self) -> usize { self.neutrons } //~ WARNING unreachable_pub
- pub(crate) fn count_electrons(&self) -> usize { self.electrons }
- }
- impl Clone for Hydrogen {
- fn clone(&self) -> Hydrogen {
- Hydrogen { neutrons: self.neutrons, electrons: self.electrons }
- }
- }
-
- pub enum Helium {} //~ WARNING unreachable_pub
- pub union Lithium { c1: usize, c2: u8 } //~ WARNING unreachable_pub
- pub fn beryllium() {} //~ WARNING unreachable_pub
- pub trait Boron {} //~ WARNING unreachable_pub
- pub const CARBON: usize = 1; //~ WARNING unreachable_pub
- pub static NITROGEN: usize = 2; //~ WARNING unreachable_pub
- pub type Oxygen = bool; //~ WARNING unreachable_pub
-
- macro_rules! define_empty_struct_with_visibility {
- ($visibility: vis, $name: ident) => { $visibility struct $name {} }
- //~^ WARNING unreachable_pub
- }
- define_empty_struct_with_visibility!(pub, Fluorine);
-
- extern "C" {
- pub fn catalyze() -> bool; //~ WARNING unreachable_pub
- }
-
- // items leaked through signatures (see `get_neon` below) are OK
- pub struct Neon {}
-
- // crate-visible items are OK
- pub(crate) struct Sodium {}
-}
-
-pub mod public_mod {
- // module is public: these are OK, too
- pub struct Magnesium {}
- pub(crate) struct Aluminum {}
-}
-
-pub fn get_neon() -> private_mod::Neon {
- private_mod::Neon {}
-}
-
-fn main() {
- let _ = get_neon();
-}
diff --git a/src/test/ui/lint/unreachable_pub.stderr b/src/test/ui/lint/unreachable_pub.stderr
deleted file mode 100644
index 762834b97..000000000
--- a/src/test/ui/lint/unreachable_pub.stderr
+++ /dev/null
@@ -1,148 +0,0 @@
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:8:13
- |
-LL | pub use std::fmt;
- | --- ^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-note: the lint level is defined here
- --> $DIR/unreachable_pub.rs:4:9
- |
-LL | #![warn(unreachable_pub)]
- | ^^^^^^^^^^^^^^^
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:9:24
- |
-LL | pub use std::env::{Args}; // braced-use has different item spans than unbraced
- | --- ^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:12:5
- |
-LL | pub struct Hydrogen {
- | ---^^^^^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: unreachable `pub` field
- --> $DIR/unreachable_pub.rs:14:9
- |
-LL | pub neutrons: usize,
- | ---^^^^^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:20:9
- |
-LL | pub fn count_neutrons(&self) -> usize { self.neutrons }
- | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:29:5
- |
-LL | pub enum Helium {}
- | ---^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:30:5
- |
-LL | pub union Lithium { c1: usize, c2: u8 }
- | ---^^^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:31:5
- |
-LL | pub fn beryllium() {}
- | ---^^^^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:32:5
- |
-LL | pub trait Boron {}
- | ---^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:33:5
- |
-LL | pub const CARBON: usize = 1;
- | ---^^^^^^^^^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:34:5
- |
-LL | pub static NITROGEN: usize = 2;
- | ---^^^^^^^^^^^^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:35:5
- |
-LL | pub type Oxygen = bool;
- | ---^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:38:47
- |
-LL | ($visibility: vis, $name: ident) => { $visibility struct $name {} }
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-...
-LL | define_empty_struct_with_visibility!(pub, Fluorine);
- | ---------------------------------------------------
- | | |
- | | help: consider restricting its visibility: `pub(crate)`
- | in this macro invocation
- |
- = help: or consider exporting it for use by other crates
- = note: this warning originates in the macro `define_empty_struct_with_visibility` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-warning: unreachable `pub` item
- --> $DIR/unreachable_pub.rs:44:9
- |
-LL | pub fn catalyze() -> bool;
- | ---^^^^^^^^^^^^^^^^^^^^^^
- | |
- | help: consider restricting its visibility: `pub(crate)`
- |
- = help: or consider exporting it for use by other crates
-
-warning: 14 warnings emitted
-
diff --git a/src/test/ui/lint/unsafe_code/auxiliary/forge_unsafe_block.rs b/src/test/ui/lint/unsafe_code/auxiliary/forge_unsafe_block.rs
deleted file mode 100644
index 26871c98d..000000000
--- a/src/test/ui/lint/unsafe_code/auxiliary/forge_unsafe_block.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// force-host
-// no-prefer-dynamic
-
-#![crate_type = "proc-macro"]
-
-extern crate proc_macro;
-
-use proc_macro::{Delimiter, Group, Ident, Span, TokenStream, TokenTree};
-
-#[proc_macro]
-pub fn forge_unsafe_block(input: TokenStream) -> TokenStream {
- let mut output = TokenStream::new();
- output.extend(Some(TokenTree::from(Ident::new("unsafe", Span::call_site()))));
- output.extend(Some(TokenTree::from(Group::new(Delimiter::Brace, input))));
- output
-}
diff --git a/src/test/ui/lint/unsafe_code/forge_unsafe_block.rs b/src/test/ui/lint/unsafe_code/forge_unsafe_block.rs
deleted file mode 100644
index a1bd7b413..000000000
--- a/src/test/ui/lint/unsafe_code/forge_unsafe_block.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// check-pass
-// aux-build:forge_unsafe_block.rs
-
-#[macro_use]
-extern crate forge_unsafe_block;
-
-unsafe fn foo() {}
-
-#[forbid(unsafe_code)]
-fn main() {
- // `forbid` doesn't work for non-user-provided unsafe blocks.
- // see `UnsafeCode::check_expr`.
- forge_unsafe_block! {
- foo();
- }
-}
diff --git a/src/test/ui/lint/unused-borrows.rs b/src/test/ui/lint/unused-borrows.rs
deleted file mode 100644
index 4518522ae..000000000
--- a/src/test/ui/lint/unused-borrows.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-#![deny(unused_must_use)]
-
-fn foo(_: i32) -> bool { todo!() }
-
-fn bar() -> &'static i32 {
- &42;
- //~^ unused
-
- &mut foo(42);
- //~^ unused
-
- &&42;
- //~^ unused
-
- &&mut 42;
- //~^ unused
-
- &mut &42;
- //~^ unused
-
- let _result = foo(4)
- && foo(2); // Misplaced semi-colon (perhaps due to reordering of lines)
- && foo(42);
- //~^ unused
-
- let _ = &42; // ok
-
- &42 // ok
-}
-
-fn main() {
- let _ = bar();
-}
diff --git a/src/test/ui/lint/unused-borrows.stderr b/src/test/ui/lint/unused-borrows.stderr
deleted file mode 100644
index d8dd2b5fd..000000000
--- a/src/test/ui/lint/unused-borrows.stderr
+++ /dev/null
@@ -1,73 +0,0 @@
-error: unused borrow that must be used
- --> $DIR/unused-borrows.rs:6:5
- |
-LL | &42;
- | ^^^ the borrow produces a value
- |
-note: the lint level is defined here
- --> $DIR/unused-borrows.rs:1:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = &42;
- | +++++++
-
-error: unused borrow that must be used
- --> $DIR/unused-borrows.rs:9:5
- |
-LL | &mut foo(42);
- | ^^^^^^^^^^^^ the borrow produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = &mut foo(42);
- | +++++++
-
-error: unused borrow that must be used
- --> $DIR/unused-borrows.rs:12:5
- |
-LL | &&42;
- | ^^^^ the borrow produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = &&42;
- | +++++++
-
-error: unused borrow that must be used
- --> $DIR/unused-borrows.rs:15:5
- |
-LL | &&mut 42;
- | ^^^^^^^^ the borrow produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = &&mut 42;
- | +++++++
-
-error: unused borrow that must be used
- --> $DIR/unused-borrows.rs:18:5
- |
-LL | &mut &42;
- | ^^^^^^^^ the borrow produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = &mut &42;
- | +++++++
-
-error: unused borrow that must be used
- --> $DIR/unused-borrows.rs:23:5
- |
-LL | && foo(42);
- | ^^^^^^^^^^ the borrow produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = && foo(42);
- | +++++++
-
-error: aborting due to 6 previous errors
-
diff --git a/src/test/ui/lint/unused-braces-while-let-with-mutable-value.rs b/src/test/ui/lint/unused-braces-while-let-with-mutable-value.rs
deleted file mode 100644
index ac547293c..000000000
--- a/src/test/ui/lint/unused-braces-while-let-with-mutable-value.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// check-pass
-
-#![deny(unused_braces)]
-
-fn main() {
- let mut a = Some(3);
- // Shouldn't warn below `a`.
- while let Some(ref mut v) = {a} {
- a.as_mut().map(|a| std::mem::swap(a, v));
- break;
- }
-}
diff --git a/src/test/ui/lint/unused-qualification-in-derive-expansion.rs b/src/test/ui/lint/unused-qualification-in-derive-expansion.rs
deleted file mode 100644
index c2efbf507..000000000
--- a/src/test/ui/lint/unused-qualification-in-derive-expansion.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// run-pass
-// aux-build:add-impl.rs
-
-#![forbid(unused_qualifications)]
-
-#[macro_use]
-extern crate add_impl;
-
-#[derive(AddImpl)]
-struct B;
-
-fn main() {
- B.foo();
- foo();
- bar::foo();
-}
diff --git a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate.rs b/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate.rs
deleted file mode 100644
index b76b4321d..000000000
--- a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate.rs
+++ /dev/null
@@ -1 +0,0 @@
-pub fn foo() {}
diff --git a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate2.rs b/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate2.rs
deleted file mode 100644
index b76b4321d..000000000
--- a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate2.rs
+++ /dev/null
@@ -1 +0,0 @@
-pub fn foo() {}
diff --git a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate3.rs b/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate3.rs
deleted file mode 100644
index b76b4321d..000000000
--- a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate3.rs
+++ /dev/null
@@ -1 +0,0 @@
-pub fn foo() {}
diff --git a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate4.rs b/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate4.rs
deleted file mode 100644
index d11c69f81..000000000
--- a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate4.rs
+++ /dev/null
@@ -1 +0,0 @@
-// intentionally empty
diff --git a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate5.rs b/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate5.rs
deleted file mode 100644
index d11c69f81..000000000
--- a/src/test/ui/lint/unused/auxiliary/lint_unused_extern_crate5.rs
+++ /dev/null
@@ -1 +0,0 @@
-// intentionally empty
diff --git a/src/test/ui/lint/unused/issue-104397.rs b/src/test/ui/lint/unused/issue-104397.rs
deleted file mode 100644
index 94e15cd96..000000000
--- a/src/test/ui/lint/unused/issue-104397.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// check-pass
-
-#![warn(unused)]
-#![deny(warnings)]
-
-struct Inv<'a>(&'a mut &'a ());
-
-trait Trait {}
-impl Trait for for<'a> fn(Inv<'a>) {}
-
-fn with_bound()
-where
- (for<'a> fn(Inv<'a>)): Trait,
-{}
-
-fn main() {
- with_bound();
-}
diff --git a/src/test/ui/lint/unused/issue-30730.rs b/src/test/ui/lint/unused/issue-30730.rs
deleted file mode 100644
index d6be90c81..000000000
--- a/src/test/ui/lint/unused/issue-30730.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-#![warn(unused)]
-#![deny(warnings)]
-use std::thread;
-//~^ ERROR: unused import
-fn main() {}
diff --git a/src/test/ui/lint/unused/issue-30730.stderr b/src/test/ui/lint/unused/issue-30730.stderr
deleted file mode 100644
index b299e99a3..000000000
--- a/src/test/ui/lint/unused/issue-30730.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: unused import: `std::thread`
- --> $DIR/issue-30730.rs:3:5
- |
-LL | use std::thread;
- | ^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/issue-30730.rs:2:9
- |
-LL | #![deny(warnings)]
- | ^^^^^^^^
- = note: `#[deny(unused_imports)]` implied by `#[deny(warnings)]`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/unused/issue-46576.rs b/src/test/ui/lint/unused/issue-46576.rs
deleted file mode 100644
index 15f458f38..000000000
--- a/src/test/ui/lint/unused/issue-46576.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-#![allow(dead_code)]
-#![deny(unused_imports)]
-
-use std::fs::File;
-use std::io::{BufRead, BufReader, Read};
-//~^ ERROR unused import: `BufRead`
-
-pub fn read_from_file(path: &str) {
- let file = File::open(&path).unwrap();
- let mut reader = BufReader::new(file);
- let mut s = String::new();
- reader.read_to_string(&mut s).unwrap();
-}
-
-pub fn read_lines(s: &str) {
- for _line in s.lines() {
-
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/issue-46576.stderr b/src/test/ui/lint/unused/issue-46576.stderr
deleted file mode 100644
index 6f4d97068..000000000
--- a/src/test/ui/lint/unused/issue-46576.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: unused import: `BufRead`
- --> $DIR/issue-46576.rs:5:15
- |
-LL | use std::io::{BufRead, BufReader, Read};
- | ^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/issue-46576.rs:2:9
- |
-LL | #![deny(unused_imports)]
- | ^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/unused/issue-47390-unused-variable-in-struct-pattern.rs b/src/test/ui/lint/unused/issue-47390-unused-variable-in-struct-pattern.rs
deleted file mode 100644
index 4822a9b2c..000000000
--- a/src/test/ui/lint/unused/issue-47390-unused-variable-in-struct-pattern.rs
+++ /dev/null
@@ -1,88 +0,0 @@
-// check-pass
-
-#![feature(box_patterns)]
-
-#![warn(unused)] // UI tests pass `-A unused` (#43896)
-
-struct SoulHistory {
- corridors_of_light: usize,
- hours_are_suns: bool,
- endless_and_singing: bool
-}
-
-struct LovelyAmbition {
- lips: usize,
- fire: usize
-}
-
-#[derive(Clone, Copy)]
-enum Large {
- Suit { case: () }
-}
-
-struct Tuple(Large, ());
-
-fn main() {
- let i_think_continually = 2; //~ WARNING unused variable: `i_think_continually`
- let who_from_the_womb_remembered = SoulHistory {
- corridors_of_light: 5,
- hours_are_suns: true,
- endless_and_singing: true
- };
-
- let mut mut_unused_var = 1;
- //~^ WARNING unused variable: `mut_unused_var`
- //~| WARNING variable does not need to be mutable
-
- let (mut var, unused_var) = (1, 2);
- //~^ WARNING unused variable: `var`
- //~| WARNING unused variable: `unused_var`
- //~| WARNING variable does not need to be mutable
- // NOTE: `var` comes after `unused_var` lexicographically yet the warning
- // for `var` will be emitted before the one for `unused_var`. We use an
- // `IndexMap` to ensure this is the case instead of a `BTreeMap`.
-
- if let SoulHistory { corridors_of_light, //~ WARNING unused variable: `corridors_of_light`
- mut hours_are_suns, //~ WARNING `hours_are_suns` is assigned to, but
- endless_and_singing: true } = who_from_the_womb_remembered {
- hours_are_suns = false; //~ WARNING unused_assignments
- }
-
- let the_spirit = LovelyAmbition { lips: 1, fire: 2 };
- let LovelyAmbition { lips, fire } = the_spirit; //~ WARNING unused variable: `fire`
- println!("{}", lips);
-
- let bag = Large::Suit {
- case: ()
- };
-
- // Plain struct
- match bag {
- Large::Suit { case } => {} //~ WARNING unused variable: `case`
- };
-
- // Referenced struct
- match &bag {
- &Large::Suit { case } => {} //~ WARNING unused variable: `case`
- };
-
- // Boxed struct
- match Box::new(bag) {
- box Large::Suit { case } => {} //~ WARNING unused variable: `case`
- };
-
- // Tuple with struct
- match (bag,) {
- (Large::Suit { case },) => {} //~ WARNING unused variable: `case`
- };
-
- // Slice with struct
- match [bag] {
- [Large::Suit { case }] => {} //~ WARNING unused variable: `case`
- };
-
- // Tuple struct with struct
- match Tuple(bag, ()) {
- Tuple(Large::Suit { case }, ()) => {} //~ WARNING unused variable: `case`
- };
-}
diff --git a/src/test/ui/lint/unused/issue-47390-unused-variable-in-struct-pattern.stderr b/src/test/ui/lint/unused/issue-47390-unused-variable-in-struct-pattern.stderr
deleted file mode 100644
index fe2e3afc8..000000000
--- a/src/test/ui/lint/unused/issue-47390-unused-variable-in-struct-pattern.stderr
+++ /dev/null
@@ -1,116 +0,0 @@
-warning: unused variable: `i_think_continually`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:26:9
- |
-LL | let i_think_continually = 2;
- | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_i_think_continually`
- |
-note: the lint level is defined here
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:5:9
- |
-LL | #![warn(unused)] // UI tests pass `-A unused` (#43896)
- | ^^^^^^
- = note: `#[warn(unused_variables)]` implied by `#[warn(unused)]`
-
-warning: unused variable: `mut_unused_var`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:33:13
- |
-LL | let mut mut_unused_var = 1;
- | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mut_unused_var`
-
-warning: unused variable: `var`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:37:14
- |
-LL | let (mut var, unused_var) = (1, 2);
- | ^^^ help: if this is intentional, prefix it with an underscore: `_var`
-
-warning: unused variable: `unused_var`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:37:19
- |
-LL | let (mut var, unused_var) = (1, 2);
- | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unused_var`
-
-warning: unused variable: `corridors_of_light`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:45:26
- |
-LL | if let SoulHistory { corridors_of_light,
- | ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `corridors_of_light: _`
-
-warning: variable `hours_are_suns` is assigned to, but never used
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:46:30
- |
-LL | mut hours_are_suns,
- | ^^^^^^^^^^^^^^
- |
- = note: consider using `_hours_are_suns` instead
-
-warning: value assigned to `hours_are_suns` is never read
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:48:9
- |
-LL | hours_are_suns = false;
- | ^^^^^^^^^^^^^^
- |
- = help: maybe it is overwritten before being read?
- = note: `#[warn(unused_assignments)]` implied by `#[warn(unused)]`
-
-warning: unused variable: `fire`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:52:32
- |
-LL | let LovelyAmbition { lips, fire } = the_spirit;
- | ^^^^ help: try ignoring the field: `fire: _`
-
-warning: unused variable: `case`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:61:23
- |
-LL | Large::Suit { case } => {}
- | ^^^^ help: try ignoring the field: `case: _`
-
-warning: unused variable: `case`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:66:24
- |
-LL | &Large::Suit { case } => {}
- | ^^^^ help: try ignoring the field: `case: _`
-
-warning: unused variable: `case`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:71:27
- |
-LL | box Large::Suit { case } => {}
- | ^^^^ help: try ignoring the field: `case: _`
-
-warning: unused variable: `case`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:76:24
- |
-LL | (Large::Suit { case },) => {}
- | ^^^^ help: try ignoring the field: `case: _`
-
-warning: unused variable: `case`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:81:24
- |
-LL | [Large::Suit { case }] => {}
- | ^^^^ help: try ignoring the field: `case: _`
-
-warning: unused variable: `case`
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:86:29
- |
-LL | Tuple(Large::Suit { case }, ()) => {}
- | ^^^^ help: try ignoring the field: `case: _`
-
-warning: variable does not need to be mutable
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:33:9
- |
-LL | let mut mut_unused_var = 1;
- | ----^^^^^^^^^^^^^^
- | |
- | help: remove this `mut`
- |
- = note: `#[warn(unused_mut)]` implied by `#[warn(unused)]`
-
-warning: variable does not need to be mutable
- --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:37:10
- |
-LL | let (mut var, unused_var) = (1, 2);
- | ----^^^
- | |
- | help: remove this `mut`
-
-warning: 16 warnings emitted
-
diff --git a/src/test/ui/lint/unused/issue-54180-unused-ref-field.fixed b/src/test/ui/lint/unused/issue-54180-unused-ref-field.fixed
deleted file mode 100644
index 1350b7ca6..000000000
--- a/src/test/ui/lint/unused/issue-54180-unused-ref-field.fixed
+++ /dev/null
@@ -1,34 +0,0 @@
-// run-rustfix
-
-#![deny(unused)]
-
-pub struct S {
- pub f1: i32,
-}
-
-pub struct Point {
- pub x: i32,
- pub y: i32,
-}
-
-pub enum E {
- Variant { field: String }
-}
-
-pub fn foo(arg: &E) {
- match arg {
- E::Variant { field: _ } => (), //~ ERROR unused variable
- }
-}
-
-fn main() {
- let s = S { f1: 123 };
- let S { f1: _ } = s; //~ ERROR unused variable
-
- let points = vec![Point { x: 1, y: 2 }];
- let _: i32 = points.iter().map(|Point { x: _, y }| y).sum(); //~ ERROR unused variable
-
- match (Point { x: 1, y: 2 }) {
- Point { y, x: _ } => y, //~ ERROR unused variable
- };
-}
diff --git a/src/test/ui/lint/unused/issue-54180-unused-ref-field.rs b/src/test/ui/lint/unused/issue-54180-unused-ref-field.rs
deleted file mode 100644
index 7b3392b60..000000000
--- a/src/test/ui/lint/unused/issue-54180-unused-ref-field.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-// run-rustfix
-
-#![deny(unused)]
-
-pub struct S {
- pub f1: i32,
-}
-
-pub struct Point {
- pub x: i32,
- pub y: i32,
-}
-
-pub enum E {
- Variant { field: String }
-}
-
-pub fn foo(arg: &E) {
- match arg {
- E::Variant { ref field } => (), //~ ERROR unused variable
- }
-}
-
-fn main() {
- let s = S { f1: 123 };
- let S { ref f1 } = s; //~ ERROR unused variable
-
- let points = vec![Point { x: 1, y: 2 }];
- let _: i32 = points.iter().map(|Point { x, y }| y).sum(); //~ ERROR unused variable
-
- match (Point { x: 1, y: 2 }) {
- Point { y, ref mut x } => y, //~ ERROR unused variable
- };
-}
diff --git a/src/test/ui/lint/unused/issue-54180-unused-ref-field.stderr b/src/test/ui/lint/unused/issue-54180-unused-ref-field.stderr
deleted file mode 100644
index f2e616899..000000000
--- a/src/test/ui/lint/unused/issue-54180-unused-ref-field.stderr
+++ /dev/null
@@ -1,33 +0,0 @@
-error: unused variable: `field`
- --> $DIR/issue-54180-unused-ref-field.rs:20:22
- |
-LL | E::Variant { ref field } => (),
- | ^^^^^^^^^ help: try ignoring the field: `field: _`
- |
-note: the lint level is defined here
- --> $DIR/issue-54180-unused-ref-field.rs:3:9
- |
-LL | #![deny(unused)]
- | ^^^^^^
- = note: `#[deny(unused_variables)]` implied by `#[deny(unused)]`
-
-error: unused variable: `f1`
- --> $DIR/issue-54180-unused-ref-field.rs:26:13
- |
-LL | let S { ref f1 } = s;
- | ^^^^^^ help: try ignoring the field: `f1: _`
-
-error: unused variable: `x`
- --> $DIR/issue-54180-unused-ref-field.rs:32:20
- |
-LL | Point { y, ref mut x } => y,
- | ^^^^^^^^^ help: try ignoring the field: `x: _`
-
-error: unused variable: `x`
- --> $DIR/issue-54180-unused-ref-field.rs:29:45
- |
-LL | let _: i32 = points.iter().map(|Point { x, y }| y).sum();
- | ^ help: try ignoring the field: `x: _`
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/lint/unused/issue-54538-unused-parens-lint.fixed b/src/test/ui/lint/unused/issue-54538-unused-parens-lint.fixed
deleted file mode 100644
index 0b3fe9371..000000000
--- a/src/test/ui/lint/unused/issue-54538-unused-parens-lint.fixed
+++ /dev/null
@@ -1,106 +0,0 @@
-// run-rustfix
-
-#![feature(box_patterns, stmt_expr_attributes)]
-
-#![allow(
- dead_code,
- ellipsis_inclusive_range_patterns,
- irrefutable_let_patterns,
- unreachable_patterns,
- unused_mut,
- unused_variables
-)]
-#![deny(unused_parens)]
-
-fn lint_on_top_level() {
- let a = 0; //~ ERROR unnecessary parentheses around pattern
- for a in 0..1 {} //~ ERROR unnecessary parentheses around pattern
- if let a = 0 {} //~ ERROR unnecessary parentheses around pattern
- while let a = 0 {} //~ ERROR unnecessary parentheses around pattern
- fn foo(a: u8) {} //~ ERROR unnecessary parentheses around pattern
- let _ = |a: u8| 0; //~ ERROR unnecessary parentheses around pattern
-}
-
-fn _no_lint_attr() {
- let _x = #[allow(dead_code)] (1 + 2);
-}
-
-// Don't lint in these cases (#64106).
-fn or_patterns_no_lint() {
- match Box::new(0) {
- box (0 | 1) => {} // Should not lint as `box 0 | 1` binds as `(box 0) | 1`.
- _ => {}
- }
-
- match 0 {
- x @ (0 | 1) => {} // Should not lint as `x @ 0 | 1` binds as `(x @ 0) | 1`.
- _ => {}
- }
-
- if let &(0 | 1) = &0 {} // Should also not lint.
- if let &mut (0 | 1) = &mut 0 {} // Same.
-
- fn foo((Ok(a) | Err(a)): Result<u8, u8>) {} // Doesn't parse if we remove parens for now.
-
- let _ = |(Ok(a) | Err(a)): Result<u8, u8>| 1; // `|Ok(a) | Err(a)| 1` parses as bit-or.
-}
-
-fn or_patterns_will_lint() {
- if let 0 | 1 = 0 {} //~ ERROR unnecessary parentheses around pattern
- if let (0 | 1,) = (0,) {} //~ ERROR unnecessary parentheses around pattern
- if let [0 | 1] = [0] {} //~ ERROR unnecessary parentheses around pattern
- if let 0 | 1 | 2 = 0 {} //~ ERROR unnecessary parentheses around pattern
- struct TS(u8);
- if let TS(0 | 1) = TS(0) {} //~ ERROR unnecessary parentheses around pattern
- struct NS { f: u8 }
- if let NS { f: 0 | 1 } = (NS { f: 0 }) {} //~ ERROR unnecessary parentheses around pattern
-}
-
-// Don't lint on `&(mut x)` because `&mut x` means something else (#55342).
-fn deref_mut_binding_no_lint() {
- let &(mut x) = &0;
-}
-
-fn main() {
- match 1 {
- _ => {} //~ ERROR unnecessary parentheses around pattern
- y => {} //~ ERROR unnecessary parentheses around pattern
- ref r => {} //~ ERROR unnecessary parentheses around pattern
- e @ 1...2 => {} //~ ERROR unnecessary parentheses around pattern
- (1...2) => {} // Non ambiguous range pattern should not warn
- e @ (3...4) => {} // Non ambiguous range pattern should not warn
- }
-
- match &1 {
- e @ &(1...2) => {} //~ ERROR unnecessary parentheses around pattern
- &_ => {} //~ ERROR unnecessary parentheses around pattern
- e @ &(1...2) => {} // Ambiguous range pattern should not warn
- &(1...2) => {} // Ambiguous range pattern should not warn
- }
-
- match &1 {
- e @ &(1...2) | e @ &(3...4) => {} // Complex ambiguous pattern should not warn
- &_ => {}
- }
-
- match 1 {
- _ => {} //~ ERROR unnecessary parentheses around pattern
- y => {} //~ ERROR unnecessary parentheses around pattern
- ref r => {} //~ ERROR unnecessary parentheses around pattern
- e @ 1..=2 => {} //~ ERROR unnecessary parentheses around pattern
- (1..=2) => {} // Non ambiguous range pattern should not warn
- e @ (3..=4) => {} // Non ambiguous range pattern should not warn
- }
-
- match &1 {
- e @ &(1..=2) => {} //~ ERROR unnecessary parentheses around pattern
- &_ => {} //~ ERROR unnecessary parentheses around pattern
- e @ &(1..=2) => {} // Ambiguous range pattern should not warn
- &(1..=2) => {} // Ambiguous range pattern should not warn
- }
-
- match &1 {
- e @ &(1..=2) | e @ &(3..=4) => {} // Complex ambiguous pattern should not warn
- &_ => {}
- }
-}
diff --git a/src/test/ui/lint/unused/issue-54538-unused-parens-lint.rs b/src/test/ui/lint/unused/issue-54538-unused-parens-lint.rs
deleted file mode 100644
index 1e78ec5f7..000000000
--- a/src/test/ui/lint/unused/issue-54538-unused-parens-lint.rs
+++ /dev/null
@@ -1,106 +0,0 @@
-// run-rustfix
-
-#![feature(box_patterns, stmt_expr_attributes)]
-
-#![allow(
- dead_code,
- ellipsis_inclusive_range_patterns,
- irrefutable_let_patterns,
- unreachable_patterns,
- unused_mut,
- unused_variables
-)]
-#![deny(unused_parens)]
-
-fn lint_on_top_level() {
- let (a) = 0; //~ ERROR unnecessary parentheses around pattern
- for (a) in 0..1 {} //~ ERROR unnecessary parentheses around pattern
- if let (a) = 0 {} //~ ERROR unnecessary parentheses around pattern
- while let (a) = 0 {} //~ ERROR unnecessary parentheses around pattern
- fn foo((a): u8) {} //~ ERROR unnecessary parentheses around pattern
- let _ = |(a): u8| 0; //~ ERROR unnecessary parentheses around pattern
-}
-
-fn _no_lint_attr() {
- let _x = #[allow(dead_code)] (1 + 2);
-}
-
-// Don't lint in these cases (#64106).
-fn or_patterns_no_lint() {
- match Box::new(0) {
- box (0 | 1) => {} // Should not lint as `box 0 | 1` binds as `(box 0) | 1`.
- _ => {}
- }
-
- match 0 {
- x @ (0 | 1) => {} // Should not lint as `x @ 0 | 1` binds as `(x @ 0) | 1`.
- _ => {}
- }
-
- if let &(0 | 1) = &0 {} // Should also not lint.
- if let &mut (0 | 1) = &mut 0 {} // Same.
-
- fn foo((Ok(a) | Err(a)): Result<u8, u8>) {} // Doesn't parse if we remove parens for now.
-
- let _ = |(Ok(a) | Err(a)): Result<u8, u8>| 1; // `|Ok(a) | Err(a)| 1` parses as bit-or.
-}
-
-fn or_patterns_will_lint() {
- if let (0 | 1) = 0 {} //~ ERROR unnecessary parentheses around pattern
- if let ((0 | 1),) = (0,) {} //~ ERROR unnecessary parentheses around pattern
- if let [(0 | 1)] = [0] {} //~ ERROR unnecessary parentheses around pattern
- if let 0 | (1 | 2) = 0 {} //~ ERROR unnecessary parentheses around pattern
- struct TS(u8);
- if let TS((0 | 1)) = TS(0) {} //~ ERROR unnecessary parentheses around pattern
- struct NS { f: u8 }
- if let NS { f: (0 | 1) } = (NS { f: 0 }) {} //~ ERROR unnecessary parentheses around pattern
-}
-
-// Don't lint on `&(mut x)` because `&mut x` means something else (#55342).
-fn deref_mut_binding_no_lint() {
- let &(mut x) = &0;
-}
-
-fn main() {
- match 1 {
- (_) => {} //~ ERROR unnecessary parentheses around pattern
- (y) => {} //~ ERROR unnecessary parentheses around pattern
- (ref r) => {} //~ ERROR unnecessary parentheses around pattern
- (e @ 1...2) => {} //~ ERROR unnecessary parentheses around pattern
- (1...2) => {} // Non ambiguous range pattern should not warn
- e @ (3...4) => {} // Non ambiguous range pattern should not warn
- }
-
- match &1 {
- (e @ &(1...2)) => {} //~ ERROR unnecessary parentheses around pattern
- &(_) => {} //~ ERROR unnecessary parentheses around pattern
- e @ &(1...2) => {} // Ambiguous range pattern should not warn
- &(1...2) => {} // Ambiguous range pattern should not warn
- }
-
- match &1 {
- e @ &(1...2) | e @ &(3...4) => {} // Complex ambiguous pattern should not warn
- &_ => {}
- }
-
- match 1 {
- (_) => {} //~ ERROR unnecessary parentheses around pattern
- (y) => {} //~ ERROR unnecessary parentheses around pattern
- (ref r) => {} //~ ERROR unnecessary parentheses around pattern
- (e @ 1..=2) => {} //~ ERROR unnecessary parentheses around pattern
- (1..=2) => {} // Non ambiguous range pattern should not warn
- e @ (3..=4) => {} // Non ambiguous range pattern should not warn
- }
-
- match &1 {
- (e @ &(1..=2)) => {} //~ ERROR unnecessary parentheses around pattern
- &(_) => {} //~ ERROR unnecessary parentheses around pattern
- e @ &(1..=2) => {} // Ambiguous range pattern should not warn
- &(1..=2) => {} // Ambiguous range pattern should not warn
- }
-
- match &1 {
- e @ &(1..=2) | e @ &(3..=4) => {} // Complex ambiguous pattern should not warn
- &_ => {}
- }
-}
diff --git a/src/test/ui/lint/unused/issue-54538-unused-parens-lint.stderr b/src/test/ui/lint/unused/issue-54538-unused-parens-lint.stderr
deleted file mode 100644
index c73884663..000000000
--- a/src/test/ui/lint/unused/issue-54538-unused-parens-lint.stderr
+++ /dev/null
@@ -1,295 +0,0 @@
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:16:9
- |
-LL | let (a) = 0;
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/issue-54538-unused-parens-lint.rs:13:9
- |
-LL | #![deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - let (a) = 0;
-LL + let a = 0;
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:17:9
- |
-LL | for (a) in 0..1 {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - for (a) in 0..1 {}
-LL + for a in 0..1 {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:18:12
- |
-LL | if let (a) = 0 {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if let (a) = 0 {}
-LL + if let a = 0 {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:19:15
- |
-LL | while let (a) = 0 {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - while let (a) = 0 {}
-LL + while let a = 0 {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:20:12
- |
-LL | fn foo((a): u8) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - fn foo((a): u8) {}
-LL + fn foo(a: u8) {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:21:14
- |
-LL | let _ = |(a): u8| 0;
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - let _ = |(a): u8| 0;
-LL + let _ = |a: u8| 0;
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:49:12
- |
-LL | if let (0 | 1) = 0 {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if let (0 | 1) = 0 {}
-LL + if let 0 | 1 = 0 {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:50:13
- |
-LL | if let ((0 | 1),) = (0,) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if let ((0 | 1),) = (0,) {}
-LL + if let (0 | 1,) = (0,) {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:51:13
- |
-LL | if let [(0 | 1)] = [0] {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if let [(0 | 1)] = [0] {}
-LL + if let [0 | 1] = [0] {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:52:16
- |
-LL | if let 0 | (1 | 2) = 0 {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if let 0 | (1 | 2) = 0 {}
-LL + if let 0 | 1 | 2 = 0 {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:54:15
- |
-LL | if let TS((0 | 1)) = TS(0) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if let TS((0 | 1)) = TS(0) {}
-LL + if let TS(0 | 1) = TS(0) {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:56:20
- |
-LL | if let NS { f: (0 | 1) } = (NS { f: 0 }) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if let NS { f: (0 | 1) } = (NS { f: 0 }) {}
-LL + if let NS { f: 0 | 1 } = (NS { f: 0 }) {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:66:9
- |
-LL | (_) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (_) => {}
-LL + _ => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:67:9
- |
-LL | (y) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (y) => {}
-LL + y => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:68:9
- |
-LL | (ref r) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (ref r) => {}
-LL + ref r => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:69:9
- |
-LL | (e @ 1...2) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (e @ 1...2) => {}
-LL + e @ 1...2 => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:75:9
- |
-LL | (e @ &(1...2)) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (e @ &(1...2)) => {}
-LL + e @ &(1...2) => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:76:10
- |
-LL | &(_) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - &(_) => {}
-LL + &_ => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:87:9
- |
-LL | (_) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (_) => {}
-LL + _ => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:88:9
- |
-LL | (y) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (y) => {}
-LL + y => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:89:9
- |
-LL | (ref r) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (ref r) => {}
-LL + ref r => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:90:9
- |
-LL | (e @ 1..=2) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (e @ 1..=2) => {}
-LL + e @ 1..=2 => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:96:9
- |
-LL | (e @ &(1..=2)) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - (e @ &(1..=2)) => {}
-LL + e @ &(1..=2) => {}
- |
-
-error: unnecessary parentheses around pattern
- --> $DIR/issue-54538-unused-parens-lint.rs:97:10
- |
-LL | &(_) => {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - &(_) => {}
-LL + &_ => {}
- |
-
-error: aborting due to 24 previous errors
-
diff --git a/src/test/ui/lint/unused/issue-59896.rs b/src/test/ui/lint/unused/issue-59896.rs
deleted file mode 100644
index ff9f19acf..000000000
--- a/src/test/ui/lint/unused/issue-59896.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#![deny(unused_imports)]
-
-struct S;
-
-fn main() {
- use S; //~ ERROR the item `S` is imported redundantly
-
- let _s = S;
-}
diff --git a/src/test/ui/lint/unused/issue-59896.stderr b/src/test/ui/lint/unused/issue-59896.stderr
deleted file mode 100644
index 95b7938ae..000000000
--- a/src/test/ui/lint/unused/issue-59896.stderr
+++ /dev/null
@@ -1,17 +0,0 @@
-error: the item `S` is imported redundantly
- --> $DIR/issue-59896.rs:6:9
- |
-LL | struct S;
- | --------- the item `S` is already defined here
-...
-LL | use S;
- | ^
- |
-note: the lint level is defined here
- --> $DIR/issue-59896.rs:1:9
- |
-LL | #![deny(unused_imports)]
- | ^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/unused/issue-67691-unused-field-in-or-pattern.rs b/src/test/ui/lint/unused/issue-67691-unused-field-in-or-pattern.rs
deleted file mode 100644
index e3631d014..000000000
--- a/src/test/ui/lint/unused/issue-67691-unused-field-in-or-pattern.rs
+++ /dev/null
@@ -1,85 +0,0 @@
-// FIXME: should be run-rustfix, but rustfix doesn't currently support multipart suggestions, see
-// #53934
-
-#![deny(unused)]
-
-pub enum MyEnum {
- A { i: i32, j: i32 },
- B { i: i32, j: i32 },
-}
-
-pub enum MixedEnum {
- A { i: i32 },
- B(i32),
-}
-
-pub fn no_ref(x: MyEnum) {
- use MyEnum::*;
-
- match x {
- A { i, j } | B { i, j } => { //~ ERROR unused variable
- println!("{}", i);
- }
- }
-}
-
-pub fn with_ref(x: MyEnum) {
- use MyEnum::*;
-
- match x {
- A { i, ref j } | B { i, ref j } => { //~ ERROR unused variable
- println!("{}", i);
- }
- }
-}
-
-pub fn inner_no_ref(x: Option<MyEnum>) {
- use MyEnum::*;
-
- match x {
- Some(A { i, j } | B { i, j }) => { //~ ERROR unused variable
- println!("{}", i);
- }
-
- _ => {}
- }
-}
-
-pub fn inner_with_ref(x: Option<MyEnum>) {
- use MyEnum::*;
-
- match x {
- Some(A { i, ref j } | B { i, ref j }) => { //~ ERROR unused variable
- println!("{}", i);
- }
-
- _ => {}
- }
-}
-
-pub fn mixed_no_ref(x: MixedEnum) {
- match x {
- MixedEnum::A { i } | MixedEnum::B(i) => { //~ ERROR unused variable
- println!("match");
- }
- }
-}
-
-pub fn mixed_with_ref(x: MixedEnum) {
- match x {
- MixedEnum::A { ref i } | MixedEnum::B(ref i) => { //~ ERROR unused variable
- println!("match");
- }
- }
-}
-
-pub fn main() {
- no_ref(MyEnum::A { i: 1, j: 2 });
- with_ref(MyEnum::A { i: 1, j: 2 });
-
- inner_no_ref(Some(MyEnum::A { i: 1, j: 2 }));
- inner_with_ref(Some(MyEnum::A { i: 1, j: 2 }));
-
- mixed_no_ref(MixedEnum::B(5));
- mixed_with_ref(MixedEnum::B(5));
-}
diff --git a/src/test/ui/lint/unused/issue-67691-unused-field-in-or-pattern.stderr b/src/test/ui/lint/unused/issue-67691-unused-field-in-or-pattern.stderr
deleted file mode 100644
index 8fc2d1bc8..000000000
--- a/src/test/ui/lint/unused/issue-67691-unused-field-in-or-pattern.stderr
+++ /dev/null
@@ -1,74 +0,0 @@
-error: unused variable: `j`
- --> $DIR/issue-67691-unused-field-in-or-pattern.rs:20:16
- |
-LL | A { i, j } | B { i, j } => {
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/issue-67691-unused-field-in-or-pattern.rs:4:9
- |
-LL | #![deny(unused)]
- | ^^^^^^
- = note: `#[deny(unused_variables)]` implied by `#[deny(unused)]`
-help: try ignoring the field
- |
-LL | A { i, j: _ } | B { i, j: _ } => {
- | ~~~~ ~~~~
-
-error: unused variable: `j`
- --> $DIR/issue-67691-unused-field-in-or-pattern.rs:30:16
- |
-LL | A { i, ref j } | B { i, ref j } => {
- | ^^^^^ ^^^^^
- |
-help: try ignoring the field
- |
-LL | A { i, j: _ } | B { i, j: _ } => {
- | ~~~~ ~~~~
-
-error: unused variable: `j`
- --> $DIR/issue-67691-unused-field-in-or-pattern.rs:40:21
- |
-LL | Some(A { i, j } | B { i, j }) => {
- | ^ ^
- |
-help: try ignoring the field
- |
-LL | Some(A { i, j: _ } | B { i, j: _ }) => {
- | ~~~~ ~~~~
-
-error: unused variable: `j`
- --> $DIR/issue-67691-unused-field-in-or-pattern.rs:52:21
- |
-LL | Some(A { i, ref j } | B { i, ref j }) => {
- | ^^^^^ ^^^^^
- |
-help: try ignoring the field
- |
-LL | Some(A { i, j: _ } | B { i, j: _ }) => {
- | ~~~~ ~~~~
-
-error: unused variable: `i`
- --> $DIR/issue-67691-unused-field-in-or-pattern.rs:62:24
- |
-LL | MixedEnum::A { i } | MixedEnum::B(i) => {
- | ^ ^
- |
-help: try ignoring the field
- |
-LL | MixedEnum::A { i: _ } | MixedEnum::B(_) => {
- | ~~~~ ~
-
-error: unused variable: `i`
- --> $DIR/issue-67691-unused-field-in-or-pattern.rs:70:24
- |
-LL | MixedEnum::A { ref i } | MixedEnum::B(ref i) => {
- | ^^^^^ ^^^^^
- |
-help: try ignoring the field
- |
-LL | MixedEnum::A { i: _ } | MixedEnum::B(_) => {
- | ~~~~ ~
-
-error: aborting due to 6 previous errors
-
diff --git a/src/test/ui/lint/unused/issue-70041.rs b/src/test/ui/lint/unused/issue-70041.rs
deleted file mode 100644
index 22e42295e..000000000
--- a/src/test/ui/lint/unused/issue-70041.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// compile-flags: --edition=2018
-// run-pass
-
-macro_rules! regex {
- //~^ WARN unused macro definition
- () => {};
-}
-
-#[allow(dead_code)]
-use regex;
-//~^ WARN unused import
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/issue-70041.stderr b/src/test/ui/lint/unused/issue-70041.stderr
deleted file mode 100644
index b2e6d1aeb..000000000
--- a/src/test/ui/lint/unused/issue-70041.stderr
+++ /dev/null
@@ -1,18 +0,0 @@
-warning: unused macro definition: `regex`
- --> $DIR/issue-70041.rs:4:14
- |
-LL | macro_rules! regex {
- | ^^^^^
- |
- = note: `#[warn(unused_macros)]` on by default
-
-warning: unused import: `regex`
- --> $DIR/issue-70041.rs:10:5
- |
-LL | use regex;
- | ^^^^^
- |
- = note: `#[warn(unused_imports)]` on by default
-
-warning: 2 warnings emitted
-
diff --git a/src/test/ui/lint/unused/issue-71290-unused-paren-binop.rs b/src/test/ui/lint/unused/issue-71290-unused-paren-binop.rs
deleted file mode 100644
index 24d77e36d..000000000
--- a/src/test/ui/lint/unused/issue-71290-unused-paren-binop.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// check-pass
-// Make sure unused parens lint doesn't emit a false positive.
-// See https://github.com/rust-lang/rust/issues/71290 for details.
-#![deny(unused_parens)]
-
-fn x() -> u8 {
- ({ 0 }) + 1
-}
-
-fn y() -> u8 {
- ({ 0 } + 1)
-}
-
-pub fn foo(a: bool, b: bool) -> u8 {
- (if a { 1 } else { 0 } + if b { 1 } else { 0 })
-}
-
-pub fn bar() -> u8 {
- // Make sure nested expressions are handled correctly as well
- ({ 0 } + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9)
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/issue-74883-unused-paren-baren-yield.rs b/src/test/ui/lint/unused/issue-74883-unused-paren-baren-yield.rs
deleted file mode 100644
index 8064c3a88..000000000
--- a/src/test/ui/lint/unused/issue-74883-unused-paren-baren-yield.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-#![feature(generator_trait)]
-#![feature(generators)]
-#![deny(unused_braces, unused_parens)]
-
-use std::ops::Generator;
-use std::pin::Pin;
-
-fn main() {
- let mut x = |_| {
- while let Some(_) = (yield) {}
- while let Some(_) = {yield} {}
-
- // Only warn these cases
- while let Some(_) = ({yield}) {} //~ ERROR: unnecessary parentheses
- while let Some(_) = ((yield)) {} //~ ERROR: unnecessary parentheses
- {{yield}}; //~ ERROR: unnecessary braces
- {( yield )}; //~ ERROR: unnecessary parentheses
- while let Some(_) = {(yield)} {} //~ ERROR: unnecessary parentheses
- while let Some(_) = {{yield}} {} //~ ERROR: unnecessary braces
-
- // FIXME: It'd be great if we could also warn them.
- ((yield));
- ({ yield });
- };
- let _ = Pin::new(&mut x).resume(Some(5));
-}
diff --git a/src/test/ui/lint/unused/issue-74883-unused-paren-baren-yield.stderr b/src/test/ui/lint/unused/issue-74883-unused-paren-baren-yield.stderr
deleted file mode 100644
index 3f1fee332..000000000
--- a/src/test/ui/lint/unused/issue-74883-unused-paren-baren-yield.stderr
+++ /dev/null
@@ -1,84 +0,0 @@
-error: unnecessary parentheses around `let` scrutinee expression
- --> $DIR/issue-74883-unused-paren-baren-yield.rs:14:29
- |
-LL | while let Some(_) = ({yield}) {}
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/issue-74883-unused-paren-baren-yield.rs:3:24
- |
-LL | #![deny(unused_braces, unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - while let Some(_) = ({yield}) {}
-LL + while let Some(_) = {yield} {}
- |
-
-error: unnecessary parentheses around `let` scrutinee expression
- --> $DIR/issue-74883-unused-paren-baren-yield.rs:15:29
- |
-LL | while let Some(_) = ((yield)) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - while let Some(_) = ((yield)) {}
-LL + while let Some(_) = (yield) {}
- |
-
-error: unnecessary braces around block return value
- --> $DIR/issue-74883-unused-paren-baren-yield.rs:16:10
- |
-LL | {{yield}};
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/issue-74883-unused-paren-baren-yield.rs:3:9
- |
-LL | #![deny(unused_braces, unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these braces
- |
-LL - {{yield}};
-LL + {yield};
- |
-
-error: unnecessary parentheses around block return value
- --> $DIR/issue-74883-unused-paren-baren-yield.rs:17:10
- |
-LL | {( yield )};
- | ^^ ^^
- |
-help: remove these parentheses
- |
-LL - {( yield )};
-LL + {yield};
- |
-
-error: unnecessary parentheses around block return value
- --> $DIR/issue-74883-unused-paren-baren-yield.rs:18:30
- |
-LL | while let Some(_) = {(yield)} {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - while let Some(_) = {(yield)} {}
-LL + while let Some(_) = {yield} {}
- |
-
-error: unnecessary braces around block return value
- --> $DIR/issue-74883-unused-paren-baren-yield.rs:19:30
- |
-LL | while let Some(_) = {{yield}} {}
- | ^ ^
- |
-help: remove these braces
- |
-LL - while let Some(_) = {{yield}} {}
-LL + while let Some(_) = {yield} {}
- |
-
-error: aborting due to 6 previous errors
-
diff --git a/src/test/ui/lint/unused/issue-81314-unused-span-ident.fixed b/src/test/ui/lint/unused/issue-81314-unused-span-ident.fixed
deleted file mode 100644
index aac918f2b..000000000
--- a/src/test/ui/lint/unused/issue-81314-unused-span-ident.fixed
+++ /dev/null
@@ -1,12 +0,0 @@
-// run-rustfix
-// Regression test for #81314: Unused variable lint should
-// span only the identifier and not the rest of the pattern
-
-#![deny(unused)]
-
-fn main() {
- let [_rest @ ..] = [1, 2, 3]; //~ ERROR unused variable
-}
-
-pub fn foo([_rest @ ..]: &[i32]) { //~ ERROR unused variable
-}
diff --git a/src/test/ui/lint/unused/issue-81314-unused-span-ident.rs b/src/test/ui/lint/unused/issue-81314-unused-span-ident.rs
deleted file mode 100644
index 78296f425..000000000
--- a/src/test/ui/lint/unused/issue-81314-unused-span-ident.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// run-rustfix
-// Regression test for #81314: Unused variable lint should
-// span only the identifier and not the rest of the pattern
-
-#![deny(unused)]
-
-fn main() {
- let [rest @ ..] = [1, 2, 3]; //~ ERROR unused variable
-}
-
-pub fn foo([rest @ ..]: &[i32]) { //~ ERROR unused variable
-}
diff --git a/src/test/ui/lint/unused/issue-81314-unused-span-ident.stderr b/src/test/ui/lint/unused/issue-81314-unused-span-ident.stderr
deleted file mode 100644
index 519c71e94..000000000
--- a/src/test/ui/lint/unused/issue-81314-unused-span-ident.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error: unused variable: `rest`
- --> $DIR/issue-81314-unused-span-ident.rs:8:10
- |
-LL | let [rest @ ..] = [1, 2, 3];
- | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
- |
-note: the lint level is defined here
- --> $DIR/issue-81314-unused-span-ident.rs:5:9
- |
-LL | #![deny(unused)]
- | ^^^^^^
- = note: `#[deny(unused_variables)]` implied by `#[deny(unused)]`
-
-error: unused variable: `rest`
- --> $DIR/issue-81314-unused-span-ident.rs:11:13
- |
-LL | pub fn foo([rest @ ..]: &[i32]) {
- | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/unused/issue-85913.rs b/src/test/ui/lint/unused/issue-85913.rs
deleted file mode 100644
index 7f3817b6e..000000000
--- a/src/test/ui/lint/unused/issue-85913.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![deny(unused_must_use)]
-
-pub fn fun() -> i32 {
- function() && return 1;
- //~^ ERROR: unused logical operation that must be used
- return 0;
-}
-
-fn function() -> bool {
- true
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/issue-85913.stderr b/src/test/ui/lint/unused/issue-85913.stderr
deleted file mode 100644
index 8234ed3b1..000000000
--- a/src/test/ui/lint/unused/issue-85913.stderr
+++ /dev/null
@@ -1,18 +0,0 @@
-error: unused logical operation that must be used
- --> $DIR/issue-85913.rs:4:5
- |
-LL | function() && return 1;
- | ^^^^^^^^^^^^^^^^^^^^^^ the logical operation produces a value
- |
-note: the lint level is defined here
- --> $DIR/issue-85913.rs:1:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = function() && return 1;
- | +++++++
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/unused/issue-88519-unused-paren.rs b/src/test/ui/lint/unused/issue-88519-unused-paren.rs
deleted file mode 100644
index ce3d15ac1..000000000
--- a/src/test/ui/lint/unused/issue-88519-unused-paren.rs
+++ /dev/null
@@ -1,85 +0,0 @@
-// check-pass
-// Make sure unused parens lint doesn't emit a false positive.
-// See https://github.com/rust-lang/rust/issues/88519
-#![deny(unused_parens)]
-#![feature(type_ascription)]
-
-// binary ops are tested in issue-71290-unused-paren-binop.rs
-
-mod call {
- fn noop() -> u8 { 0 }
- fn outside() -> u8 {
- ({ noop })()
- }
- fn inside() -> u8 {
- ({ noop }())
- }
- fn outside_match() -> u8 {
- (match noop { x => x })()
- }
- fn inside_match() -> u8 {
- (match noop { x => x }())
- }
- fn outside_if() -> u8 {
- (if false { noop } else { noop })()
- }
- fn inside_if() -> u8 {
- (if false { noop } else { noop }())
- }
-}
-
-mod casts {
- fn outside() -> u8 {
- ({ 0 }) as u8
- }
- fn inside() -> u8 {
- ({ 0 } as u8)
- }
- fn outside_match() -> u8 {
- (match 0 { x => x }) as u8
- }
- fn inside_match() -> u8 {
- (match 0 { x => x } as u8)
- }
- fn outside_if() -> u8 {
- (if false { 0 } else { 0 }) as u8
- }
- fn inside_if() -> u8 {
- (if false { 0 } else { 0 } as u8)
- }
-}
-
-mod typeascription {
- fn outside() -> u8 {
- type_ascribe!(({ 0 }), u8)
- }
- fn outside_match() -> u8 {
- type_ascribe!((match 0 { x => x }), u8)
- }
- fn outside_if() -> u8 {
- type_ascribe!((if false { 0 } else { 0 }), u8)
- }
-}
-
-mod index {
- fn outside(x: &[u8]) -> u8 {
- ({ x })[0]
- }
- fn inside(x: &[u8]) -> u8 {
- ({ x }[0])
- }
- fn outside_match(x: &[u8]) -> u8 {
- (match x { x => x })[0]
- }
- fn inside_match(x: &[u8]) -> u8 {
- (match x { x => x }[0])
- }
- fn outside_if(x: &[u8]) -> u8 {
- (if false { x } else { x })[0]
- }
- fn inside_if(x: &[u8]) -> u8 {
- (if false { x } else { x }[0])
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/issue-90807-unused-paren-error.rs b/src/test/ui/lint/unused/issue-90807-unused-paren-error.rs
deleted file mode 100644
index 2fca2e262..000000000
--- a/src/test/ui/lint/unused/issue-90807-unused-paren-error.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// Make sure unused parens lint emit is emitted for loop and match.
-// See https://github.com/rust-lang/rust/issues/90807
-// and https://github.com/rust-lang/rust/pull/91956#discussion_r771647953
-#![deny(unused_parens)]
-
-fn main() {
- for _ in (1..loop { break 2 }) {} //~ERROR
- for _ in (1..match () { () => 2 }) {} //~ERROR
-}
diff --git a/src/test/ui/lint/unused/issue-90807-unused-paren-error.stderr b/src/test/ui/lint/unused/issue-90807-unused-paren-error.stderr
deleted file mode 100644
index b3b809d5f..000000000
--- a/src/test/ui/lint/unused/issue-90807-unused-paren-error.stderr
+++ /dev/null
@@ -1,31 +0,0 @@
-error: unnecessary parentheses around `for` iterator expression
- --> $DIR/issue-90807-unused-paren-error.rs:7:14
- |
-LL | for _ in (1..loop { break 2 }) {}
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/issue-90807-unused-paren-error.rs:4:9
- |
-LL | #![deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - for _ in (1..loop { break 2 }) {}
-LL + for _ in 1..loop { break 2 } {}
- |
-
-error: unnecessary parentheses around `for` iterator expression
- --> $DIR/issue-90807-unused-paren-error.rs:8:14
- |
-LL | for _ in (1..match () { () => 2 }) {}
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - for _ in (1..match () { () => 2 }) {}
-LL + for _ in 1..match () { () => 2 } {}
- |
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/unused/issue-90807-unused-paren.rs b/src/test/ui/lint/unused/issue-90807-unused-paren.rs
deleted file mode 100644
index 4c0930f96..000000000
--- a/src/test/ui/lint/unused/issue-90807-unused-paren.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// check-pass
-// Make sure unused parens lint doesn't emit a false positive.
-// See https://github.com/rust-lang/rust/issues/90807
-#![deny(unused_parens)]
-
-fn main() {
- for _ in (1..{ 2 }) {}
-}
diff --git a/src/test/ui/lint/unused/issue-92751.rs b/src/test/ui/lint/unused/issue-92751.rs
deleted file mode 100644
index 2fb292736..000000000
--- a/src/test/ui/lint/unused/issue-92751.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#[deny(unused)]
-pub fn broken(x: Option<()>) -> i32 {
- match x {
- Some(()) => (1), //~ ERROR unnecessary parentheses around match arm expression
- None => (2), //~ ERROR unnecessary parentheses around match arm expression
- }
-}
-
-fn main() { }
diff --git a/src/test/ui/lint/unused/issue-92751.stderr b/src/test/ui/lint/unused/issue-92751.stderr
deleted file mode 100644
index 0a8d8e672..000000000
--- a/src/test/ui/lint/unused/issue-92751.stderr
+++ /dev/null
@@ -1,32 +0,0 @@
-error: unnecessary parentheses around match arm expression
- --> $DIR/issue-92751.rs:4:21
- |
-LL | Some(()) => (1),
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/issue-92751.rs:1:8
- |
-LL | #[deny(unused)]
- | ^^^^^^
- = note: `#[deny(unused_parens)]` implied by `#[deny(unused)]`
-help: remove these parentheses
- |
-LL - Some(()) => (1),
-LL + Some(()) => 1,
- |
-
-error: unnecessary parentheses around match arm expression
- --> $DIR/issue-92751.rs:5:17
- |
-LL | None => (2),
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - None => (2),
-LL + None => 2,
- |
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/unused/lint-unused-extern-crate.rs b/src/test/ui/lint/unused/lint-unused-extern-crate.rs
deleted file mode 100644
index d5e4da526..000000000
--- a/src/test/ui/lint/unused/lint-unused-extern-crate.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-// aux-build:lint_unused_extern_crate.rs
-// aux-build:lint_unused_extern_crate2.rs
-// aux-build:lint_unused_extern_crate3.rs
-// aux-build:lint_unused_extern_crate4.rs
-// aux-build:lint_unused_extern_crate5.rs
-
-#![deny(unused_extern_crates)]
-#![allow(unused_variables)]
-#![allow(deprecated)]
-
-extern crate lint_unused_extern_crate5; //~ ERROR: unused extern crate
-
-pub extern crate lint_unused_extern_crate4; // no error, it is re-exported
-
-extern crate lint_unused_extern_crate3; // no error, it is used
-
-extern crate lint_unused_extern_crate2; // no error, the use marks it as used
- // even if imported objects aren't used
-
-extern crate lint_unused_extern_crate as other; // no error, the use * marks it as used
-
-#[allow(unused_imports)]
-use lint_unused_extern_crate2::foo as bar;
-
-use other::*;
-
-mod foo {
- // Test that this is unused even though an earlier `extern crate` is used.
- extern crate lint_unused_extern_crate2; //~ ERROR unused extern crate
-}
-
-fn main() {
- lint_unused_extern_crate3::foo();
- let y = foo();
-}
diff --git a/src/test/ui/lint/unused/lint-unused-extern-crate.stderr b/src/test/ui/lint/unused/lint-unused-extern-crate.stderr
deleted file mode 100644
index 46d8f3bee..000000000
--- a/src/test/ui/lint/unused/lint-unused-extern-crate.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: unused extern crate
- --> $DIR/lint-unused-extern-crate.rs:11:1
- |
-LL | extern crate lint_unused_extern_crate5;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove it
- |
-note: the lint level is defined here
- --> $DIR/lint-unused-extern-crate.rs:7:9
- |
-LL | #![deny(unused_extern_crates)]
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unused extern crate
- --> $DIR/lint-unused-extern-crate.rs:29:5
- |
-LL | extern crate lint_unused_extern_crate2;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove it
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/unused/lint-unused-imports.rs b/src/test/ui/lint/unused/lint-unused-imports.rs
deleted file mode 100644
index 4754d8880..000000000
--- a/src/test/ui/lint/unused/lint-unused-imports.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-#![deny(unused_imports)]
-#![allow(dead_code)]
-
-use bar::c::cc as cal;
-
-use std::mem::*; // shouldn't get errors for not using
- // everything imported
-use std::fmt::{};
-//~^ ERROR unused import: `std::fmt::{}`
-
-// Should get errors for both 'Some' and 'None'
-use std::option::Option::{Some, None};
-//~^ ERROR unused imports: `None`, `Some`
-
-use test::A; //~ ERROR unused import: `test::A`
-// Be sure that if we just bring some methods into scope that they're also
-// counted as being used.
-use test::B;
-// But only when actually used: do not get confused by the method with the same name.
-use test::B2; //~ ERROR unused import: `test::B2`
-
-// Make sure this import is warned about when at least one of its imported names
-// is unused
-use test2::{foo, bar}; //~ ERROR unused import: `bar`
-
-mod test2 {
- pub fn foo() {}
- pub fn bar() {}
-}
-
-mod test {
- pub trait A { fn a(&self) {} }
- pub trait B { fn b(&self) {} }
- pub trait B2 { fn b(&self) {} }
- pub struct C;
- impl A for C {}
- impl B for C {}
-}
-
-mod foo {
- pub struct Point{pub x: isize, pub y: isize}
- pub struct Square{pub p: Point, pub h: usize, pub w: usize}
-}
-
-mod bar {
- // Don't ignore on 'pub use' because we're not sure if it's used or not
- pub use std::cmp::PartialEq;
- pub struct Square;
-
- pub mod c {
- use foo::Point;
- use foo::Square; //~ ERROR unused import: `foo::Square`
- pub fn cc(_p: Point) -> super::Square {
- fn f() -> super::Square {
- super::Square
- }
- f()
- }
- }
-
- #[allow(unused_imports)]
- mod foo {
- use std::cmp::PartialEq;
- }
-}
-
-fn g() {
- use self::g; //~ ERROR unused import: `self::g`
- //~^ ERROR the item `g` is imported redundantly
- fn f() {
- self::g();
- }
-}
-
-// cf. issue #35135.
-#[allow(unused_variables)]
-fn h() {
- use test2::foo; //~ ERROR unused import: `test2::foo`
- //~^ ERROR the item `foo` is imported redundantly
- let foo = 0;
-}
-
-fn main() {
- cal(foo::Point{x:3, y:9});
- let mut a = 3;
- let mut b = 4;
- swap(&mut a, &mut b);
- test::C.b();
- let _a = foo();
-}
diff --git a/src/test/ui/lint/unused/lint-unused-imports.stderr b/src/test/ui/lint/unused/lint-unused-imports.stderr
deleted file mode 100644
index 0574ca456..000000000
--- a/src/test/ui/lint/unused/lint-unused-imports.stderr
+++ /dev/null
@@ -1,78 +0,0 @@
-error: unused import: `std::fmt::{}`
- --> $DIR/lint-unused-imports.rs:8:5
- |
-LL | use std::fmt::{};
- | ^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/lint-unused-imports.rs:1:9
- |
-LL | #![deny(unused_imports)]
- | ^^^^^^^^^^^^^^
-
-error: unused imports: `None`, `Some`
- --> $DIR/lint-unused-imports.rs:12:27
- |
-LL | use std::option::Option::{Some, None};
- | ^^^^ ^^^^
-
-error: unused import: `test::A`
- --> $DIR/lint-unused-imports.rs:15:5
- |
-LL | use test::A;
- | ^^^^^^^
-
-error: unused import: `bar`
- --> $DIR/lint-unused-imports.rs:24:18
- |
-LL | use test2::{foo, bar};
- | ^^^
-
-error: unused import: `foo::Square`
- --> $DIR/lint-unused-imports.rs:52:13
- |
-LL | use foo::Square;
- | ^^^^^^^^^^^
-
-error: the item `g` is imported redundantly
- --> $DIR/lint-unused-imports.rs:68:9
- |
-LL | / fn g() {
-LL | | use self::g;
- | | ^^^^^^^
-LL | |
-LL | | fn f() {
-LL | | self::g();
-LL | | }
-LL | | }
- | |_- the item `g` is already defined here
-
-error: unused import: `self::g`
- --> $DIR/lint-unused-imports.rs:68:9
- |
-LL | use self::g;
- | ^^^^^^^
-
-error: the item `foo` is imported redundantly
- --> $DIR/lint-unused-imports.rs:78:9
- |
-LL | use test2::{foo, bar};
- | --- the item `foo` is already imported here
-...
-LL | use test2::foo;
- | ^^^^^^^^^^
-
-error: unused import: `test2::foo`
- --> $DIR/lint-unused-imports.rs:78:9
- |
-LL | use test2::foo;
- | ^^^^^^^^^^
-
-error: unused import: `test::B2`
- --> $DIR/lint-unused-imports.rs:20:5
- |
-LL | use test::B2;
- | ^^^^^^^^
-
-error: aborting due to 10 previous errors
-
diff --git a/src/test/ui/lint/unused/lint-unused-mut-self.fixed b/src/test/ui/lint/unused/lint-unused-mut-self.fixed
deleted file mode 100644
index 92ce10358..000000000
--- a/src/test/ui/lint/unused/lint-unused-mut-self.fixed
+++ /dev/null
@@ -1,14 +0,0 @@
-// run-rustfix
-
-#![allow(unused_assignments)]
-#![allow(unused_variables)]
-#![allow(dead_code)]
-#![deny(unused_mut)]
-
-struct Foo;
-impl Foo {
- fn foo(self) {} //~ ERROR: variable does not need to be mutable
- fn bar(self: Box<Foo>) {} //~ ERROR: variable does not need to be mutable
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/lint-unused-mut-self.rs b/src/test/ui/lint/unused/lint-unused-mut-self.rs
deleted file mode 100644
index 70736ce21..000000000
--- a/src/test/ui/lint/unused/lint-unused-mut-self.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// run-rustfix
-
-#![allow(unused_assignments)]
-#![allow(unused_variables)]
-#![allow(dead_code)]
-#![deny(unused_mut)]
-
-struct Foo;
-impl Foo {
- fn foo(mut self) {} //~ ERROR: variable does not need to be mutable
- fn bar(mut self: Box<Foo>) {} //~ ERROR: variable does not need to be mutable
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/lint-unused-mut-self.stderr b/src/test/ui/lint/unused/lint-unused-mut-self.stderr
deleted file mode 100644
index 01a524bd3..000000000
--- a/src/test/ui/lint/unused/lint-unused-mut-self.stderr
+++ /dev/null
@@ -1,24 +0,0 @@
-error: variable does not need to be mutable
- --> $DIR/lint-unused-mut-self.rs:10:12
- |
-LL | fn foo(mut self) {}
- | ----^^^^
- | |
- | help: remove this `mut`
- |
-note: the lint level is defined here
- --> $DIR/lint-unused-mut-self.rs:6:9
- |
-LL | #![deny(unused_mut)]
- | ^^^^^^^^^^
-
-error: variable does not need to be mutable
- --> $DIR/lint-unused-mut-self.rs:11:12
- |
-LL | fn bar(mut self: Box<Foo>) {}
- | ----^^^^
- | |
- | help: remove this `mut`
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/unused/lint-unused-mut-variables.rs b/src/test/ui/lint/unused/lint-unused-mut-variables.rs
deleted file mode 100644
index 67ec7facf..000000000
--- a/src/test/ui/lint/unused/lint-unused-mut-variables.rs
+++ /dev/null
@@ -1,207 +0,0 @@
-// edition:2018
-
-// Exercise the unused_mut attribute in some positive and negative cases
-
-#![warn(unused_mut)]
-#![feature(async_closure, raw_ref_op)]
-
-async fn baz_async(
- mut a: i32,
- //~^ WARN: variable does not need to be mutable
- #[allow(unused_mut)] mut b: i32,
-) {}
-fn baz(
- mut a: i32,
- //~^ WARN: variable does not need to be mutable
- #[allow(unused_mut)] mut b: i32,
- #[allow(unused_mut)] (mut c, d): (i32, i32)
-) {}
-
-struct RefStruct {}
-impl RefStruct {
- async fn baz_async(
- mut a: i32,
- //~^ WARN: variable does not need to be mutable
- #[allow(unused_mut)] mut b: i32,
- ) {}
- fn baz(
- &self,
- mut a: i32,
- //~^ WARN: variable does not need to be mutable
- #[allow(unused_mut)] mut b: i32,
- #[allow(unused_mut)] (mut c, d): (i32, i32)
- ) {}
-}
-
-trait RefTrait {
- fn baz(
- &self,
- mut a: i32,
- //~^ WARN: variable does not need to be mutable
- #[allow(unused_mut)] mut b: i32,
- #[allow(unused_mut)] (mut c, d): (i32, i32)
- ) {}
-}
-impl RefTrait for () {
- fn baz(
- &self,
- mut a: i32,
- //~^ WARN: variable does not need to be mutable
- #[allow(unused_mut)] mut b: i32,
- #[allow(unused_mut)] (mut c, d): (i32, i32)
- ) {}
-}
-
-fn main() {
- let _ = async move |
- mut a: i32,
- //~^ WARN: variable does not need to be mutable
- #[allow(unused_mut)] mut b: i32,
- | {};
- let _ = |
- mut a: i32,
- //~^ WARN: variable does not need to be mutable
- #[allow(unused_mut)] mut b: i32,
- #[allow(unused_mut)] (mut c, d): (i32, i32)
- | {};
-
- // negative cases
- let mut a = 3; //~ WARN: variable does not need to be mutable
-
- let mut a = 2; //~ WARN: variable does not need to be mutable
-
- let mut b = 3; //~ WARN: variable does not need to be mutable
-
- let mut a = vec![3]; //~ WARN: variable does not need to be mutable
-
- let (mut a, b) = (1, 2); //~ WARN: variable does not need to be mutable
-
- let mut a; //~ WARN: variable does not need to be mutable
-
- a = 3;
-
- let mut b; //~ WARN: variable does not need to be mutable
-
- if true {
- b = 3;
- } else {
- b = 4;
- }
-
- match 30 {
- mut x => {} //~ WARN: variable does not need to be mutable
-
- }
-
- match (30, 2) {
- // FIXME: Here's a false positive,
- // shouldn't be removed `mut` not to be bound with a different way.
- (mut x, 1) | //~ WARN: variable does not need to be mutable
-
- (mut x, 2) |
- (mut x, 3) => {
- }
- _ => {}
- }
-
- let x = |mut y: isize| 10; //~ WARN: variable does not need to be mutable
-
- fn what(mut foo: isize) {} //~ WARN: variable does not need to be mutable
-
-
- let mut a = &mut 5; //~ WARN: variable does not need to be mutable
-
- *a = 4;
-
- let mut a = 5;
- let mut b = (&mut a,); //~ WARN: variable does not need to be mutable
- *b.0 = 4;
-
- let mut x = &mut 1; //~ WARN: variable does not need to be mutable
-
- let mut f = || {
- *x += 1;
- };
- f();
-
- fn mut_ref_arg(mut arg : &mut [u8]) -> &mut [u8] {
- &mut arg[..] //~^ WARN: variable does not need to be mutable
-
- }
-
- let mut v : &mut Vec<()> = &mut vec![]; //~ WARN: variable does not need to be mutable
-
- v.push(());
-
- // positive cases
- let mut a = 2;
- a = 3;
- let mut a = Vec::new();
- a.push(3);
- let mut a = Vec::new();
- callback(|| {
- a.push(3);
- });
- let mut a = Vec::new();
- callback(|| {
- callback(|| {
- a.push(3);
- });
- });
- let (mut a, b) = (1, 2);
- a = 34;
-
- match 30 {
- mut x => {
- x = 21;
- }
- }
-
- match (30, 2) {
- (mut x, 1) |
- (mut x, 2) |
- (mut x, 3) => {
- x = 21
- }
- _ => {}
- }
-
- // Attribute should be respected on match arms
- match 0 {
- #[allow(unused_mut)]
- mut x => {
- let mut y = 1;
- },
- }
-
- let x = |mut y: isize| y = 32;
- fn nothing(mut foo: isize) { foo = 37; }
-
- // leading underscore should avoid the warning, just like the
- // unused variable lint.
- let mut _allowed = 1;
-
- let mut raw_address_of_mut = 1; // OK
- let mut_ptr = &raw mut raw_address_of_mut;
-
- let mut raw_address_of_const = 1; //~ WARN: variable does not need to be mutable
- let const_ptr = &raw const raw_address_of_const;
-}
-
-fn callback<F>(f: F) where F: FnOnce() {}
-
-// make sure the lint attribute can be turned off
-#[allow(unused_mut)]
-fn foo(mut a: isize) {
- let mut a = 3;
- let mut b = vec![2];
-}
-
-// make sure the lint attribute can be turned off on let statements
-#[deny(unused_mut)]
-fn bar() {
- #[allow(unused_mut)]
- let mut a = 3;
- let mut b = vec![2]; //~ ERROR: variable does not need to be mutable
-
-}
diff --git a/src/test/ui/lint/unused/lint-unused-mut-variables.stderr b/src/test/ui/lint/unused/lint-unused-mut-variables.stderr
deleted file mode 100644
index 805ed2b40..000000000
--- a/src/test/ui/lint/unused/lint-unused-mut-variables.stderr
+++ /dev/null
@@ -1,222 +0,0 @@
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:9:5
- |
-LL | mut a: i32,
- | ----^
- | |
- | help: remove this `mut`
- |
-note: the lint level is defined here
- --> $DIR/lint-unused-mut-variables.rs:5:9
- |
-LL | #![warn(unused_mut)]
- | ^^^^^^^^^^
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:23:9
- |
-LL | mut a: i32,
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:14:5
- |
-LL | mut a: i32,
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:29:9
- |
-LL | mut a: i32,
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:39:9
- |
-LL | mut a: i32,
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:48:9
- |
-LL | mut a: i32,
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:57:9
- |
-LL | mut a: i32,
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:62:9
- |
-LL | mut a: i32,
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:107:14
- |
-LL | let x = |mut y: isize| 10;
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:69:9
- |
-LL | let mut a = 3;
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:71:9
- |
-LL | let mut a = 2;
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:73:9
- |
-LL | let mut b = 3;
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:75:9
- |
-LL | let mut a = vec![3];
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:77:10
- |
-LL | let (mut a, b) = (1, 2);
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:79:9
- |
-LL | let mut a;
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:83:9
- |
-LL | let mut b;
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:92:9
- |
-LL | mut x => {}
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:99:10
- |
-LL | (mut x, 1) |
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:112:9
- |
-LL | let mut a = &mut 5;
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:117:9
- |
-LL | let mut b = (&mut a,);
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:120:9
- |
-LL | let mut x = &mut 1;
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:132:9
- |
-LL | let mut v : &mut Vec<()> = &mut vec![];
- | ----^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:187:9
- |
-LL | let mut raw_address_of_const = 1;
- | ----^^^^^^^^^^^^^^^^^^^^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:109:13
- |
-LL | fn what(mut foo: isize) {}
- | ----^^^
- | |
- | help: remove this `mut`
-
-warning: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:127:20
- |
-LL | fn mut_ref_arg(mut arg : &mut [u8]) -> &mut [u8] {
- | ----^^^
- | |
- | help: remove this `mut`
-
-error: variable does not need to be mutable
- --> $DIR/lint-unused-mut-variables.rs:205:9
- |
-LL | let mut b = vec![2];
- | ----^
- | |
- | help: remove this `mut`
- |
-note: the lint level is defined here
- --> $DIR/lint-unused-mut-variables.rs:201:8
- |
-LL | #[deny(unused_mut)]
- | ^^^^^^^^^^
-
-error: aborting due to previous error; 25 warnings emitted
-
diff --git a/src/test/ui/lint/unused/lint-unused-variables.rs b/src/test/ui/lint/unused/lint-unused-variables.rs
deleted file mode 100644
index 6850e9992..000000000
--- a/src/test/ui/lint/unused/lint-unused-variables.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-// compile-flags: --cfg something
-// edition:2018
-
-#![feature(async_closure)]
-#![deny(unused_variables)]
-
-async fn foo_async(
- a: i32,
- //~^ ERROR unused variable: `a`
- #[allow(unused_variables)] b: i32,
-) {}
-fn foo(
- #[allow(unused_variables)] a: i32,
- b: i32,
- //~^ ERROR unused variable: `b`
-) {}
-
-struct RefStruct {}
-impl RefStruct {
- async fn bar_async(
- &self,
- a: i32,
- //~^ ERROR unused variable: `a`
- #[allow(unused_variables)] b: i32,
- ) {}
- fn bar(
- &self,
- #[allow(unused_variables)] a: i32,
- b: i32,
- //~^ ERROR unused variable: `b`
- ) {}
- fn issue_64682_associated_fn(
- #[allow(unused_variables)] a: i32,
- b: i32,
- //~^ ERROR unused variable: `b`
- ) {}
-}
-trait RefTrait {
- fn bar(
- &self,
- #[allow(unused_variables)] a: i32,
- b: i32,
- //~^ ERROR unused variable: `b`
- ) {}
- fn issue_64682_associated_fn(
- #[allow(unused_variables)] a: i32,
- b: i32,
- //~^ ERROR unused variable: `b`
- ) {}
-}
-impl RefTrait for RefStruct {
- fn bar(
- &self,
- #[allow(unused_variables)] a: i32,
- b: i32,
- //~^ ERROR unused variable: `b`
- ) {}
- fn issue_64682_associated_fn(
- #[allow(unused_variables)] a: i32,
- b: i32,
- //~^ ERROR unused variable: `b`
- ) {}
-}
-
-fn main() {
- let _: fn(_, _) = foo;
- let a = async move |
- a: i32,
- //~^ ERROR unused variable: `a`
- #[allow(unused_variables)] b: i32,
- | {};
- let b = |
- #[allow(unused_variables)] a: i32,
- b: i32,
- //~^ ERROR unused variable: `b`
- | {};
- let _ = a(1, 2);
- let _ = b(1, 2);
-}
diff --git a/src/test/ui/lint/unused/lint-unused-variables.stderr b/src/test/ui/lint/unused/lint-unused-variables.stderr
deleted file mode 100644
index fd9a5bcbf..000000000
--- a/src/test/ui/lint/unused/lint-unused-variables.stderr
+++ /dev/null
@@ -1,74 +0,0 @@
-error: unused variable: `a`
- --> $DIR/lint-unused-variables.rs:8:5
- |
-LL | a: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_a`
- |
-note: the lint level is defined here
- --> $DIR/lint-unused-variables.rs:5:9
- |
-LL | #![deny(unused_variables)]
- | ^^^^^^^^^^^^^^^^
-
-error: unused variable: `b`
- --> $DIR/lint-unused-variables.rs:14:5
- |
-LL | b: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_b`
-
-error: unused variable: `a`
- --> $DIR/lint-unused-variables.rs:22:9
- |
-LL | a: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_a`
-
-error: unused variable: `b`
- --> $DIR/lint-unused-variables.rs:29:9
- |
-LL | b: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_b`
-
-error: unused variable: `b`
- --> $DIR/lint-unused-variables.rs:34:9
- |
-LL | b: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_b`
-
-error: unused variable: `b`
- --> $DIR/lint-unused-variables.rs:42:9
- |
-LL | b: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_b`
-
-error: unused variable: `b`
- --> $DIR/lint-unused-variables.rs:47:9
- |
-LL | b: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_b`
-
-error: unused variable: `b`
- --> $DIR/lint-unused-variables.rs:55:9
- |
-LL | b: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_b`
-
-error: unused variable: `b`
- --> $DIR/lint-unused-variables.rs:60:9
- |
-LL | b: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_b`
-
-error: unused variable: `a`
- --> $DIR/lint-unused-variables.rs:68:9
- |
-LL | a: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_a`
-
-error: unused variable: `b`
- --> $DIR/lint-unused-variables.rs:74:9
- |
-LL | b: i32,
- | ^ help: if this is intentional, prefix it with an underscore: `_b`
-
-error: aborting due to 11 previous errors
-
diff --git a/src/test/ui/lint/unused/must-use-box-from-raw.rs b/src/test/ui/lint/unused/must-use-box-from-raw.rs
deleted file mode 100644
index 9ea772689..000000000
--- a/src/test/ui/lint/unused/must-use-box-from-raw.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// #99269
-
-// check-pass
-
-#![warn(unused_must_use)]
-
-unsafe fn free<T>(ptr: *mut T) {
- Box::from_raw(ptr); //~ WARNING unused return value
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/must-use-box-from-raw.stderr b/src/test/ui/lint/unused/must-use-box-from-raw.stderr
deleted file mode 100644
index 721182757..000000000
--- a/src/test/ui/lint/unused/must-use-box-from-raw.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-warning: unused return value of `Box::<T>::from_raw` that must be used
- --> $DIR/must-use-box-from-raw.rs:8:5
- |
-LL | Box::from_raw(ptr);
- | ^^^^^^^^^^^^^^^^^^
- |
- = note: call `drop(from_raw(ptr))` if you intend to drop the `Box`
-note: the lint level is defined here
- --> $DIR/must-use-box-from-raw.rs:5:9
- |
-LL | #![warn(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/unused/must-use-ops.rs b/src/test/ui/lint/unused/must-use-ops.rs
deleted file mode 100644
index 60f877aa8..000000000
--- a/src/test/ui/lint/unused/must-use-ops.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-// Issue #50124 - Test warning for unused operator expressions
-
-// check-pass
-
-#![warn(unused_must_use)]
-#![feature(never_type)]
-
-fn deref_never(x: &!) {
- // Don't lint for uninhabited typess
- *x;
-}
-
-fn main() {
- let val = 1;
- let val_pointer = &val;
-
- // Comparison Operators
- val == 1; //~ WARNING unused comparison
- val < 1; //~ WARNING unused comparison
- val <= 1; //~ WARNING unused comparison
- val != 1; //~ WARNING unused comparison
- val >= 1; //~ WARNING unused comparison
- val > 1; //~ WARNING unused comparison
-
- // Arithmetic Operators
- val + 2; //~ WARNING unused arithmetic operation
- val - 2; //~ WARNING unused arithmetic operation
- val / 2; //~ WARNING unused arithmetic operation
- val * 2; //~ WARNING unused arithmetic operation
- val % 2; //~ WARNING unused arithmetic operation
-
- // Logical Operators
- true && true; //~ WARNING unused logical operation
- false || true; //~ WARNING unused logical operation
-
- // Bitwise Operators
- 5 ^ val; //~ WARNING unused bitwise operation
- 5 & val; //~ WARNING unused bitwise operation
- 5 | val; //~ WARNING unused bitwise operation
- 5 << val; //~ WARNING unused bitwise operation
- 5 >> val; //~ WARNING unused bitwise operation
-
- // Unary Operators
- !val; //~ WARNING unused unary operation
- -val; //~ WARNING unused unary operation
- *val_pointer; //~ WARNING unused unary operation
-
- if false {
- deref_never(&panic!());
- }
-}
diff --git a/src/test/ui/lint/unused/must-use-ops.stderr b/src/test/ui/lint/unused/must-use-ops.stderr
deleted file mode 100644
index 79a53d39c..000000000
--- a/src/test/ui/lint/unused/must-use-ops.stderr
+++ /dev/null
@@ -1,238 +0,0 @@
-warning: unused comparison that must be used
- --> $DIR/must-use-ops.rs:18:5
- |
-LL | val == 1;
- | ^^^^^^^^ the comparison produces a value
- |
-note: the lint level is defined here
- --> $DIR/must-use-ops.rs:5:9
- |
-LL | #![warn(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val == 1;
- | +++++++
-
-warning: unused comparison that must be used
- --> $DIR/must-use-ops.rs:19:5
- |
-LL | val < 1;
- | ^^^^^^^ the comparison produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val < 1;
- | +++++++
-
-warning: unused comparison that must be used
- --> $DIR/must-use-ops.rs:20:5
- |
-LL | val <= 1;
- | ^^^^^^^^ the comparison produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val <= 1;
- | +++++++
-
-warning: unused comparison that must be used
- --> $DIR/must-use-ops.rs:21:5
- |
-LL | val != 1;
- | ^^^^^^^^ the comparison produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val != 1;
- | +++++++
-
-warning: unused comparison that must be used
- --> $DIR/must-use-ops.rs:22:5
- |
-LL | val >= 1;
- | ^^^^^^^^ the comparison produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val >= 1;
- | +++++++
-
-warning: unused comparison that must be used
- --> $DIR/must-use-ops.rs:23:5
- |
-LL | val > 1;
- | ^^^^^^^ the comparison produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val > 1;
- | +++++++
-
-warning: unused arithmetic operation that must be used
- --> $DIR/must-use-ops.rs:26:5
- |
-LL | val + 2;
- | ^^^^^^^ the arithmetic operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val + 2;
- | +++++++
-
-warning: unused arithmetic operation that must be used
- --> $DIR/must-use-ops.rs:27:5
- |
-LL | val - 2;
- | ^^^^^^^ the arithmetic operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val - 2;
- | +++++++
-
-warning: unused arithmetic operation that must be used
- --> $DIR/must-use-ops.rs:28:5
- |
-LL | val / 2;
- | ^^^^^^^ the arithmetic operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val / 2;
- | +++++++
-
-warning: unused arithmetic operation that must be used
- --> $DIR/must-use-ops.rs:29:5
- |
-LL | val * 2;
- | ^^^^^^^ the arithmetic operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val * 2;
- | +++++++
-
-warning: unused arithmetic operation that must be used
- --> $DIR/must-use-ops.rs:30:5
- |
-LL | val % 2;
- | ^^^^^^^ the arithmetic operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = val % 2;
- | +++++++
-
-warning: unused logical operation that must be used
- --> $DIR/must-use-ops.rs:33:5
- |
-LL | true && true;
- | ^^^^^^^^^^^^ the logical operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = true && true;
- | +++++++
-
-warning: unused logical operation that must be used
- --> $DIR/must-use-ops.rs:34:5
- |
-LL | false || true;
- | ^^^^^^^^^^^^^ the logical operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = false || true;
- | +++++++
-
-warning: unused bitwise operation that must be used
- --> $DIR/must-use-ops.rs:37:5
- |
-LL | 5 ^ val;
- | ^^^^^^^ the bitwise operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = 5 ^ val;
- | +++++++
-
-warning: unused bitwise operation that must be used
- --> $DIR/must-use-ops.rs:38:5
- |
-LL | 5 & val;
- | ^^^^^^^ the bitwise operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = 5 & val;
- | +++++++
-
-warning: unused bitwise operation that must be used
- --> $DIR/must-use-ops.rs:39:5
- |
-LL | 5 | val;
- | ^^^^^^^ the bitwise operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = 5 | val;
- | +++++++
-
-warning: unused bitwise operation that must be used
- --> $DIR/must-use-ops.rs:40:5
- |
-LL | 5 << val;
- | ^^^^^^^^ the bitwise operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = 5 << val;
- | +++++++
-
-warning: unused bitwise operation that must be used
- --> $DIR/must-use-ops.rs:41:5
- |
-LL | 5 >> val;
- | ^^^^^^^^ the bitwise operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = 5 >> val;
- | +++++++
-
-warning: unused unary operation that must be used
- --> $DIR/must-use-ops.rs:44:5
- |
-LL | !val;
- | ^^^^ the unary operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = !val;
- | +++++++
-
-warning: unused unary operation that must be used
- --> $DIR/must-use-ops.rs:45:5
- |
-LL | -val;
- | ^^^^ the unary operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = -val;
- | +++++++
-
-warning: unused unary operation that must be used
- --> $DIR/must-use-ops.rs:46:5
- |
-LL | *val_pointer;
- | ^^^^^^^^^^^^ the unary operation produces a value
- |
-help: use `let _ = ...` to ignore the resulting value
- |
-LL | let _ = *val_pointer;
- | +++++++
-
-warning: 21 warnings emitted
-
diff --git a/src/test/ui/lint/unused/must_use-array.rs b/src/test/ui/lint/unused/must_use-array.rs
deleted file mode 100644
index b7bae4b0a..000000000
--- a/src/test/ui/lint/unused/must_use-array.rs
+++ /dev/null
@@ -1,54 +0,0 @@
-#![deny(unused_must_use)]
-
-#[must_use]
-#[derive(Clone, Copy)]
-struct S;
-
-struct A;
-
-#[must_use]
-trait T {}
-
-impl T for A {}
-
-fn empty() -> [S; 0] {
- []
-}
-
-fn singleton() -> [S; 1] {
- [S]
-}
-
-fn many() -> [S; 4] {
- [S, S, S, S]
-}
-
-fn array_of_impl_trait() -> [impl T; 2] {
- [A, A]
-}
-
-fn impl_array() -> [(u8, Box<dyn T>); 2] {
- [(0, Box::new(A)), (0, Box::new(A))]
-}
-
-fn array_of_arrays_of_arrays() -> [[[S; 1]; 2]; 1] {
- [[[S], [S]]]
-}
-
-fn usize_max() -> [S; usize::MAX] {
- [S; usize::MAX]
-}
-
-fn main() {
- empty(); // ok
- singleton(); //~ ERROR unused array of `S` that must be used
- many(); //~ ERROR unused array of `S` that must be used
- ([S], 0, ()); //~ ERROR unused array of `S` in tuple element 0 that must be used
- array_of_impl_trait(); //~ ERROR unused array of implementers of `T` that must be used
- impl_array();
- //~^ ERROR unused array of boxed `T` trait objects in tuple element 1 that must be used
- array_of_arrays_of_arrays();
- //~^ ERROR unused array of arrays of arrays of `S` that must be used
- usize_max();
- //~^ ERROR unused array of `S` that must be used
-}
diff --git a/src/test/ui/lint/unused/must_use-array.stderr b/src/test/ui/lint/unused/must_use-array.stderr
deleted file mode 100644
index 61ef2088d..000000000
--- a/src/test/ui/lint/unused/must_use-array.stderr
+++ /dev/null
@@ -1,50 +0,0 @@
-error: unused array of `S` that must be used
- --> $DIR/must_use-array.rs:44:5
- |
-LL | singleton();
- | ^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/must_use-array.rs:1:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: unused array of `S` that must be used
- --> $DIR/must_use-array.rs:45:5
- |
-LL | many();
- | ^^^^^^
-
-error: unused array of `S` in tuple element 0 that must be used
- --> $DIR/must_use-array.rs:46:6
- |
-LL | ([S], 0, ());
- | ^^^
-
-error: unused array of implementers of `T` that must be used
- --> $DIR/must_use-array.rs:47:5
- |
-LL | array_of_impl_trait();
- | ^^^^^^^^^^^^^^^^^^^^^
-
-error: unused array of boxed `T` trait objects in tuple element 1 that must be used
- --> $DIR/must_use-array.rs:48:5
- |
-LL | impl_array();
- | ^^^^^^^^^^^^
-
-error: unused array of arrays of arrays of `S` that must be used
- --> $DIR/must_use-array.rs:50:5
- |
-LL | array_of_arrays_of_arrays();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: unused array of `S` that must be used
- --> $DIR/must_use-array.rs:52:5
- |
-LL | usize_max();
- | ^^^^^^^^^^^
-
-error: aborting due to 7 previous errors
-
diff --git a/src/test/ui/lint/unused/must_use-in-stdlib-traits.rs b/src/test/ui/lint/unused/must_use-in-stdlib-traits.rs
deleted file mode 100644
index 70dddf61f..000000000
--- a/src/test/ui/lint/unused/must_use-in-stdlib-traits.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-#![deny(unused_must_use)]
-#![feature(arbitrary_self_types)]
-
-use std::iter::Iterator;
-use std::future::Future;
-
-use std::task::{Context, Poll};
-use std::pin::Pin;
-use std::unimplemented;
-
-struct MyFuture;
-
-impl Future for MyFuture {
- type Output = u32;
-
- fn poll(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<u32> {
- Poll::Pending
- }
-}
-
-fn iterator() -> impl Iterator {
- std::iter::empty::<u32>()
-}
-
-fn future() -> impl Future {
- MyFuture
-}
-
-fn square_fn_once() -> impl FnOnce(u32) -> u32 {
- |x| x * x
-}
-
-fn square_fn_mut() -> impl FnMut(u32) -> u32 {
- |x| x * x
-}
-
-fn square_fn() -> impl Fn(u32) -> u32 {
- |x| x * x
-}
-
-fn main() {
- iterator(); //~ ERROR unused implementer of `Iterator` that must be used
- future(); //~ ERROR unused implementer of `Future` that must be used
- square_fn_once(); //~ ERROR unused implementer of `FnOnce` that must be used
- square_fn_mut(); //~ ERROR unused implementer of `FnMut` that must be used
- square_fn(); //~ ERROR unused implementer of `Fn` that must be used
-}
diff --git a/src/test/ui/lint/unused/must_use-in-stdlib-traits.stderr b/src/test/ui/lint/unused/must_use-in-stdlib-traits.stderr
deleted file mode 100644
index ef738708d..000000000
--- a/src/test/ui/lint/unused/must_use-in-stdlib-traits.stderr
+++ /dev/null
@@ -1,47 +0,0 @@
-error: unused implementer of `Iterator` that must be used
- --> $DIR/must_use-in-stdlib-traits.rs:42:4
- |
-LL | iterator();
- | ^^^^^^^^^^
- |
- = note: iterators are lazy and do nothing unless consumed
-note: the lint level is defined here
- --> $DIR/must_use-in-stdlib-traits.rs:1:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: unused implementer of `Future` that must be used
- --> $DIR/must_use-in-stdlib-traits.rs:43:4
- |
-LL | future();
- | ^^^^^^^^
- |
- = note: futures do nothing unless you `.await` or poll them
-
-error: unused implementer of `FnOnce` that must be used
- --> $DIR/must_use-in-stdlib-traits.rs:44:4
- |
-LL | square_fn_once();
- | ^^^^^^^^^^^^^^^^
- |
- = note: closures are lazy and do nothing unless called
-
-error: unused implementer of `FnMut` that must be used
- --> $DIR/must_use-in-stdlib-traits.rs:45:4
- |
-LL | square_fn_mut();
- | ^^^^^^^^^^^^^^^
- |
- = note: closures are lazy and do nothing unless called
-
-error: unused implementer of `Fn` that must be used
- --> $DIR/must_use-in-stdlib-traits.rs:46:4
- |
-LL | square_fn();
- | ^^^^^^^^^^^
- |
- = note: closures are lazy and do nothing unless called
-
-error: aborting due to 5 previous errors
-
diff --git a/src/test/ui/lint/unused/must_use-trait.rs b/src/test/ui/lint/unused/must_use-trait.rs
deleted file mode 100644
index 0aa751443..000000000
--- a/src/test/ui/lint/unused/must_use-trait.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-#![deny(unused_must_use)]
-
-#[must_use]
-trait Critical {}
-
-trait NotSoCritical {}
-
-trait DecidedlyUnimportant {}
-
-struct Anon;
-
-impl Critical for Anon {}
-impl NotSoCritical for Anon {}
-impl DecidedlyUnimportant for Anon {}
-
-fn get_critical() -> impl NotSoCritical + Critical + DecidedlyUnimportant {
- Anon {}
-}
-
-fn get_boxed_critical() -> Box<dyn Critical> {
- Box::new(Anon {})
-}
-
-fn get_nested_boxed_critical() -> Box<Box<dyn Critical>> {
- Box::new(Box::new(Anon {}))
-}
-
-fn get_critical_tuple() -> (u32, Box<dyn Critical>, impl Critical, ()) {
- (0, get_boxed_critical(), get_critical(), ())
-}
-
-fn main() {
- get_critical(); //~ ERROR unused implementer of `Critical` that must be used
- get_boxed_critical(); //~ ERROR unused boxed `Critical` trait object that must be used
- get_nested_boxed_critical();
- //~^ ERROR unused boxed boxed `Critical` trait object that must be used
- get_critical_tuple(); //~ ERROR unused boxed `Critical` trait object in tuple element 1
- //~^ ERROR unused implementer of `Critical` in tuple element 2
-}
diff --git a/src/test/ui/lint/unused/must_use-trait.stderr b/src/test/ui/lint/unused/must_use-trait.stderr
deleted file mode 100644
index 2f5496484..000000000
--- a/src/test/ui/lint/unused/must_use-trait.stderr
+++ /dev/null
@@ -1,38 +0,0 @@
-error: unused implementer of `Critical` that must be used
- --> $DIR/must_use-trait.rs:33:5
- |
-LL | get_critical();
- | ^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/must_use-trait.rs:1:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: unused boxed `Critical` trait object that must be used
- --> $DIR/must_use-trait.rs:34:5
- |
-LL | get_boxed_critical();
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unused boxed boxed `Critical` trait object that must be used
- --> $DIR/must_use-trait.rs:35:5
- |
-LL | get_nested_boxed_critical();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: unused boxed `Critical` trait object in tuple element 1 that must be used
- --> $DIR/must_use-trait.rs:37:5
- |
-LL | get_critical_tuple();
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: unused implementer of `Critical` in tuple element 2 that must be used
- --> $DIR/must_use-trait.rs:37:5
- |
-LL | get_critical_tuple();
- | ^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 5 previous errors
-
diff --git a/src/test/ui/lint/unused/must_use-tuple.rs b/src/test/ui/lint/unused/must_use-tuple.rs
deleted file mode 100644
index 0f0aa2025..000000000
--- a/src/test/ui/lint/unused/must_use-tuple.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![deny(unused_must_use)]
-
-fn foo() -> (Result<(), ()>, ()) {
- (Ok::<(), ()>(()), ())
-}
-
-fn main() {
- (Ok::<(), ()>(()),); //~ ERROR unused `Result`
-
- (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5);
- //~^ ERROR unused `Result`
- //~^^ ERROR unused `Result`
-
- foo(); //~ ERROR unused `Result`
-
- ((Err::<(), ()>(()), ()), ()); //~ ERROR unused `Result`
-}
diff --git a/src/test/ui/lint/unused/must_use-tuple.stderr b/src/test/ui/lint/unused/must_use-tuple.stderr
deleted file mode 100644
index 63e0318fb..000000000
--- a/src/test/ui/lint/unused/must_use-tuple.stderr
+++ /dev/null
@@ -1,47 +0,0 @@
-error: unused `Result` in tuple element 0 that must be used
- --> $DIR/must_use-tuple.rs:8:6
- |
-LL | (Ok::<(), ()>(()),);
- | ^^^^^^^^^^^^^^^^
- |
- = note: this `Result` may be an `Err` variant, which should be handled
-note: the lint level is defined here
- --> $DIR/must_use-tuple.rs:1:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: unused `Result` in tuple element 0 that must be used
- --> $DIR/must_use-tuple.rs:10:6
- |
-LL | (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5);
- | ^^^^^^^^^^^^^^^^
- |
- = note: this `Result` may be an `Err` variant, which should be handled
-
-error: unused `Result` in tuple element 2 that must be used
- --> $DIR/must_use-tuple.rs:10:27
- |
-LL | (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5);
- | ^^^^^^^^^^^^^^^^
- |
- = note: this `Result` may be an `Err` variant, which should be handled
-
-error: unused `Result` in tuple element 0 that must be used
- --> $DIR/must_use-tuple.rs:14:5
- |
-LL | foo();
- | ^^^^^
- |
- = note: this `Result` may be an `Err` variant, which should be handled
-
-error: unused `Result` in tuple element 0 that must be used
- --> $DIR/must_use-tuple.rs:16:7
- |
-LL | ((Err::<(), ()>(()), ()), ());
- | ^^^^^^^^^^^^^^^^^
- |
- = note: this `Result` may be an `Err` variant, which should be handled
-
-error: aborting due to 5 previous errors
-
diff --git a/src/test/ui/lint/unused/must_use-unit.rs b/src/test/ui/lint/unused/must_use-unit.rs
deleted file mode 100644
index 4dd4798ab..000000000
--- a/src/test/ui/lint/unused/must_use-unit.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-#![feature(never_type)]
-#![deny(unused_must_use)]
-
-#[must_use]
-fn foo() {}
-
-#[must_use]
-fn bar() -> ! {
- unimplemented!()
-}
-
-fn main() {
- foo(); //~ unused return value of `foo`
-
- bar(); //~ unused return value of `bar`
-}
diff --git a/src/test/ui/lint/unused/must_use-unit.stderr b/src/test/ui/lint/unused/must_use-unit.stderr
deleted file mode 100644
index 9fcbc5074..000000000
--- a/src/test/ui/lint/unused/must_use-unit.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: unused return value of `foo` that must be used
- --> $DIR/must_use-unit.rs:13:5
- |
-LL | foo();
- | ^^^^^
- |
-note: the lint level is defined here
- --> $DIR/must_use-unit.rs:2:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: unused return value of `bar` that must be used
- --> $DIR/must_use-unit.rs:15:5
- |
-LL | bar();
- | ^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/unused/no-unused-parens-return-block.rs b/src/test/ui/lint/unused/no-unused-parens-return-block.rs
deleted file mode 100644
index 37dc519a2..000000000
--- a/src/test/ui/lint/unused/no-unused-parens-return-block.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// run-pass
-
-#![deny(unused_parens)]
-#![allow(unreachable_code)]
-
-fn main() {
- match (return) {} // ok
- if (return) {} // ok
-}
diff --git a/src/test/ui/lint/unused/unused-async.rs b/src/test/ui/lint/unused/unused-async.rs
deleted file mode 100644
index 4be93aa15..000000000
--- a/src/test/ui/lint/unused/unused-async.rs
+++ /dev/null
@@ -1,62 +0,0 @@
-// edition:2018
-#![deny(unused_must_use)]
-
-
-#[must_use]
-async fn foo() -> i32 {
- 1
-}
-
-#[must_use]
-fn bar() -> impl std::future::Future<Output=i32> {
- async {
- 42
- }
-}
-
-async fn baz() -> i32 {
- 0
-}
-
-struct Wowee {}
-
-impl Wowee {
- #[must_use]
- async fn test_method() -> i32 {
- 1
- }
-}
-
-async fn test() {
- foo(); //~ ERROR unused return value of `foo` that must be used
- //~^ ERROR unused implementer of `Future` that must be used
- foo().await; //~ ERROR unused output of future returned by `foo` that must be used
- bar(); //~ ERROR unused return value of `bar` that must be used
- //~^ ERROR unused implementer of `Future` that must be used
- bar().await; //~ ERROR unused output of future returned by `bar` that must be used
- baz(); //~ ERROR unused implementer of `Future` that must be used
- baz().await; // ok
-}
-
-/* FIXME(guswynn) update this test when async-fn-in-traits works
-trait Doer {
- #[must_use]
- async fn test_trait_method() -> i32;
- WARNING must_use
- async fn test_other_trait() -> i32;
-}
-
-impl Doer for Wowee {
- async fn test_trait_method() -> i32 {
- 1
- }
- #[must_use]
- async fn test_other_trait() -> i32 {
- WARNING must_use
- 1
- }
-}
-*/
-
-fn main() {
-}
diff --git a/src/test/ui/lint/unused/unused-async.stderr b/src/test/ui/lint/unused/unused-async.stderr
deleted file mode 100644
index 4bcb26dc1..000000000
--- a/src/test/ui/lint/unused/unused-async.stderr
+++ /dev/null
@@ -1,55 +0,0 @@
-error: unused implementer of `Future` that must be used
- --> $DIR/unused-async.rs:31:5
- |
-LL | foo();
- | ^^^^^
- |
- = note: futures do nothing unless you `.await` or poll them
-note: the lint level is defined here
- --> $DIR/unused-async.rs:2:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: unused return value of `foo` that must be used
- --> $DIR/unused-async.rs:31:5
- |
-LL | foo();
- | ^^^^^
-
-error: unused output of future returned by `foo` that must be used
- --> $DIR/unused-async.rs:33:5
- |
-LL | foo().await;
- | ^^^^^^^^^^^
-
-error: unused implementer of `Future` that must be used
- --> $DIR/unused-async.rs:34:5
- |
-LL | bar();
- | ^^^^^
- |
- = note: futures do nothing unless you `.await` or poll them
-
-error: unused return value of `bar` that must be used
- --> $DIR/unused-async.rs:34:5
- |
-LL | bar();
- | ^^^^^
-
-error: unused output of future returned by `bar` that must be used
- --> $DIR/unused-async.rs:36:5
- |
-LL | bar().await;
- | ^^^^^^^^^^^
-
-error: unused implementer of `Future` that must be used
- --> $DIR/unused-async.rs:37:5
- |
-LL | baz();
- | ^^^^^
- |
- = note: futures do nothing unless you `.await` or poll them
-
-error: aborting due to 7 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-attr-duplicate.rs b/src/test/ui/lint/unused/unused-attr-duplicate.rs
deleted file mode 100644
index 692617eac..000000000
--- a/src/test/ui/lint/unused/unused-attr-duplicate.rs
+++ /dev/null
@@ -1,105 +0,0 @@
-// Tests for repeating attribute warnings.
-// aux-build:lint_unused_extern_crate.rs
-// compile-flags:--test
-// Not tested due to extra requirements:
-// - panic_handler: needs extra setup
-// - target_feature: platform-specific
-// - link_section: platform-specific
-// - proc_macro, proc_macro_derive, proc_macro_attribute: needs to be a
-// proc-macro, and have special handling for mixing.
-// - unstable attributes (not going to bother)
-// - no_main: extra setup
-#![deny(unused_attributes)]
-#![crate_name = "unused_attr_duplicate"]
-#![crate_name = "unused_attr_duplicate2"] //~ ERROR unused attribute
-//~^ WARN this was previously accepted
-#![recursion_limit = "128"]
-#![recursion_limit = "256"] //~ ERROR unused attribute
-//~^ WARN this was previously accepted
-#![type_length_limit = "1048576"]
-#![type_length_limit = "1"] //~ ERROR unused attribute
-//~^ WARN this was previously accepted
-#![no_std]
-#![no_std] //~ ERROR unused attribute
-#![no_implicit_prelude]
-#![no_implicit_prelude] //~ ERROR unused attribute
-#![windows_subsystem = "console"]
-#![windows_subsystem = "windows"] //~ ERROR unused attribute
-//~^ WARN this was previously accepted
-#![no_builtins]
-#![no_builtins] //~ ERROR unused attribute
-
-#[no_link]
-#[no_link] //~ ERROR unused attribute
-extern crate lint_unused_extern_crate;
-
-#[macro_use]
-#[macro_use] //~ ERROR unused attribute
-pub mod m {
- #[macro_export]
- #[macro_export] //~ ERROR unused attribute
- macro_rules! foo {
- () => {};
- }
-}
-
-#[path = "auxiliary/lint_unused_extern_crate.rs"]
-#[path = "bar.rs"] //~ ERROR unused attribute
-//~^ WARN this was previously accepted
-pub mod from_path;
-
-#[test]
-#[ignore]
-#[ignore = "some text"] //~ ERROR unused attribute
-#[should_panic]
-#[should_panic(expected = "values don't match")] //~ ERROR unused attribute
-//~^ WARN this was previously accepted
-fn t1() {}
-
-#[must_use]
-#[must_use = "some message"] //~ ERROR unused attribute
-//~^ WARN this was previously accepted
-// No warnings for #[repr], would require more logic.
-#[repr(C)]
-#[repr(C)]
-#[non_exhaustive]
-#[non_exhaustive] //~ ERROR unused attribute
-pub struct X;
-
-#[automatically_derived]
-#[automatically_derived] //~ ERROR unused attribute
-impl X {}
-
-#[inline(always)]
-#[inline(never)] //~ ERROR unused attribute
-//~^ WARN this was previously accepted
-#[cold]
-#[cold] //~ ERROR unused attribute
-#[track_caller]
-#[track_caller] //~ ERROR unused attribute
-pub fn xyz() {}
-
-// No warnings for #[link], would require more logic.
-#[link(name = "rust_test_helpers", kind = "static")]
-#[link(name = "rust_test_helpers", kind = "static")]
-extern "C" {
- #[link_name = "this_does_not_exist"] //~ ERROR unused attribute
- //~^ WARN this was previously accepted
- #[link_name = "rust_dbg_extern_identity_u32"]
- pub fn name_in_rust(v: u32) -> u32;
-}
-
-#[export_name = "exported_symbol_name"] //~ ERROR unused attribute
-//~^ WARN this was previously accepted
-#[export_name = "exported_symbol_name2"]
-pub fn export_test() {}
-
-#[no_mangle]
-#[no_mangle] //~ ERROR unused attribute
-pub fn no_mangle_test() {}
-
-#[used]
-#[used] //~ ERROR unused attribute
-static FOO: u32 = 0;
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/unused-attr-duplicate.stderr b/src/test/ui/lint/unused/unused-attr-duplicate.stderr
deleted file mode 100644
index 769b17487..000000000
--- a/src/test/ui/lint/unused/unused-attr-duplicate.stderr
+++ /dev/null
@@ -1,293 +0,0 @@
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:33:1
- |
-LL | #[no_link]
- | ^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:32:1
- |
-LL | #[no_link]
- | ^^^^^^^^^^
-note: the lint level is defined here
- --> $DIR/unused-attr-duplicate.rs:12:9
- |
-LL | #![deny(unused_attributes)]
- | ^^^^^^^^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:37:1
- |
-LL | #[macro_use]
- | ^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:36:1
- |
-LL | #[macro_use]
- | ^^^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:47:1
- |
-LL | #[path = "bar.rs"]
- | ^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:46:1
- |
-LL | #[path = "auxiliary/lint_unused_extern_crate.rs"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:53:1
- |
-LL | #[ignore = "some text"]
- | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:52:1
- |
-LL | #[ignore]
- | ^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:55:1
- |
-LL | #[should_panic(expected = "values don't match")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:54:1
- |
-LL | #[should_panic]
- | ^^^^^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:60:1
- |
-LL | #[must_use = "some message"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:59:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:66:1
- |
-LL | #[non_exhaustive]
- | ^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:65:1
- |
-LL | #[non_exhaustive]
- | ^^^^^^^^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:70:1
- |
-LL | #[automatically_derived]
- | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:69:1
- |
-LL | #[automatically_derived]
- | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:74:1
- |
-LL | #[inline(never)]
- | ^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:73:1
- |
-LL | #[inline(always)]
- | ^^^^^^^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:77:1
- |
-LL | #[cold]
- | ^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:76:1
- |
-LL | #[cold]
- | ^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:79:1
- |
-LL | #[track_caller]
- | ^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:78:1
- |
-LL | #[track_caller]
- | ^^^^^^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:92:1
- |
-LL | #[export_name = "exported_symbol_name"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:94:1
- |
-LL | #[export_name = "exported_symbol_name2"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:98:1
- |
-LL | #[no_mangle]
- | ^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:97:1
- |
-LL | #[no_mangle]
- | ^^^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:102:1
- |
-LL | #[used]
- | ^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:101:1
- |
-LL | #[used]
- | ^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:86:5
- |
-LL | #[link_name = "this_does_not_exist"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:88:5
- |
-LL | #[link_name = "rust_dbg_extern_identity_u32"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:14:1
- |
-LL | #![crate_name = "unused_attr_duplicate2"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:13:1
- |
-LL | #![crate_name = "unused_attr_duplicate"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:17:1
- |
-LL | #![recursion_limit = "256"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:16:1
- |
-LL | #![recursion_limit = "128"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:20:1
- |
-LL | #![type_length_limit = "1"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:19:1
- |
-LL | #![type_length_limit = "1048576"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:23:1
- |
-LL | #![no_std]
- | ^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:22:1
- |
-LL | #![no_std]
- | ^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:25:1
- |
-LL | #![no_implicit_prelude]
- | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:24:1
- |
-LL | #![no_implicit_prelude]
- | ^^^^^^^^^^^^^^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:27:1
- |
-LL | #![windows_subsystem = "windows"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:26:1
- |
-LL | #![windows_subsystem = "console"]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:30:1
- |
-LL | #![no_builtins]
- | ^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:29:1
- |
-LL | #![no_builtins]
- | ^^^^^^^^^^^^^^^
-
-error: unused attribute
- --> $DIR/unused-attr-duplicate.rs:40:5
- |
-LL | #[macro_export]
- | ^^^^^^^^^^^^^^^ help: remove this attribute
- |
-note: attribute also specified here
- --> $DIR/unused-attr-duplicate.rs:39:5
- |
-LL | #[macro_export]
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to 23 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-attr-macro-rules.rs b/src/test/ui/lint/unused/unused-attr-macro-rules.rs
deleted file mode 100644
index c0fc280ab..000000000
--- a/src/test/ui/lint/unused/unused-attr-macro-rules.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-#![deny(unused_attributes)]
-// Unused attributes on macro_rules requires special handling since the
-// macro_rules definition does not survive towards HIR.
-
-// A sample of various built-in attributes.
-#[macro_export]
-#[macro_use] //~ ERROR `#[macro_use]` only has an effect
-#[path="foo"] //~ ERROR #[path]` only has an effect
-#[recursion_limit="1"] //~ ERROR crate-level attribute should be an inner attribute
-macro_rules! foo {
- () => {};
-}
-
-// The following should not warn about unused attributes.
-#[allow(unused)]
-macro_rules! foo2 {
- () => {};
-}
-
-#[cfg(FALSE)]
-macro_rules! foo {
- () => {};
-}
-
-/// Some docs
-#[deprecated]
-#[doc = "more docs"]
-#[macro_export]
-macro_rules! bar {
- () => {};
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/unused-attr-macro-rules.stderr b/src/test/ui/lint/unused/unused-attr-macro-rules.stderr
deleted file mode 100644
index e3ca90d9a..000000000
--- a/src/test/ui/lint/unused/unused-attr-macro-rules.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: `#[macro_use]` only has an effect on `extern crate` and modules
- --> $DIR/unused-attr-macro-rules.rs:7:1
- |
-LL | #[macro_use]
- | ^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-attr-macro-rules.rs:1:9
- |
-LL | #![deny(unused_attributes)]
- | ^^^^^^^^^^^^^^^^^
-
-error: `#[path]` only has an effect on modules
- --> $DIR/unused-attr-macro-rules.rs:8:1
- |
-LL | #[path="foo"]
- | ^^^^^^^^^^^^^
-
-error: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
- --> $DIR/unused-attr-macro-rules.rs:9:1
- |
-LL | #[recursion_limit="1"]
- | ^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-closure.rs b/src/test/ui/lint/unused/unused-closure.rs
deleted file mode 100644
index c96c90731..000000000
--- a/src/test/ui/lint/unused/unused-closure.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-// Test that closures and generators are "must use" types.
-// edition:2018
-
-#![feature(async_closure)]
-#![feature(generators)]
-#![deny(unused_must_use)]
-
-fn unused() {
- || { //~ ERROR unused closure that must be used
- println!("Hello!");
- };
-
- async {}; //~ ERROR unused implementer of `Future` that must be used
- || async {}; //~ ERROR unused closure that must be used
- async || {}; //~ ERROR unused closure that must be used
-
-
- [Box::new([|| {}; 10]); 1]; //~ ERROR unused array of boxed arrays of closures that must be used
-
- vec![|| "a"].pop().unwrap(); //~ ERROR unused closure that must be used
-
- let b = false;
- || true; //~ ERROR unused closure that must be used
- println!("{}", b);
-}
-
-fn ignored() {
- let _ = || {};
- let _ = || yield 42;
-}
-
-fn main() {
- unused();
- ignored();
-}
diff --git a/src/test/ui/lint/unused/unused-closure.stderr b/src/test/ui/lint/unused/unused-closure.stderr
deleted file mode 100644
index c3a82402e..000000000
--- a/src/test/ui/lint/unused/unused-closure.stderr
+++ /dev/null
@@ -1,65 +0,0 @@
-error: unused closure that must be used
- --> $DIR/unused-closure.rs:9:5
- |
-LL | / || {
-LL | | println!("Hello!");
-LL | | };
- | |_____^
- |
- = note: closures are lazy and do nothing unless called
-note: the lint level is defined here
- --> $DIR/unused-closure.rs:6:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: unused implementer of `Future` that must be used
- --> $DIR/unused-closure.rs:13:5
- |
-LL | async {};
- | ^^^^^^^^
- |
- = note: futures do nothing unless you `.await` or poll them
-
-error: unused closure that must be used
- --> $DIR/unused-closure.rs:14:5
- |
-LL | || async {};
- | ^^^^^^^^^^^
- |
- = note: closures are lazy and do nothing unless called
-
-error: unused closure that must be used
- --> $DIR/unused-closure.rs:15:5
- |
-LL | async || {};
- | ^^^^^^^^^^^
- |
- = note: closures are lazy and do nothing unless called
-
-error: unused array of boxed arrays of closures that must be used
- --> $DIR/unused-closure.rs:18:5
- |
-LL | [Box::new([|| {}; 10]); 1];
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: closures are lazy and do nothing unless called
-
-error: unused closure that must be used
- --> $DIR/unused-closure.rs:20:5
- |
-LL | vec![|| "a"].pop().unwrap();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: closures are lazy and do nothing unless called
-
-error: unused closure that must be used
- --> $DIR/unused-closure.rs:23:9
- |
-LL | || true;
- | ^^^^^^^
- |
- = note: closures are lazy and do nothing unless called
-
-error: aborting due to 7 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-doc-comments-edge-cases.rs b/src/test/ui/lint/unused/unused-doc-comments-edge-cases.rs
deleted file mode 100644
index 54d86c31f..000000000
--- a/src/test/ui/lint/unused/unused-doc-comments-edge-cases.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-#![deny(unused_doc_comments)]
-
-fn doc_comment_on_match_arms(num: u8) -> bool {
- match num {
- 3 => true,
- /// useless doc comment
- //~^ ERROR: unused doc comment
- _ => false,
- }
-}
-
-fn doc_comment_between_if_else(num: u8) -> bool {
- if num == 3 {
- true //~ ERROR: mismatched types
- }
- /// useless doc comment
- else { //~ ERROR: expected expression, found keyword `else`
- false
- }
-}
-
-fn doc_comment_on_expr(num: u8) -> bool {
- /// useless doc comment
- //~^ ERROR: attributes on expressions are experimental
- //~| ERROR: unused doc comment
- num == 3
-}
-
-fn doc_comment_on_generic<#[doc = "x"] T>(val: T) {}
-//~^ ERROR: unused doc comment
-
-fn doc_comment_on_block() {
- /// unused doc comment
- //~^ ERROR: unused doc comment
- {
- let x = 12;
- }
-}
-
-/// unused doc comment
-//~^ ERROR: unused doc comment
-extern "C" {
- fn foo();
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/unused-doc-comments-edge-cases.stderr b/src/test/ui/lint/unused/unused-doc-comments-edge-cases.stderr
deleted file mode 100644
index 078b780d8..000000000
--- a/src/test/ui/lint/unused/unused-doc-comments-edge-cases.stderr
+++ /dev/null
@@ -1,95 +0,0 @@
-error: expected expression, found keyword `else`
- --> $DIR/unused-doc-comments-edge-cases.rs:17:5
- |
-LL | else {
- | ^^^^ expected expression
-
-error[E0658]: attributes on expressions are experimental
- --> $DIR/unused-doc-comments-edge-cases.rs:23:5
- |
-LL | /// useless doc comment
- | ^^^^^^^^^^^^^^^^^^^^^^^
- |
- = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
- = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
- = help: `///` is for documentation comments. For a plain comment, use `//`.
-
-error: unused doc comment
- --> $DIR/unused-doc-comments-edge-cases.rs:6:9
- |
-LL | /// useless doc comment
- | ^^^^^^^^^^^^^^^^^^^^^^^
-LL |
-LL | _ => false,
- | ---------- rustdoc does not generate documentation for match arms
- |
- = help: use `//` for a plain comment
-note: the lint level is defined here
- --> $DIR/unused-doc-comments-edge-cases.rs:1:9
- |
-LL | #![deny(unused_doc_comments)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: unused doc comment
- --> $DIR/unused-doc-comments-edge-cases.rs:23:5
- |
-LL | /// useless doc comment
- | ^^^^^^^^^^^^^^^^^^^^^^^
-...
-LL | num == 3
- | --- rustdoc does not generate documentation for expressions
- |
- = help: use `//` for a plain comment
-
-error: unused doc comment
- --> $DIR/unused-doc-comments-edge-cases.rs:29:27
- |
-LL | fn doc_comment_on_generic<#[doc = "x"] T>(val: T) {}
- | ^^^^^^^^^^^^ - rustdoc does not generate documentation for generic parameters
- |
- = help: use `//` for a plain comment
-
-error: unused doc comment
- --> $DIR/unused-doc-comments-edge-cases.rs:33:5
- |
-LL | /// unused doc comment
- | ^^^^^^^^^^^^^^^^^^^^^^
-LL |
-LL | / {
-LL | | let x = 12;
-LL | | }
- | |_____- rustdoc does not generate documentation for expressions
- |
- = help: use `//` for a plain comment
-
-error: unused doc comment
- --> $DIR/unused-doc-comments-edge-cases.rs:40:1
- |
-LL | /// unused doc comment
- | ^^^^^^^^^^^^^^^^^^^^^^
-LL |
-LL | / extern "C" {
-LL | | fn foo();
-LL | | }
- | |_- rustdoc does not generate documentation for extern blocks
- |
- = help: use `//` for a plain comment
-
-error[E0308]: mismatched types
- --> $DIR/unused-doc-comments-edge-cases.rs:14:9
- |
-LL | / if num == 3 {
-LL | | true
- | | ^^^^ expected `()`, found `bool`
-LL | | }
- | |_____- expected this to be `()`
- |
-help: you might have meant to return this value
- |
-LL | return true;
- | ++++++ +
-
-error: aborting due to 8 previous errors
-
-Some errors have detailed explanations: E0308, E0658.
-For more information about an error, try `rustc --explain E0308`.
diff --git a/src/test/ui/lint/unused/unused-doc-comments-for-macros.rs b/src/test/ui/lint/unused/unused-doc-comments-for-macros.rs
deleted file mode 100644
index 05828ebb2..000000000
--- a/src/test/ui/lint/unused/unused-doc-comments-for-macros.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![deny(unused_doc_comments)]
-#![feature(rustc_attrs)]
-
-macro_rules! foo { () => {}; }
-
-fn main() {
- /// line1 //~ ERROR: unused doc comment
- /// line2
- /// line3
- foo!();
-
- // Ensure we still detect another doc-comment block.
- /// line1 //~ ERROR: unused doc comment
- /// line2
- /// line3
- foo!();
-}
diff --git a/src/test/ui/lint/unused/unused-doc-comments-for-macros.stderr b/src/test/ui/lint/unused/unused-doc-comments-for-macros.stderr
deleted file mode 100644
index 26b1c2b05..000000000
--- a/src/test/ui/lint/unused/unused-doc-comments-for-macros.stderr
+++ /dev/null
@@ -1,31 +0,0 @@
-error: unused doc comment
- --> $DIR/unused-doc-comments-for-macros.rs:7:5
- |
-LL | / /// line1
-LL | | /// line2
-LL | | /// line3
- | |_____--------^
- | |
- | rustdoc does not generate documentation for macro invocations
- |
- = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
-note: the lint level is defined here
- --> $DIR/unused-doc-comments-for-macros.rs:1:9
- |
-LL | #![deny(unused_doc_comments)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: unused doc comment
- --> $DIR/unused-doc-comments-for-macros.rs:13:5
- |
-LL | / /// line1
-LL | | /// line2
-LL | | /// line3
- | |_____--------^
- | |
- | rustdoc does not generate documentation for macro invocations
- |
- = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-macro-rules-compile-error.rs b/src/test/ui/lint/unused/unused-macro-rules-compile-error.rs
deleted file mode 100644
index 4d51db89b..000000000
--- a/src/test/ui/lint/unused/unused-macro-rules-compile-error.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-#![deny(unused_macro_rules)]
-// To make sure we are not hitting this
-#![deny(unused_macros)]
-
-macro_rules! num {
- (one) => { 1 };
- // Most simple (and common) case
- (two) => { compile_error!("foo"); };
- // Some nested use
- (two_) => { foo(compile_error!("foo")); };
- (three) => { 3 };
- (four) => { 4 }; //~ ERROR: rule of macro
-}
-const _NUM: u8 = num!(one) + num!(three);
-
-// compile_error not used as a macro invocation
-macro_rules! num2 {
- (one) => { 1 };
- // Only identifier present
- (two) => { fn compile_error() {} }; //~ ERROR: rule of macro
- // Only identifier and bang present
- (two_) => { compile_error! }; //~ ERROR: rule of macro
- (three) => { 3 };
-}
-const _NUM2: u8 = num2!(one) + num2!(three);
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/unused-macro-rules-compile-error.stderr b/src/test/ui/lint/unused/unused-macro-rules-compile-error.stderr
deleted file mode 100644
index 76af8c967..000000000
--- a/src/test/ui/lint/unused/unused-macro-rules-compile-error.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: 5th rule of macro `num` is never used
- --> $DIR/unused-macro-rules-compile-error.rs:12:5
- |
-LL | (four) => { 4 };
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-macro-rules-compile-error.rs:1:9
- |
-LL | #![deny(unused_macro_rules)]
- | ^^^^^^^^^^^^^^^^^^
-
-error: 3rd rule of macro `num2` is never used
- --> $DIR/unused-macro-rules-compile-error.rs:22:5
- |
-LL | (two_) => { compile_error! };
- | ^^^^^^
-
-error: 2nd rule of macro `num2` is never used
- --> $DIR/unused-macro-rules-compile-error.rs:20:5
- |
-LL | (two) => { fn compile_error() {} };
- | ^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-macro-rules-decl.rs b/src/test/ui/lint/unused/unused-macro-rules-decl.rs
deleted file mode 100644
index 537c84940..000000000
--- a/src/test/ui/lint/unused/unused-macro-rules-decl.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-#![feature(decl_macro)]
-#![deny(unused_macro_rules)]
-// To make sure we are not hitting this
-#![deny(unused_macros)]
-
-// Most simple case
-macro num {
- (one) => { 1 },
- (two) => { 2 }, //~ ERROR: 2nd rule of macro
- (three) => { 3 },
- (four) => { 4 }, //~ ERROR: 4th rule of macro
-}
-const _NUM: u8 = num!(one) + num!(three);
-
-// Check that allowing the lint works
-#[allow(unused_macro_rules)]
-macro num_allowed {
- (one) => { 1 },
- (two) => { 2 },
- (three) => { 3 },
- (four) => { 4 },
-}
-const _NUM_ALLOWED: u8 = num_allowed!(one) + num_allowed!(three);
-
-// Check that macro calls inside the macro trigger as usage
-macro num_rec {
- (one) => { 1 },
- (two) => {
- num_rec!(one) + num_rec!(one)
- },
- (three) => { //~ ERROR: 3rd rule of macro
- num_rec!(one) + num_rec!(two)
- },
- (four) => {
- num_rec!(two) + num_rec!(two)
- },
-}
-const _NUM_RECURSIVE: u8 = num_rec!(four);
-
-// No error if the macro is public
-pub macro num_public {
- (one) => { 1 },
- (two) => { 2 },
- (three) => { 3 },
- (four) => { 4 },
-}
-const _NUM_PUBLIC: u8 = num_public!(one) + num_public!(three);
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/unused-macro-rules-decl.stderr b/src/test/ui/lint/unused/unused-macro-rules-decl.stderr
deleted file mode 100644
index 4d9b22fed..000000000
--- a/src/test/ui/lint/unused/unused-macro-rules-decl.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: 4th rule of macro `num` is never used
- --> $DIR/unused-macro-rules-decl.rs:11:5
- |
-LL | (four) => { 4 },
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-macro-rules-decl.rs:2:9
- |
-LL | #![deny(unused_macro_rules)]
- | ^^^^^^^^^^^^^^^^^^
-
-error: 2nd rule of macro `num` is never used
- --> $DIR/unused-macro-rules-decl.rs:9:5
- |
-LL | (two) => { 2 },
- | ^^^^^
-
-error: 3rd rule of macro `num_rec` is never used
- --> $DIR/unused-macro-rules-decl.rs:31:5
- |
-LL | (three) => {
- | ^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-macro-rules-malformed-rule.rs b/src/test/ui/lint/unused/unused-macro-rules-malformed-rule.rs
deleted file mode 100644
index a826026ec..000000000
--- a/src/test/ui/lint/unused/unused-macro-rules-malformed-rule.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-#![deny(unused_macro_rules)]
-
-macro_rules! foo {
- (v) => {};
- (w) => {};
- () => 0; //~ ERROR: macro rhs must be delimited
-}
-
-fn main() {
- foo!(v);
-}
diff --git a/src/test/ui/lint/unused/unused-macro-rules-malformed-rule.stderr b/src/test/ui/lint/unused/unused-macro-rules-malformed-rule.stderr
deleted file mode 100644
index 797c86710..000000000
--- a/src/test/ui/lint/unused/unused-macro-rules-malformed-rule.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: macro rhs must be delimited
- --> $DIR/unused-macro-rules-malformed-rule.rs:6:11
- |
-LL | () => 0;
- | ^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/unused/unused-macro-rules.rs b/src/test/ui/lint/unused/unused-macro-rules.rs
deleted file mode 100644
index eeaf4d1b0..000000000
--- a/src/test/ui/lint/unused/unused-macro-rules.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-#![deny(unused_macro_rules)]
-// To make sure we are not hitting this
-#![deny(unused_macros)]
-
-// Most simple case
-macro_rules! num {
- (one) => { 1 };
- (two) => { 2 }; //~ ERROR: 2nd rule of macro
- (three) => { 3 };
- (four) => { 4 }; //~ ERROR: 4th rule of macro
-}
-const _NUM: u8 = num!(one) + num!(three);
-
-// Check that allowing the lint works
-#[allow(unused_macro_rules)]
-macro_rules! num_allowed {
- (one) => { 1 };
- (two) => { 2 };
- (three) => { 3 };
- (four) => { 4 };
-}
-const _NUM_ALLOWED: u8 = num_allowed!(one) + num_allowed!(three);
-
-// Check that macro calls inside the macro trigger as usage
-macro_rules! num_rec {
- (one) => { 1 };
- (two) => {
- num_rec!(one) + num_rec!(one)
- };
- (three) => { //~ ERROR: 3rd rule of macro
- num_rec!(one) + num_rec!(two)
- };
- (four) => { num_rec!(two) + num_rec!(two) };
-}
-const _NUM_RECURSIVE: u8 = num_rec!(four);
-
-// No error if the macro is being exported
-#[macro_export]
-macro_rules! num_exported {
- (one) => { 1 };
- (two) => { 2 };
- (three) => { 3 };
- (four) => { 4 };
-}
-const _NUM_EXPORTED: u8 = num_exported!(one) + num_exported!(three);
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/unused-macro-rules.stderr b/src/test/ui/lint/unused/unused-macro-rules.stderr
deleted file mode 100644
index 2b3098a51..000000000
--- a/src/test/ui/lint/unused/unused-macro-rules.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: 4th rule of macro `num` is never used
- --> $DIR/unused-macro-rules.rs:10:5
- |
-LL | (four) => { 4 };
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-macro-rules.rs:1:9
- |
-LL | #![deny(unused_macro_rules)]
- | ^^^^^^^^^^^^^^^^^^
-
-error: 2nd rule of macro `num` is never used
- --> $DIR/unused-macro-rules.rs:8:5
- |
-LL | (two) => { 2 };
- | ^^^^^
-
-error: 3rd rule of macro `num_rec` is never used
- --> $DIR/unused-macro-rules.rs:30:5
- |
-LL | (three) => {
- | ^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-macro-with-bad-frag-spec.rs b/src/test/ui/lint/unused/unused-macro-with-bad-frag-spec.rs
deleted file mode 100644
index ce187047b..000000000
--- a/src/test/ui/lint/unused/unused-macro-with-bad-frag-spec.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#![allow(unused_macros)]
-
-// Issue #21370
-
-macro_rules! test {
- ($wrong:t_ty) => () //~ ERROR invalid fragment specifier `t_ty`
-}
-
-fn main() { }
diff --git a/src/test/ui/lint/unused/unused-macro-with-bad-frag-spec.stderr b/src/test/ui/lint/unused/unused-macro-with-bad-frag-spec.stderr
deleted file mode 100644
index 6edf0a2cf..000000000
--- a/src/test/ui/lint/unused/unused-macro-with-bad-frag-spec.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: invalid fragment specifier `t_ty`
- --> $DIR/unused-macro-with-bad-frag-spec.rs:6:6
- |
-LL | ($wrong:t_ty) => ()
- | ^^^^^^^^^^^
- |
- = help: valid fragment specifiers are `ident`, `block`, `stmt`, `expr`, `pat`, `ty`, `lifetime`, `literal`, `path`, `meta`, `tt`, `item` and `vis`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/unused/unused-macro-with-follow-violation.rs b/src/test/ui/lint/unused/unused-macro-with-follow-violation.rs
deleted file mode 100644
index 1666dae69..000000000
--- a/src/test/ui/lint/unused/unused-macro-with-follow-violation.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-#![allow(unused_macros)]
-
-macro_rules! test {
- ($e:expr +) => () //~ ERROR not allowed for `expr` fragments
-}
-
-fn main() { }
diff --git a/src/test/ui/lint/unused/unused-macro-with-follow-violation.stderr b/src/test/ui/lint/unused/unused-macro-with-follow-violation.stderr
deleted file mode 100644
index 5eced4f06..000000000
--- a/src/test/ui/lint/unused/unused-macro-with-follow-violation.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: `$e:expr` is followed by `+`, which is not allowed for `expr` fragments
- --> $DIR/unused-macro-with-follow-violation.rs:4:14
- |
-LL | ($e:expr +) => ()
- | ^ not allowed after `expr` fragments
- |
- = note: allowed there are: `=>`, `,` or `;`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/unused/unused-macros-decl.rs b/src/test/ui/lint/unused/unused-macros-decl.rs
deleted file mode 100644
index 21f6108b1..000000000
--- a/src/test/ui/lint/unused/unused-macros-decl.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-#![feature(decl_macro)]
-#![deny(unused_macros)]
-// To make sure we are not hitting this
-#![deny(unused_macro_rules)]
-
-// Most simple case
-macro unused { //~ ERROR: unused macro definition
- () => {}
-}
-
-#[allow(unused_macros)]
-mod bar {
- // Test that putting the #[deny] close to the macro's definition
- // works.
-
- #[deny(unused_macros)]
- macro unused { //~ ERROR: unused macro definition
- () => {}
- }
-}
-
-mod boo {
- pub(crate) macro unused { //~ ERROR: unused macro definition
- () => {}
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/unused-macros-decl.stderr b/src/test/ui/lint/unused/unused-macros-decl.stderr
deleted file mode 100644
index 1f426b9d9..000000000
--- a/src/test/ui/lint/unused/unused-macros-decl.stderr
+++ /dev/null
@@ -1,32 +0,0 @@
-error: unused macro definition: `unused`
- --> $DIR/unused-macros-decl.rs:7:7
- |
-LL | macro unused {
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-macros-decl.rs:2:9
- |
-LL | #![deny(unused_macros)]
- | ^^^^^^^^^^^^^
-
-error: unused macro definition: `unused`
- --> $DIR/unused-macros-decl.rs:17:11
- |
-LL | macro unused {
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-macros-decl.rs:16:12
- |
-LL | #[deny(unused_macros)]
- | ^^^^^^^^^^^^^
-
-error: unused macro definition: `unused`
- --> $DIR/unused-macros-decl.rs:23:22
- |
-LL | pub(crate) macro unused {
- | ^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-macros-malformed-rule.rs b/src/test/ui/lint/unused/unused-macros-malformed-rule.rs
deleted file mode 100644
index d4c35fad9..000000000
--- a/src/test/ui/lint/unused/unused-macros-malformed-rule.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-#![deny(unused_macros)]
-
-macro_rules! foo { //~ ERROR: unused macro definition
- (v) => {};
- () => 0; //~ ERROR: macro rhs must be delimited
-}
-
-macro_rules! bar {
- (v) => {};
- () => 0; //~ ERROR: macro rhs must be delimited
-}
-
-fn main() {
- bar!(v);
-}
diff --git a/src/test/ui/lint/unused/unused-macros-malformed-rule.stderr b/src/test/ui/lint/unused/unused-macros-malformed-rule.stderr
deleted file mode 100644
index 9a880dccf..000000000
--- a/src/test/ui/lint/unused/unused-macros-malformed-rule.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: macro rhs must be delimited
- --> $DIR/unused-macros-malformed-rule.rs:5:11
- |
-LL | () => 0;
- | ^
-
-error: macro rhs must be delimited
- --> $DIR/unused-macros-malformed-rule.rs:10:11
- |
-LL | () => 0;
- | ^
-
-error: unused macro definition: `foo`
- --> $DIR/unused-macros-malformed-rule.rs:3:14
- |
-LL | macro_rules! foo {
- | ^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-macros-malformed-rule.rs:1:9
- |
-LL | #![deny(unused_macros)]
- | ^^^^^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-macros.rs b/src/test/ui/lint/unused/unused-macros.rs
deleted file mode 100644
index 70b50b208..000000000
--- a/src/test/ui/lint/unused/unused-macros.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-#![deny(unused_macros)]
-// To make sure we are not hitting this
-#![deny(unused_macro_rules)]
-
-// Most simple case
-macro_rules! unused { //~ ERROR: unused macro definition
- () => {};
-}
-
-// Test macros created by macros
-macro_rules! create_macro {
- () => {
- macro_rules! m { //~ ERROR: unused macro definition
- () => {};
- }
- };
-}
-create_macro!();
-
-#[allow(unused_macros)]
-mod bar {
- // Test that putting the #[deny] close to the macro's definition
- // works.
-
- #[deny(unused_macros)]
- macro_rules! unused { //~ ERROR: unused macro definition
- () => {};
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/unused/unused-macros.stderr b/src/test/ui/lint/unused/unused-macros.stderr
deleted file mode 100644
index d0baf5bec..000000000
--- a/src/test/ui/lint/unused/unused-macros.stderr
+++ /dev/null
@@ -1,32 +0,0 @@
-error: unused macro definition: `unused`
- --> $DIR/unused-macros.rs:6:14
- |
-LL | macro_rules! unused {
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-macros.rs:1:9
- |
-LL | #![deny(unused_macros)]
- | ^^^^^^^^^^^^^
-
-error: unused macro definition: `m`
- --> $DIR/unused-macros.rs:13:22
- |
-LL | macro_rules! m {
- | ^
-
-error: unused macro definition: `unused`
- --> $DIR/unused-macros.rs:26:18
- |
-LL | macro_rules! unused {
- | ^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-macros.rs:25:12
- |
-LL | #[deny(unused_macros)]
- | ^^^^^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-mut-warning-captured-var.fixed b/src/test/ui/lint/unused/unused-mut-warning-captured-var.fixed
deleted file mode 100644
index c21f18015..000000000
--- a/src/test/ui/lint/unused/unused-mut-warning-captured-var.fixed
+++ /dev/null
@@ -1,9 +0,0 @@
-// run-rustfix
-
-#![forbid(unused_mut)]
-
-fn main() {
- let x = 1;
- //~^ ERROR: variable does not need to be mutable
- (move|| { println!("{}", x); })();
-}
diff --git a/src/test/ui/lint/unused/unused-mut-warning-captured-var.rs b/src/test/ui/lint/unused/unused-mut-warning-captured-var.rs
deleted file mode 100644
index 3119d83a0..000000000
--- a/src/test/ui/lint/unused/unused-mut-warning-captured-var.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// run-rustfix
-
-#![forbid(unused_mut)]
-
-fn main() {
- let mut x = 1;
- //~^ ERROR: variable does not need to be mutable
- (move|| { println!("{}", x); })();
-}
diff --git a/src/test/ui/lint/unused/unused-mut-warning-captured-var.stderr b/src/test/ui/lint/unused/unused-mut-warning-captured-var.stderr
deleted file mode 100644
index 20aeedcc2..000000000
--- a/src/test/ui/lint/unused/unused-mut-warning-captured-var.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-error: variable does not need to be mutable
- --> $DIR/unused-mut-warning-captured-var.rs:6:9
- |
-LL | let mut x = 1;
- | ----^
- | |
- | help: remove this `mut`
- |
-note: the lint level is defined here
- --> $DIR/unused-mut-warning-captured-var.rs:3:11
- |
-LL | #![forbid(unused_mut)]
- | ^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/unused/unused-result.rs b/src/test/ui/lint/unused/unused-result.rs
deleted file mode 100644
index e283eaa88..000000000
--- a/src/test/ui/lint/unused/unused-result.rs
+++ /dev/null
@@ -1,42 +0,0 @@
-#![allow(dead_code)]
-#![deny(unused_results, unused_must_use)]
-//~^ NOTE: the lint level is defined here
-//~| NOTE: the lint level is defined here
-
-#[must_use]
-enum MustUse { Test }
-
-#[must_use = "some message"]
-enum MustUseMsg { Test2 }
-
-fn foo<T>() -> T { panic!() }
-
-fn bar() -> isize { return foo::<isize>(); }
-fn baz() -> MustUse { return foo::<MustUse>(); }
-fn qux() -> MustUseMsg { return foo::<MustUseMsg>(); }
-
-#[allow(unused_results)]
-fn test() {
- foo::<isize>();
- foo::<MustUse>(); //~ ERROR: unused `MustUse` that must be used
- foo::<MustUseMsg>(); //~ ERROR: unused `MustUseMsg` that must be used
- //~^ NOTE: some message
-}
-
-#[allow(unused_results, unused_must_use)]
-fn test2() {
- foo::<isize>();
- foo::<MustUse>();
- foo::<MustUseMsg>();
-}
-
-fn main() {
- foo::<isize>(); //~ ERROR: unused result of type `isize`
- foo::<MustUse>(); //~ ERROR: unused `MustUse` that must be used
- foo::<MustUseMsg>(); //~ ERROR: unused `MustUseMsg` that must be used
- //~^ NOTE: some message
-
- let _ = foo::<isize>();
- let _ = foo::<MustUse>();
- let _ = foo::<MustUseMsg>();
-}
diff --git a/src/test/ui/lint/unused/unused-result.stderr b/src/test/ui/lint/unused/unused-result.stderr
deleted file mode 100644
index 4e1ba1fd9..000000000
--- a/src/test/ui/lint/unused/unused-result.stderr
+++ /dev/null
@@ -1,48 +0,0 @@
-error: unused `MustUse` that must be used
- --> $DIR/unused-result.rs:21:5
- |
-LL | foo::<MustUse>();
- | ^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-result.rs:2:25
- |
-LL | #![deny(unused_results, unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: unused `MustUseMsg` that must be used
- --> $DIR/unused-result.rs:22:5
- |
-LL | foo::<MustUseMsg>();
- | ^^^^^^^^^^^^^^^^^^^
- |
- = note: some message
-
-error: unused result of type `isize`
- --> $DIR/unused-result.rs:34:5
- |
-LL | foo::<isize>();
- | ^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused-result.rs:2:9
- |
-LL | #![deny(unused_results, unused_must_use)]
- | ^^^^^^^^^^^^^^
-
-error: unused `MustUse` that must be used
- --> $DIR/unused-result.rs:35:5
- |
-LL | foo::<MustUse>();
- | ^^^^^^^^^^^^^^^^
-
-error: unused `MustUseMsg` that must be used
- --> $DIR/unused-result.rs:36:5
- |
-LL | foo::<MustUseMsg>();
- | ^^^^^^^^^^^^^^^^^^^
- |
- = note: some message
-
-error: aborting due to 5 previous errors
-
diff --git a/src/test/ui/lint/unused/unused-supertrait.rs b/src/test/ui/lint/unused/unused-supertrait.rs
deleted file mode 100644
index 64a8e5204..000000000
--- a/src/test/ui/lint/unused/unused-supertrait.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-#![deny(unused_must_use)]
-
-fn it() -> impl ExactSizeIterator<Item = ()> {
- let x: Box<dyn ExactSizeIterator<Item = ()>> = todo!();
- x
-}
-
-fn main() {
- it();
- //~^ ERROR unused implementer of `Iterator` that must be used
-}
diff --git a/src/test/ui/lint/unused/unused-supertrait.stderr b/src/test/ui/lint/unused/unused-supertrait.stderr
deleted file mode 100644
index cb45add9c..000000000
--- a/src/test/ui/lint/unused/unused-supertrait.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error: unused implementer of `Iterator` that must be used
- --> $DIR/unused-supertrait.rs:9:5
- |
-LL | it();
- | ^^^^
- |
- = note: iterators are lazy and do nothing unless consumed
-note: the lint level is defined here
- --> $DIR/unused-supertrait.rs:1:9
- |
-LL | #![deny(unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/unused/unused_attributes-must_use.rs b/src/test/ui/lint/unused/unused_attributes-must_use.rs
deleted file mode 100644
index 51f868706..000000000
--- a/src/test/ui/lint/unused/unused_attributes-must_use.rs
+++ /dev/null
@@ -1,131 +0,0 @@
-#![allow(dead_code, path_statements)]
-#![deny(unused_attributes, unused_must_use)]
-#![feature(asm_experimental_arch, stmt_expr_attributes, trait_alias)]
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-extern crate std as std2;
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-mod test_mod {}
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-use std::arch::global_asm;
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-const CONST: usize = 4;
-#[must_use] //~ ERROR `#[must_use]` has no effect
-#[no_mangle]
-static STATIC: usize = 4;
-
-#[must_use]
-struct X;
-
-#[must_use]
-enum Y {
- Z,
-}
-
-#[must_use]
-union U {
- unit: (),
-}
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-impl U {
- #[must_use]
- fn method() -> i32 {
- 4
- }
-}
-
-#[must_use]
-#[no_mangle]
-fn foo() -> i64 {
- 4
-}
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-extern "Rust" {
- #[link_name = "STATIC"]
- #[must_use] //~ ERROR `#[must_use]` has no effect
- static FOREIGN_STATIC: usize;
-
- #[link_name = "foo"]
- #[must_use]
- fn foreign_foo() -> i64;
-}
-
-#[must_use] //~ ERROR unused attribute
-global_asm!("");
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-type UseMe = ();
-
-fn qux<#[must_use] T>(_: T) {} //~ ERROR `#[must_use]` has no effect
-
-#[must_use]
-trait Use {
- #[must_use] //~ ERROR `#[must_use]` has no effect
- const ASSOC_CONST: usize = 4;
- #[must_use] //~ ERROR `#[must_use]` has no effect
- type AssocTy;
-
- #[must_use]
- fn get_four(&self) -> usize {
- 4
- }
-}
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-impl Use for () {
- type AssocTy = ();
-}
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-trait Alias = Use;
-
-#[must_use] //~ ERROR `#[must_use]` has no effect
-macro_rules! cool_macro {
- () => {
- 4
- };
-}
-
-fn main() {
- #[must_use] //~ ERROR `#[must_use]` has no effect
- let x = || {};
- x();
-
- let x = #[must_use] //~ ERROR `#[must_use]` has no effect
- || {};
- x();
-
- X; //~ ERROR that must be used
- Y::Z; //~ ERROR that must be used
- U { unit: () }; //~ ERROR that must be used
- U::method(); //~ ERROR that must be used
- foo(); //~ ERROR that must be used
-
- unsafe {
- foreign_foo(); //~ ERROR that must be used
- };
-
- CONST;
- STATIC;
- unsafe { FOREIGN_STATIC };
- cool_macro!();
- qux(4);
- ().get_four(); //~ ERROR that must be used
-
- match Some(4) {
- #[must_use] //~ ERROR `#[must_use]` has no effect
- Some(res) => res,
- None => 0,
- };
-
- struct PatternField {
- foo: i32,
- }
- let s = PatternField { #[must_use] foo: 123 }; //~ ERROR `#[must_use]` has no effect
- let PatternField { #[must_use] foo } = s; //~ ERROR `#[must_use]` has no effect
-}
diff --git a/src/test/ui/lint/unused/unused_attributes-must_use.stderr b/src/test/ui/lint/unused/unused_attributes-must_use.stderr
deleted file mode 100644
index 0f699429e..000000000
--- a/src/test/ui/lint/unused/unused_attributes-must_use.stderr
+++ /dev/null
@@ -1,187 +0,0 @@
-error: unused attribute `must_use`
- --> $DIR/unused_attributes-must_use.rs:58:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
- |
-note: the built-in attribute `must_use` will be ignored, since it's applied to the macro invocation `global_asm`
- --> $DIR/unused_attributes-must_use.rs:59:1
- |
-LL | global_asm!("");
- | ^^^^^^^^^^
-note: the lint level is defined here
- --> $DIR/unused_attributes-must_use.rs:2:9
- |
-LL | #![deny(unused_attributes, unused_must_use)]
- | ^^^^^^^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to an extern crate
- --> $DIR/unused_attributes-must_use.rs:5:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a module
- --> $DIR/unused_attributes-must_use.rs:8:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a use
- --> $DIR/unused_attributes-must_use.rs:11:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a constant item
- --> $DIR/unused_attributes-must_use.rs:14:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a static item
- --> $DIR/unused_attributes-must_use.rs:16:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to an implementation block
- --> $DIR/unused_attributes-must_use.rs:33:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a foreign module
- --> $DIR/unused_attributes-must_use.rs:47:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a type alias
- --> $DIR/unused_attributes-must_use.rs:61:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a type parameter
- --> $DIR/unused_attributes-must_use.rs:64:8
- |
-LL | fn qux<#[must_use] T>(_: T) {}
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to an implementation block
- --> $DIR/unused_attributes-must_use.rs:79:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a trait alias
- --> $DIR/unused_attributes-must_use.rs:84:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a macro def
- --> $DIR/unused_attributes-must_use.rs:87:1
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a statement
- --> $DIR/unused_attributes-must_use.rs:95:5
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a closure
- --> $DIR/unused_attributes-must_use.rs:99:13
- |
-LL | let x = #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to an match arm
- --> $DIR/unused_attributes-must_use.rs:121:9
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a struct field
- --> $DIR/unused_attributes-must_use.rs:129:28
- |
-LL | let s = PatternField { #[must_use] foo: 123 };
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a pattern field
- --> $DIR/unused_attributes-must_use.rs:130:24
- |
-LL | let PatternField { #[must_use] foo } = s;
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to an associated const
- --> $DIR/unused_attributes-must_use.rs:68:5
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to an associated type
- --> $DIR/unused_attributes-must_use.rs:70:5
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: `#[must_use]` has no effect when applied to a foreign static item
- --> $DIR/unused_attributes-must_use.rs:50:5
- |
-LL | #[must_use]
- | ^^^^^^^^^^^
-
-error: unused `X` that must be used
- --> $DIR/unused_attributes-must_use.rs:103:5
- |
-LL | X;
- | ^
- |
-note: the lint level is defined here
- --> $DIR/unused_attributes-must_use.rs:2:28
- |
-LL | #![deny(unused_attributes, unused_must_use)]
- | ^^^^^^^^^^^^^^^
-
-error: unused `Y` that must be used
- --> $DIR/unused_attributes-must_use.rs:104:5
- |
-LL | Y::Z;
- | ^^^^
-
-error: unused `U` that must be used
- --> $DIR/unused_attributes-must_use.rs:105:5
- |
-LL | U { unit: () };
- | ^^^^^^^^^^^^^^
-
-error: unused return value of `U::method` that must be used
- --> $DIR/unused_attributes-must_use.rs:106:5
- |
-LL | U::method();
- | ^^^^^^^^^^^
-
-error: unused return value of `foo` that must be used
- --> $DIR/unused_attributes-must_use.rs:107:5
- |
-LL | foo();
- | ^^^^^
-
-error: unused return value of `foreign_foo` that must be used
- --> $DIR/unused_attributes-must_use.rs:110:9
- |
-LL | foreign_foo();
- | ^^^^^^^^^^^^^
-
-error: unused return value of `Use::get_four` that must be used
- --> $DIR/unused_attributes-must_use.rs:118:5
- |
-LL | ().get_four();
- | ^^^^^^^^^^^^^
-
-error: aborting due to 28 previous errors
-
diff --git a/src/test/ui/lint/unused/useless-comment.rs b/src/test/ui/lint/unused/useless-comment.rs
deleted file mode 100644
index 7d2e5ab6f..000000000
--- a/src/test/ui/lint/unused/useless-comment.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-#![feature(stmt_expr_attributes)]
-
-#![deny(unused_doc_comments)]
-
-macro_rules! mac {
- () => {}
-}
-
-/// foo //~ ERROR unused doc comment
-mac!();
-
-fn foo() {
- /// a //~ ERROR unused doc comment
- let x = 12;
-
- /// multi-line //~ unused doc comment
- /// doc comment
- /// that is unused
- match x {
- /// c //~ ERROR unused doc comment
- 1 => {},
- _ => {}
- }
-
- /// foo //~ ERROR unused doc comment
- unsafe {}
-
- #[doc = "foo"] //~ ERROR unused doc comment
- #[doc = "bar"] //~ ERROR unused doc comment
- 3;
-
- /// bar //~ ERROR unused doc comment
- mac!();
-
- let x = /** comment */ 47; //~ ERROR unused doc comment
-
- /// dox //~ ERROR unused doc comment
- {
-
- }
-}
-
-fn main() {
- foo();
-}
diff --git a/src/test/ui/lint/unused/useless-comment.stderr b/src/test/ui/lint/unused/useless-comment.stderr
deleted file mode 100644
index 8bb5bdaeb..000000000
--- a/src/test/ui/lint/unused/useless-comment.stderr
+++ /dev/null
@@ -1,110 +0,0 @@
-error: unused doc comment
- --> $DIR/useless-comment.rs:9:1
- |
-LL | /// foo
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
- |
- = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
-note: the lint level is defined here
- --> $DIR/useless-comment.rs:3:9
- |
-LL | #![deny(unused_doc_comments)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: unused doc comment
- --> $DIR/useless-comment.rs:32:5
- |
-LL | /// bar
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
- |
- = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
-
-error: unused doc comment
- --> $DIR/useless-comment.rs:13:5
- |
-LL | /// a
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-LL | let x = 12;
- | ----------- rustdoc does not generate documentation for statements
- |
- = help: use `//` for a plain comment
-
-error: unused doc comment
- --> $DIR/useless-comment.rs:16:5
- |
-LL | / /// multi-line
-LL | | /// doc comment
-LL | | /// that is unused
- | |______________________^
-LL | / match x {
-LL | | /// c
-LL | | 1 => {},
-LL | | _ => {}
-LL | | }
- | |_____- rustdoc does not generate documentation for expressions
- |
- = help: use `//` for a plain comment
-
-error: unused doc comment
- --> $DIR/useless-comment.rs:20:9
- |
-LL | /// c
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-LL | 1 => {},
- | ------- rustdoc does not generate documentation for match arms
- |
- = help: use `//` for a plain comment
-
-error: unused doc comment
- --> $DIR/useless-comment.rs:25:5
- |
-LL | /// foo
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-LL | unsafe {}
- | --------- rustdoc does not generate documentation for expressions
- |
- = help: use `//` for a plain comment
-
-error: unused doc comment
- --> $DIR/useless-comment.rs:28:5
- |
-LL | #[doc = "foo"]
- | ^^^^^^^^^^^^^^
-LL | #[doc = "bar"]
-LL | 3;
- | - rustdoc does not generate documentation for expressions
- |
- = help: use `//` for a plain comment
-
-error: unused doc comment
- --> $DIR/useless-comment.rs:29:5
- |
-LL | #[doc = "bar"]
- | ^^^^^^^^^^^^^^
-LL | 3;
- | - rustdoc does not generate documentation for expressions
- |
- = help: use `//` for a plain comment
-
-error: unused doc comment
- --> $DIR/useless-comment.rs:35:13
- |
-LL | let x = /** comment */ 47;
- | ^^^^^^^^^^^^^^ -- rustdoc does not generate documentation for expressions
- |
- = help: use `/* */` for a plain comment
-
-error: unused doc comment
- --> $DIR/useless-comment.rs:37:5
- |
-LL | /// dox
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-LL | / {
-LL | |
-LL | | }
- | |_____- rustdoc does not generate documentation for expressions
- |
- = help: use `//` for a plain comment
-
-error: aborting due to 10 previous errors
-
diff --git a/src/test/ui/lint/unused_braces.fixed b/src/test/ui/lint/unused_braces.fixed
deleted file mode 100644
index 1a88d985d..000000000
--- a/src/test/ui/lint/unused_braces.fixed
+++ /dev/null
@@ -1,53 +0,0 @@
-// check-pass
-// run-rustfix
-
-#![warn(unused_braces, unused_parens)]
-#![allow(unreachable_code, unused_unsafe)] // for rustfix
-
-fn consume<T>(_: T) {}
-
-fn main() {
- let _ = 7;
- //~^WARN unnecessary parentheses
-
- // Do not emit a lint in these cases,
- // as we have to be careful with
- // `ref` patterns.
- {
- let _ = { 7 };
-
- if let 7 = { 7 } { }
-
- match { 7 } {
- _ => (),
- }
- }
-
- if true {
- //~^ WARN unnecessary braces
- }
-
- while false {
- //~^ WARN unnecessary braces
- }
-
- let _: [u8; 3];
- //~^ WARN unnecessary braces
-
- consume(7);
- //~^ WARN unnecessary braces
-
- // Do not emit lint for multiline blocks.
- let _ = {
- 7
- };
-
- // Do not emit lint for unsafe blocks.
- let _ = unsafe { 7 };
-
- // Do not emit lint, as the `{` would then
- // be parsed as part of the `return`.
- if { return } {
-
- }
-}
diff --git a/src/test/ui/lint/unused_braces.rs b/src/test/ui/lint/unused_braces.rs
deleted file mode 100644
index 5ca4811fc..000000000
--- a/src/test/ui/lint/unused_braces.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-// check-pass
-// run-rustfix
-
-#![warn(unused_braces, unused_parens)]
-#![allow(unreachable_code, unused_unsafe)] // for rustfix
-
-fn consume<T>(_: T) {}
-
-fn main() {
- let _ = (7);
- //~^WARN unnecessary parentheses
-
- // Do not emit a lint in these cases,
- // as we have to be careful with
- // `ref` patterns.
- {
- let _ = { 7 };
-
- if let 7 = { 7 } { }
-
- match { 7 } {
- _ => (),
- }
- }
-
- if { true } {
- //~^ WARN unnecessary braces
- }
-
- while { false } {
- //~^ WARN unnecessary braces
- }
-
- let _: [u8; { 3 }];
- //~^ WARN unnecessary braces
-
- consume({ 7 });
- //~^ WARN unnecessary braces
-
- // Do not emit lint for multiline blocks.
- let _ = {
- 7
- };
-
- // Do not emit lint for unsafe blocks.
- let _ = unsafe { 7 };
-
- // Do not emit lint, as the `{` would then
- // be parsed as part of the `return`.
- if { return } {
-
- }
-}
diff --git a/src/test/ui/lint/unused_braces.stderr b/src/test/ui/lint/unused_braces.stderr
deleted file mode 100644
index 7773f44ea..000000000
--- a/src/test/ui/lint/unused_braces.stderr
+++ /dev/null
@@ -1,72 +0,0 @@
-warning: unnecessary parentheses around assigned value
- --> $DIR/unused_braces.rs:10:13
- |
-LL | let _ = (7);
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/unused_braces.rs:4:24
- |
-LL | #![warn(unused_braces, unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - let _ = (7);
-LL + let _ = 7;
- |
-
-warning: unnecessary braces around `if` condition
- --> $DIR/unused_braces.rs:26:8
- |
-LL | if { true } {
- | ^^ ^^
- |
-note: the lint level is defined here
- --> $DIR/unused_braces.rs:4:9
- |
-LL | #![warn(unused_braces, unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these braces
- |
-LL - if { true } {
-LL + if true {
- |
-
-warning: unnecessary braces around `while` condition
- --> $DIR/unused_braces.rs:30:11
- |
-LL | while { false } {
- | ^^ ^^
- |
-help: remove these braces
- |
-LL - while { false } {
-LL + while false {
- |
-
-warning: unnecessary braces around const expression
- --> $DIR/unused_braces.rs:34:17
- |
-LL | let _: [u8; { 3 }];
- | ^^ ^^
- |
-help: remove these braces
- |
-LL - let _: [u8; { 3 }];
-LL + let _: [u8; 3];
- |
-
-warning: unnecessary braces around function argument
- --> $DIR/unused_braces.rs:37:13
- |
-LL | consume({ 7 });
- | ^^ ^^
- |
-help: remove these braces
- |
-LL - consume({ 7 });
-LL + consume(7);
- |
-
-warning: 5 warnings emitted
-
diff --git a/src/test/ui/lint/unused_braces_borrow.fixed b/src/test/ui/lint/unused_braces_borrow.fixed
deleted file mode 100644
index 583506f89..000000000
--- a/src/test/ui/lint/unused_braces_borrow.fixed
+++ /dev/null
@@ -1,26 +0,0 @@
-// check-pass
-// run-rustfix
-
-#![warn(unused_braces)]
-
-// changing `&{ expr }` to `&expr` changes the semantic of the program
-// so we should not warn this case
-
-#[repr(packed)]
-pub struct A {
- pub a: u8,
- pub b: u32,
-}
-
-fn consume<T>(_: T) {}
-
-fn main() {
- let a = A {
- a: 42,
- b: 1729,
- };
-
- consume(&{ a.b });
- consume(a.b);
- //~^ WARN unnecessary braces
-}
diff --git a/src/test/ui/lint/unused_braces_borrow.rs b/src/test/ui/lint/unused_braces_borrow.rs
deleted file mode 100644
index b7c529d73..000000000
--- a/src/test/ui/lint/unused_braces_borrow.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-// check-pass
-// run-rustfix
-
-#![warn(unused_braces)]
-
-// changing `&{ expr }` to `&expr` changes the semantic of the program
-// so we should not warn this case
-
-#[repr(packed)]
-pub struct A {
- pub a: u8,
- pub b: u32,
-}
-
-fn consume<T>(_: T) {}
-
-fn main() {
- let a = A {
- a: 42,
- b: 1729,
- };
-
- consume(&{ a.b });
- consume({ a.b });
- //~^ WARN unnecessary braces
-}
diff --git a/src/test/ui/lint/unused_braces_borrow.stderr b/src/test/ui/lint/unused_braces_borrow.stderr
deleted file mode 100644
index 05f7432b8..000000000
--- a/src/test/ui/lint/unused_braces_borrow.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-warning: unnecessary braces around function argument
- --> $DIR/unused_braces_borrow.rs:24:13
- |
-LL | consume({ a.b });
- | ^^ ^^
- |
-note: the lint level is defined here
- --> $DIR/unused_braces_borrow.rs:4:9
- |
-LL | #![warn(unused_braces)]
- | ^^^^^^^^^^^^^
-help: remove these braces
- |
-LL - consume({ a.b });
-LL + consume(a.b);
- |
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/unused_import_warning_issue_45268.rs b/src/test/ui/lint/unused_import_warning_issue_45268.rs
deleted file mode 100644
index 5ae482863..000000000
--- a/src/test/ui/lint/unused_import_warning_issue_45268.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-// check-pass
-
-#![warn(unused_imports)] // Warning explanation here, it's OK
-
-mod test {
- pub trait A {
- fn a();
- }
-
- impl A for () {
- fn a() { }
- }
-
- pub trait B {
- fn b(self);
- }
-
- impl B for () {
- fn b(self) { }
- }
-
- pub trait Unused {
- }
-}
-
-use test::Unused; // This is really unused, so warning is OK
- //~^ WARNING unused import
-use test::A; // This is used by the test2::func() through import of super::*
-use test::B; // This is used by the test2::func() through import of super::*
-
-mod test2 {
- use super::*;
- pub fn func() {
- let _ = <()>::a();
- let _ = ().b();
- test3::inner_func();
- }
- mod test3 {
- use super::*;
- pub fn inner_func() {
- let _ = <()>::a();
- let _ = ().b();
- }
- }
-}
-
-fn main() {
- test2::func();
-}
diff --git a/src/test/ui/lint/unused_import_warning_issue_45268.stderr b/src/test/ui/lint/unused_import_warning_issue_45268.stderr
deleted file mode 100644
index fa8699abc..000000000
--- a/src/test/ui/lint/unused_import_warning_issue_45268.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-warning: unused import: `test::Unused`
- --> $DIR/unused_import_warning_issue_45268.rs:26:5
- |
-LL | use test::Unused; // This is really unused, so warning is OK
- | ^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused_import_warning_issue_45268.rs:3:9
- |
-LL | #![warn(unused_imports)] // Warning explanation here, it's OK
- | ^^^^^^^^^^^^^^
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/lint/unused_labels.rs b/src/test/ui/lint/unused_labels.rs
deleted file mode 100644
index 87a5392fd..000000000
--- a/src/test/ui/lint/unused_labels.rs
+++ /dev/null
@@ -1,85 +0,0 @@
-// The output should warn when a loop label is not used. However, it
-// should also deal with the edge cases where a label is shadowed,
-// within nested loops
-
-// check-pass
-
-#![warn(unused_labels)]
-
-fn main() {
- 'unused_while_label: while 0 == 0 {
- //~^ WARN unused label
- }
-
- let opt = Some(0);
- 'unused_while_let_label: while let Some(_) = opt {
- //~^ WARN unused label
- }
-
- 'unused_for_label: for _ in 0..10 {
- //~^ WARN unused label
- }
-
- 'used_loop_label: loop {
- break 'used_loop_label;
- }
-
- 'used_loop_label_outer_1: for _ in 0..10 {
- 'used_loop_label_inner_1: for _ in 0..10 {
- break 'used_loop_label_inner_1;
- }
- break 'used_loop_label_outer_1;
- }
-
- 'used_loop_label_outer_2: for _ in 0..10 {
- 'unused_loop_label_inner_2: for _ in 0..10 {
- //~^ WARN unused label
- break 'used_loop_label_outer_2;
- }
- }
-
- 'unused_loop_label_outer_3: for _ in 0..10 {
- //~^ WARN unused label
- 'used_loop_label_inner_3: for _ in 0..10 {
- break 'used_loop_label_inner_3;
- }
- }
-
- // You should be able to break the same label many times
- 'many_used: loop {
- if true {
- break 'many_used;
- } else {
- break 'many_used;
- }
- }
-
- // Test breaking many times with the same inner label doesn't break the
- // warning on the outer label
- 'many_used_shadowed: for _ in 0..10 {
- //~^ WARN unused label
- 'many_used_shadowed: for _ in 0..10 {
- //~^ WARN label name `'many_used_shadowed` shadows a label name that is already in scope
- if 1 % 2 == 0 {
- break 'many_used_shadowed;
- } else {
- break 'many_used_shadowed;
- }
- }
- }
-
- 'unused_loop_label: loop {
- //~^ WARN unused label
- break;
- }
-
- // Make sure unused block labels give warnings...
- 'unused_block_label: {
- //~^ WARN unused label
- }
-
- // ...and that used ones don't:
- 'used_block_label: {
- break 'used_block_label;
- }
-}
diff --git a/src/test/ui/lint/unused_labels.stderr b/src/test/ui/lint/unused_labels.stderr
deleted file mode 100644
index 846da792b..000000000
--- a/src/test/ui/lint/unused_labels.stderr
+++ /dev/null
@@ -1,65 +0,0 @@
-warning: label name `'many_used_shadowed` shadows a label name that is already in scope
- --> $DIR/unused_labels.rs:61:9
- |
-LL | 'many_used_shadowed: for _ in 0..10 {
- | ------------------- first declared here
-LL |
-LL | 'many_used_shadowed: for _ in 0..10 {
- | ^^^^^^^^^^^^^^^^^^^ label `'many_used_shadowed` already in scope
-
-warning: unused label
- --> $DIR/unused_labels.rs:10:5
- |
-LL | 'unused_while_label: while 0 == 0 {
- | ^^^^^^^^^^^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/unused_labels.rs:7:9
- |
-LL | #![warn(unused_labels)]
- | ^^^^^^^^^^^^^
-
-warning: unused label
- --> $DIR/unused_labels.rs:15:5
- |
-LL | 'unused_while_let_label: while let Some(_) = opt {
- | ^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: unused label
- --> $DIR/unused_labels.rs:19:5
- |
-LL | 'unused_for_label: for _ in 0..10 {
- | ^^^^^^^^^^^^^^^^^
-
-warning: unused label
- --> $DIR/unused_labels.rs:35:9
- |
-LL | 'unused_loop_label_inner_2: for _ in 0..10 {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: unused label
- --> $DIR/unused_labels.rs:41:5
- |
-LL | 'unused_loop_label_outer_3: for _ in 0..10 {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-warning: unused label
- --> $DIR/unused_labels.rs:59:5
- |
-LL | 'many_used_shadowed: for _ in 0..10 {
- | ^^^^^^^^^^^^^^^^^^^
-
-warning: unused label
- --> $DIR/unused_labels.rs:71:5
- |
-LL | 'unused_loop_label: loop {
- | ^^^^^^^^^^^^^^^^^^
-
-warning: unused label
- --> $DIR/unused_labels.rs:77:5
- |
-LL | 'unused_block_label: {
- | ^^^^^^^^^^^^^^^^^^^
-
-warning: 9 warnings emitted
-
diff --git a/src/test/ui/lint/unused_parens_json_suggestion.fixed b/src/test/ui/lint/unused_parens_json_suggestion.fixed
deleted file mode 100644
index c40045404..000000000
--- a/src/test/ui/lint/unused_parens_json_suggestion.fixed
+++ /dev/null
@@ -1,26 +0,0 @@
-// compile-flags: --error-format json
-// run-rustfix
-
-// The output for humans should just highlight the whole span without showing
-// the suggested replacement, but we also want to test that suggested
-// replacement only removes one set of parentheses, rather than naïvely
-// stripping away any starting or ending parenthesis characters—hence this
-// test of the JSON error format.
-
-#![deny(unused_parens)]
-#![allow(unreachable_code)]
-
-fn main() {
- // We want to suggest the properly-balanced expression `1 / (2 + 3)`, not
- // the malformed `1 / (2 + 3`
- let _a = 1 / (2 + 3); //~ERROR unnecessary parentheses
- f();
-}
-
-fn f() -> bool {
- loop {
- if (break { return true }) {
- }
- }
- false
-}
diff --git a/src/test/ui/lint/unused_parens_json_suggestion.rs b/src/test/ui/lint/unused_parens_json_suggestion.rs
deleted file mode 100644
index 962c8bdd7..000000000
--- a/src/test/ui/lint/unused_parens_json_suggestion.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-// compile-flags: --error-format json
-// run-rustfix
-
-// The output for humans should just highlight the whole span without showing
-// the suggested replacement, but we also want to test that suggested
-// replacement only removes one set of parentheses, rather than naïvely
-// stripping away any starting or ending parenthesis characters—hence this
-// test of the JSON error format.
-
-#![deny(unused_parens)]
-#![allow(unreachable_code)]
-
-fn main() {
- // We want to suggest the properly-balanced expression `1 / (2 + 3)`, not
- // the malformed `1 / (2 + 3`
- let _a = (1 / (2 + 3)); //~ERROR unnecessary parentheses
- f();
-}
-
-fn f() -> bool {
- loop {
- if (break { return true }) {
- }
- }
- false
-}
diff --git a/src/test/ui/lint/unused_parens_json_suggestion.stderr b/src/test/ui/lint/unused_parens_json_suggestion.stderr
deleted file mode 100644
index ea19e0cdc..000000000
--- a/src/test/ui/lint/unused_parens_json_suggestion.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-{"message":"unnecessary parentheses around assigned value","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":577,"byte_end":578,"line_start":16,"line_end":16,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));
- --> $DIR/unused_parens_json_suggestion.rs:16:14
- |
-LL | let _a = (1 / (2 + 3));
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/unused_parens_json_suggestion.rs:10:9
- |
-LL | #![deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - let _a = (1 / (2 + 3));
-LL + let _a = 1 / (2 + 3);
- |
-
-"}
-{"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error
-
-"}
diff --git a/src/test/ui/lint/unused_parens_multibyte_recovery.rs b/src/test/ui/lint/unused_parens_multibyte_recovery.rs
deleted file mode 100644
index 8fcfae22a..000000000
--- a/src/test/ui/lint/unused_parens_multibyte_recovery.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// ignore-tidy-trailing-newlines
-//
-// error-pattern: this file contains an unclosed delimiter
-// error-pattern: this file contains an unclosed delimiter
-// error-pattern: this file contains an unclosed delimiter
-// error-pattern: format argument must be a string literal
-//
-// Verify that unused parens lint does not try to create a span
-// which points in the middle of a multibyte character.
-
-fn f(){(print!(á \ No newline at end of file
diff --git a/src/test/ui/lint/unused_parens_multibyte_recovery.stderr b/src/test/ui/lint/unused_parens_multibyte_recovery.stderr
deleted file mode 100644
index a0302b17e..000000000
--- a/src/test/ui/lint/unused_parens_multibyte_recovery.stderr
+++ /dev/null
@@ -1,43 +0,0 @@
-error: this file contains an unclosed delimiter
- --> $DIR/unused_parens_multibyte_recovery.rs:11:17
- |
-LL | fn f(){(print!(á
- | -- - ^
- | || |
- | || unclosed delimiter
- | |unclosed delimiter
- | unclosed delimiter
-
-error: this file contains an unclosed delimiter
- --> $DIR/unused_parens_multibyte_recovery.rs:11:17
- |
-LL | fn f(){(print!(á
- | -- - ^
- | || |
- | || unclosed delimiter
- | |unclosed delimiter
- | unclosed delimiter
-
-error: this file contains an unclosed delimiter
- --> $DIR/unused_parens_multibyte_recovery.rs:11:17
- |
-LL | fn f(){(print!(á
- | -- - ^
- | || |
- | || unclosed delimiter
- | |unclosed delimiter
- | unclosed delimiter
-
-error: format argument must be a string literal
- --> $DIR/unused_parens_multibyte_recovery.rs:11:16
- |
-LL | fn f(){(print!(á
- | ^
- |
-help: you might be missing a string literal to format with
- |
-LL | fn f(){(print!("{}", á
- | +++++
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/lint/unused_parens_remove_json_suggestion.fixed b/src/test/ui/lint/unused_parens_remove_json_suggestion.fixed
deleted file mode 100644
index 8a57cd573..000000000
--- a/src/test/ui/lint/unused_parens_remove_json_suggestion.fixed
+++ /dev/null
@@ -1,61 +0,0 @@
-// compile-flags: --error-format json
-// run-rustfix
-
-// The output for humans should just highlight the whole span without showing
-// the suggested replacement, but we also want to test that suggested
-// replacement only removes one set of parentheses, rather than naïvely
-// stripping away any starting or ending parenthesis characters—hence this
-// test of the JSON error format.
-
-#![deny(unused_parens)]
-#![allow(unreachable_code)]
-
-fn main() {
-
- let _b = false;
-
- if _b { //~ ERROR unnecessary parentheses
- println!("hello");
- }
-
- f();
-
-}
-
-fn f() -> bool {
- let c = false;
-
- if c { //~ ERROR unnecessary parentheses
- println!("next");
- }
-
- if c { //~ ERROR unnecessary parentheses
- println!("prev");
- }
-
- while false && true {
- if c { //~ ERROR unnecessary parentheses
- println!("norm");
- }
-
- }
-
- while true && false { //~ ERROR unnecessary parentheses
- for _ in 0 .. 3 { //~ ERROR unnecessary parentheses
- println!("e~")
- }
- }
-
- for _ in 0 .. 3 { //~ ERROR unnecessary parentheses
- while true && false { //~ ERROR unnecessary parentheses
- println!("e~")
- }
- }
-
-
- loop {
- if (break { return true }) {
- }
- }
- false
-}
diff --git a/src/test/ui/lint/unused_parens_remove_json_suggestion.rs b/src/test/ui/lint/unused_parens_remove_json_suggestion.rs
deleted file mode 100644
index 952332d54..000000000
--- a/src/test/ui/lint/unused_parens_remove_json_suggestion.rs
+++ /dev/null
@@ -1,61 +0,0 @@
-// compile-flags: --error-format json
-// run-rustfix
-
-// The output for humans should just highlight the whole span without showing
-// the suggested replacement, but we also want to test that suggested
-// replacement only removes one set of parentheses, rather than naïvely
-// stripping away any starting or ending parenthesis characters—hence this
-// test of the JSON error format.
-
-#![deny(unused_parens)]
-#![allow(unreachable_code)]
-
-fn main() {
-
- let _b = false;
-
- if (_b) { //~ ERROR unnecessary parentheses
- println!("hello");
- }
-
- f();
-
-}
-
-fn f() -> bool {
- let c = false;
-
- if(c) { //~ ERROR unnecessary parentheses
- println!("next");
- }
-
- if (c){ //~ ERROR unnecessary parentheses
- println!("prev");
- }
-
- while (false && true){
- if (c) { //~ ERROR unnecessary parentheses
- println!("norm");
- }
-
- }
-
- while(true && false) { //~ ERROR unnecessary parentheses
- for _ in (0 .. 3){ //~ ERROR unnecessary parentheses
- println!("e~")
- }
- }
-
- for _ in (0 .. 3) { //~ ERROR unnecessary parentheses
- while (true && false) { //~ ERROR unnecessary parentheses
- println!("e~")
- }
- }
-
-
- loop {
- if (break { return true }) {
- }
- }
- false
-}
diff --git a/src/test/ui/lint/unused_parens_remove_json_suggestion.stderr b/src/test/ui/lint/unused_parens_remove_json_suggestion.stderr
deleted file mode 100644
index f4c6ceaf1..000000000
--- a/src/test/ui/lint/unused_parens_remove_json_suggestion.stderr
+++ /dev/null
@@ -1,125 +0,0 @@
-{"message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":481,"byte_end":482,"line_start":17,"line_end":17,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":" if (_b) {
- --> $DIR/unused_parens_remove_json_suggestion.rs:17:8
- |
-LL | if (_b) {
- | ^ ^
- |
-note: the lint level is defined here
- --> $DIR/unused_parens_remove_json_suggestion.rs:10:9
- |
-LL | #![deny(unused_parens)]
- | ^^^^^^^^^^^^^
-help: remove these parentheses
- |
-LL - if (_b) {
-LL + if _b {
- |
-
-"}
-{"message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":612,"byte_end":613,"line_start":28,"line_end":28,"column_start":7,"column_end":8,"is_primary":true,"text":[{"text":" if(c) {
- --> $DIR/unused_parens_remove_json_suggestion.rs:28:7
- |
-LL | if(c) {
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if(c) {
-LL + if c {
- |
-
-"}
-{"message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":692,"byte_end":693,"line_start":32,"line_end":32,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":" if (c){
- --> $DIR/unused_parens_remove_json_suggestion.rs:32:8
- |
-LL | if (c){
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if (c){
-LL + if c {
- |
-
-"}
-{"message":"unnecessary parentheses around `while` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":774,"byte_end":775,"line_start":36,"line_end":36,"column_start":11,"column_end":12,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":11,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":788,"byte_end":789,"line_start":36,"line_end":36,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":25,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove these parentheses","code":null,"level":"help","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":774,"byte_end":775,"line_start":36,"line_end":36,"column_start":11,"column_end":12,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":11,"highlight_end":12}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":788,"byte_end":789,"line_start":36,"line_end":36,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":25,"highlight_end":26}],"label":null,"suggested_replacement":" ","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `while` condition
- --> $DIR/unused_parens_remove_json_suggestion.rs:36:11
- |
-LL | while (false && true){
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - while (false && true){
-LL + while false && true {
- |
-
-"}
-{"message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":802,"byte_end":803,"line_start":37,"line_end":37,"column_start":12,"column_end":13,"is_primary":true,"text":[{"text":" if (c) {
- --> $DIR/unused_parens_remove_json_suggestion.rs:37:12
- |
-LL | if (c) {
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - if (c) {
-LL + if c {
- |
-
-"}
-{"message":"unnecessary parentheses around `while` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":899,"byte_end":900,"line_start":43,"line_end":43,"column_start":10,"column_end":11,"is_primary":true,"text":[{"text":" while(true && false) {
- --> $DIR/unused_parens_remove_json_suggestion.rs:43:10
- |
-LL | while(true && false) {
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - while(true && false) {
-LL + while true && false {
- |
-
-"}
-{"message":"unnecessary parentheses around `for` iterator expression","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":968,"byte_end":969,"line_start":44,"line_end":44,"column_start":18,"column_end":19,"is_primary":true,"text":[{"text":" for _ in (0 .. 3){
- --> $DIR/unused_parens_remove_json_suggestion.rs:44:18
- |
-LL | for _ in (0 .. 3){
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - for _ in (0 .. 3){
-LL + for _ in 0 .. 3 {
- |
-
-"}
-{"message":"unnecessary parentheses around `for` iterator expression","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":1069,"byte_end":1070,"line_start":49,"line_end":49,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" for _ in (0 .. 3) {
- --> $DIR/unused_parens_remove_json_suggestion.rs:49:14
- |
-LL | for _ in (0 .. 3) {
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - for _ in (0 .. 3) {
-LL + for _ in 0 .. 3 {
- |
-
-"}
-{"message":"unnecessary parentheses around `while` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":1128,"byte_end":1129,"line_start":50,"line_end":50,"column_start":15,"column_end":16,"is_primary":true,"text":[{"text":" while (true && false) {
- --> $DIR/unused_parens_remove_json_suggestion.rs:50:15
- |
-LL | while (true && false) {
- | ^ ^
- |
-help: remove these parentheses
- |
-LL - while (true && false) {
-LL + while true && false {
- |
-
-"}
-{"message":"aborting due to 9 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 9 previous errors
-
-"}
diff --git a/src/test/ui/lint/unused_variables-issue-82488.fixed b/src/test/ui/lint/unused_variables-issue-82488.fixed
deleted file mode 100644
index 3cb2c90d0..000000000
--- a/src/test/ui/lint/unused_variables-issue-82488.fixed
+++ /dev/null
@@ -1,16 +0,0 @@
-// run-rustfix
-#![deny(unused_variables)]
-
-struct Point {
- x: u32,
- y: u32
-}
-
-fn process_point(Point { x, y: _renamed }: Point) {
-//~^ ERROR unused variable: `renamed`
- let _ = x;
-}
-
-fn main() {
- process_point(Point { x: 0, y: 0 });
-}
diff --git a/src/test/ui/lint/unused_variables-issue-82488.rs b/src/test/ui/lint/unused_variables-issue-82488.rs
deleted file mode 100644
index 007b0799b..000000000
--- a/src/test/ui/lint/unused_variables-issue-82488.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// run-rustfix
-#![deny(unused_variables)]
-
-struct Point {
- x: u32,
- y: u32
-}
-
-fn process_point(Point { x, y: renamed }: Point) {
-//~^ ERROR unused variable: `renamed`
- let _ = x;
-}
-
-fn main() {
- process_point(Point { x: 0, y: 0 });
-}
diff --git a/src/test/ui/lint/unused_variables-issue-82488.stderr b/src/test/ui/lint/unused_variables-issue-82488.stderr
deleted file mode 100644
index dce03a0f7..000000000
--- a/src/test/ui/lint/unused_variables-issue-82488.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: unused variable: `renamed`
- --> $DIR/unused_variables-issue-82488.rs:9:32
- |
-LL | fn process_point(Point { x, y: renamed }: Point) {
- | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renamed`
- |
-note: the lint level is defined here
- --> $DIR/unused_variables-issue-82488.rs:2:9
- |
-LL | #![deny(unused_variables)]
- | ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/lint/use-redundant.rs b/src/test/ui/lint/use-redundant.rs
deleted file mode 100644
index 53315dcf6..000000000
--- a/src/test/ui/lint/use-redundant.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-// check-pass
-#![warn(unused_imports)]
-
-use crate::foo::Bar;
-
-mod foo {
- pub type Bar = i32;
-}
-
-fn baz() -> Bar {
- 3
-}
-
-mod m1 { pub struct S {} }
-mod m2 { pub struct S {} }
-
-use m1::*; //~ WARNING unused import
-use m2::*; //~ WARNING unused import
-
-fn main() {
- use crate::foo::Bar; //~ WARNING imported redundantly
- let _a: Bar = 3;
- baz();
-
- use m1::S;
- let _s = S {};
-}
diff --git a/src/test/ui/lint/use-redundant.stderr b/src/test/ui/lint/use-redundant.stderr
deleted file mode 100644
index c861a1956..000000000
--- a/src/test/ui/lint/use-redundant.stderr
+++ /dev/null
@@ -1,29 +0,0 @@
-warning: unused import: `m1::*`
- --> $DIR/use-redundant.rs:17:5
- |
-LL | use m1::*;
- | ^^^^^
- |
-note: the lint level is defined here
- --> $DIR/use-redundant.rs:2:9
- |
-LL | #![warn(unused_imports)]
- | ^^^^^^^^^^^^^^
-
-warning: unused import: `m2::*`
- --> $DIR/use-redundant.rs:18:5
- |
-LL | use m2::*;
- | ^^^^^
-
-warning: the item `Bar` is imported redundantly
- --> $DIR/use-redundant.rs:21:9
- |
-LL | use crate::foo::Bar;
- | --------------- the item `Bar` is already imported here
-...
-LL | use crate::foo::Bar;
- | ^^^^^^^^^^^^^^^
-
-warning: 3 warnings emitted
-
diff --git a/src/test/ui/lint/use_suggestion_json.rs b/src/test/ui/lint/use_suggestion_json.rs
deleted file mode 100644
index 7d641e08b..000000000
--- a/src/test/ui/lint/use_suggestion_json.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// ignore-windows
-// ignore-sgx std::os::fortanix_sgx::usercalls::alloc::Iter changes compiler suggestions
-// compile-flags: --error-format pretty-json --json=diagnostic-rendered-ansi
-
-// The output for humans should just highlight the whole span without showing
-// the suggested replacement, but we also want to test that suggested
-// replacement only removes one set of parentheses, rather than naïvely
-// stripping away any starting or ending parenthesis characters—hence this
-// test of the JSON error format.
-
-fn main() {
- let x: Iter;
-}
diff --git a/src/test/ui/lint/use_suggestion_json.stderr b/src/test/ui/lint/use_suggestion_json.stderr
deleted file mode 100644
index d17514303..000000000
--- a/src/test/ui/lint/use_suggestion_json.stderr
+++ /dev/null
@@ -1,3 +0,0 @@
-{"message":"`--error-format=pretty-json` is unstable","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: `--error-format=pretty-json` is unstable\u001b[0m
-
-"}
diff --git a/src/test/ui/lint/warn-ctypes-inhibit.rs b/src/test/ui/lint/warn-ctypes-inhibit.rs
deleted file mode 100644
index 15d8b09d2..000000000
--- a/src/test/ui/lint/warn-ctypes-inhibit.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// run-pass
-
-#![allow(dead_code)]
-// compile-flags:-D improper-ctypes
-
-// pretty-expanded FIXME #23616
-#![allow(improper_ctypes)]
-
-mod libc {
- extern "C" {
- pub fn malloc(size: isize) -> *const u8;
- }
-}
-
-pub fn main() {}
diff --git a/src/test/ui/lint/warn-path-statement.rs b/src/test/ui/lint/warn-path-statement.rs
deleted file mode 100644
index 2435be623..000000000
--- a/src/test/ui/lint/warn-path-statement.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// compile-flags: -D path-statements
-struct Droppy;
-
-impl Drop for Droppy {
- fn drop(&mut self) {}
-}
-
-fn main() {
- let x = 10;
- x; //~ ERROR path statement with no effect
-
- let y = Droppy;
- y; //~ ERROR path statement drops value
-
- let z = (Droppy,);
- z; //~ ERROR path statement drops value
-}
diff --git a/src/test/ui/lint/warn-path-statement.stderr b/src/test/ui/lint/warn-path-statement.stderr
deleted file mode 100644
index 248d2ef29..000000000
--- a/src/test/ui/lint/warn-path-statement.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error: path statement with no effect
- --> $DIR/warn-path-statement.rs:10:5
- |
-LL | x;
- | ^^
- |
- = note: requested on the command line with `-D path-statements`
-
-error: path statement drops value
- --> $DIR/warn-path-statement.rs:13:5
- |
-LL | y;
- | ^^ help: use `drop` to clarify the intent: `drop(y);`
-
-error: path statement drops value
- --> $DIR/warn-path-statement.rs:16:5
- |
-LL | z;
- | ^^ help: use `drop` to clarify the intent: `drop(z);`
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/lint/warn-unused-inline-on-fn-prototypes.rs b/src/test/ui/lint/warn-unused-inline-on-fn-prototypes.rs
deleted file mode 100644
index 4684fe145..000000000
--- a/src/test/ui/lint/warn-unused-inline-on-fn-prototypes.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![deny(unused_attributes)]
-
-trait Trait {
- #[inline] //~ ERROR `#[inline]` is ignored on function prototypes
- fn foo();
-}
-
-extern "C" {
- #[inline] //~ ERROR `#[inline]` is ignored on function prototypes
- fn foo();
-}
-
-fn main() {}
diff --git a/src/test/ui/lint/warn-unused-inline-on-fn-prototypes.stderr b/src/test/ui/lint/warn-unused-inline-on-fn-prototypes.stderr
deleted file mode 100644
index ab19d80e7..000000000
--- a/src/test/ui/lint/warn-unused-inline-on-fn-prototypes.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: `#[inline]` is ignored on function prototypes
- --> $DIR/warn-unused-inline-on-fn-prototypes.rs:4:5
- |
-LL | #[inline]
- | ^^^^^^^^^
- |
-note: the lint level is defined here
- --> $DIR/warn-unused-inline-on-fn-prototypes.rs:1:9
- |
-LL | #![deny(unused_attributes)]
- | ^^^^^^^^^^^^^^^^^
-
-error: `#[inline]` is ignored on function prototypes
- --> $DIR/warn-unused-inline-on-fn-prototypes.rs:9:5
- |
-LL | #[inline]
- | ^^^^^^^^^
-
-error: aborting due to 2 previous errors
-