diff options
| -rw-r--r-- | Cargo.lock | 1 | ||||
| -rw-r--r-- | compiler/rustc_codegen_ssa/Cargo.toml | 4 | ||||
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/link.rs | 79 | ||||
| -rw-r--r-- | compiler/rustc_feature/src/builtin_attrs.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_mir_transform/src/check_packed_ref.rs | 7 | ||||
| -rw-r--r-- | compiler/rustc_resolve/src/late.rs | 4 | ||||
| -rw-r--r-- | library/core/src/slice/iter.rs | 26 | ||||
| -rw-r--r-- | src/librustdoc/clean/types.rs | 73 | ||||
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 38 | ||||
| -rw-r--r-- | src/librustdoc/html/render/print_item.rs | 25 | ||||
| -rw-r--r-- | src/librustdoc/json/conversions.rs | 7 | ||||
| -rw-r--r-- | src/librustdoc/lib.rs | 1 | ||||
| -rw-r--r-- | tests/run-make/core-no-oom-handling/Makefile | 6 | ||||
| -rw-r--r-- | tests/rustdoc-ui/check-cfg/check-cfg-test.stderr (renamed from tests/rustdoc-ui/check-cfg-test.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/check-cfg/check-cfg-unstable.rs (renamed from tests/rustdoc-ui/check-cfg-unstable.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/check-cfg/check-cfg-unstable.stderr (renamed from tests/rustdoc-ui/check-cfg-unstable.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/check-cfg/check-cfg.rs (renamed from tests/rustdoc-ui/check-cfg.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/check-cfg/check-cfg.stderr (renamed from tests/rustdoc-ui/check-cfg.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/auxiliary/extern_macros.rs (renamed from tests/rustdoc-ui/auxiliary/extern_macros.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/block-doc-comment.rs (renamed from tests/rustdoc-ui/block-doc-comment.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/block-doc-comment.stdout (renamed from tests/rustdoc-ui/block-doc-comment.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/cfg-test.rs (renamed from tests/rustdoc-ui/cfg-test.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/cfg-test.stdout (renamed from tests/rustdoc-ui/cfg-test.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/check-attr-test.rs (renamed from tests/rustdoc-ui/check-attr-test.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/check-attr-test.stderr (renamed from tests/rustdoc-ui/check-attr-test.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/check-cfg-test.rs (renamed from tests/rustdoc-ui/check-cfg-test.rs) | 4 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/check-cfg-test.stderr | 11 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/check-cfg-test.stdout (renamed from tests/rustdoc-ui/check-cfg-test.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/display-output.rs (renamed from tests/rustdoc-ui/display-output.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/display-output.stdout (renamed from tests/rustdoc-ui/display-output.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-comment-multi-line-attr.rs (renamed from tests/rustdoc-ui/doc-comment-multi-line-attr.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-comment-multi-line-attr.stdout (renamed from tests/rustdoc-ui/doc-comment-multi-line-attr.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-comment-multi-line-cfg-attr.rs (renamed from tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-comment-multi-line-cfg-attr.stdout (renamed from tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-test-attr-pass.rs (renamed from tests/rustdoc-ui/doc-test-attr-pass.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-test-attr.rs (renamed from tests/rustdoc-ui/doc-test-attr.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-test-attr.stderr (renamed from tests/rustdoc-ui/doc-test-attr.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-test-doctest-feature.rs (renamed from tests/rustdoc-ui/doc-test-doctest-feature.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-test-doctest-feature.stdout (renamed from tests/rustdoc-ui/doc-test-doctest-feature.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-test-rustdoc-feature.rs (renamed from tests/rustdoc-ui/doc-test-rustdoc-feature.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doc-test-rustdoc-feature.stdout (renamed from tests/rustdoc-ui/doc-test-rustdoc-feature.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doctest-edition.rs (renamed from tests/rustdoc-ui/doctest-edition.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doctest-edition.stderr (renamed from tests/rustdoc-ui/doctest-edition.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doctest-multiline-crate-attribute.rs (renamed from tests/rustdoc-ui/doctest-multiline-crate-attribute.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doctest-multiline-crate-attribute.stdout (renamed from tests/rustdoc-ui/doctest-multiline-crate-attribute.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doctest-output.rs (renamed from tests/rustdoc-ui/doctest-output.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/doctest-output.stdout (renamed from tests/rustdoc-ui/doctest-output.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-compile-fail.rs (renamed from tests/rustdoc-ui/failed-doctest-compile-fail.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-compile-fail.stdout (renamed from tests/rustdoc-ui/failed-doctest-compile-fail.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-extra-semicolon-on-item.rs (renamed from tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-extra-semicolon-on-item.stdout (renamed from tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-missing-codes.rs (renamed from tests/rustdoc-ui/failed-doctest-missing-codes.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-missing-codes.stdout (renamed from tests/rustdoc-ui/failed-doctest-missing-codes.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-output-windows.rs (renamed from tests/rustdoc-ui/failed-doctest-output-windows.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-output-windows.stdout (renamed from tests/rustdoc-ui/failed-doctest-output-windows.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-output.rs (renamed from tests/rustdoc-ui/failed-doctest-output.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-output.stdout (renamed from tests/rustdoc-ui/failed-doctest-output.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-should-panic.rs (renamed from tests/rustdoc-ui/failed-doctest-should-panic.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/failed-doctest-should-panic.stdout (renamed from tests/rustdoc-ui/failed-doctest-should-panic.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/no-run-flag-error.rs (renamed from tests/rustdoc-ui/no-run-flag-error.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/no-run-flag-error.stderr (renamed from tests/rustdoc-ui/no-run-flag-error.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/no-run-flag.rs (renamed from tests/rustdoc-ui/no-run-flag.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/no-run-flag.stdout (renamed from tests/rustdoc-ui/no-run-flag.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/nocapture-fail.rs (renamed from tests/rustdoc-ui/nocapture-fail.rs) | 4 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/nocapture-fail.stderr (renamed from tests/rustdoc-ui/nocapture-fail.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/nocapture-fail.stdout (renamed from tests/rustdoc-ui/nocapture-fail.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/nocapture.rs (renamed from tests/rustdoc-ui/nocapture.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/nocapture.stderr (renamed from tests/rustdoc-ui/nocapture.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/nocapture.stdout (renamed from tests/rustdoc-ui/nocapture.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/private-doc-test.rs (renamed from tests/rustdoc-ui/private-doc-test.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/private-item-doc-test.rs (renamed from tests/rustdoc-ui/private-item-doc-test.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/private-item-doc-test.stderr (renamed from tests/rustdoc-ui/private-item-doc-test.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/private-public-item-doc-test.rs (renamed from tests/rustdoc-ui/private-public-item-doc-test.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/private-public-item-doc-test.stderr (renamed from tests/rustdoc-ui/private-public-item-doc-test.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/public-reexported-item-doc-test.rs (renamed from tests/rustdoc-ui/public-reexported-item-doc-test.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/run-directory.correct.stdout (renamed from tests/rustdoc-ui/run-directory.correct.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/run-directory.incorrect.stdout (renamed from tests/rustdoc-ui/run-directory.incorrect.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/run-directory.rs (renamed from tests/rustdoc-ui/run-directory.rs) | 6 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-compile-fail1.rs (renamed from tests/rustdoc-ui/test-compile-fail1.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-compile-fail1.stderr (renamed from tests/rustdoc-ui/test-compile-fail1.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-compile-fail2.rs (renamed from tests/rustdoc-ui/test-compile-fail2.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-compile-fail2.stderr (renamed from tests/rustdoc-ui/test-compile-fail2.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-compile-fail3.rs (renamed from tests/rustdoc-ui/test-compile-fail3.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-compile-fail3.stderr (renamed from tests/rustdoc-ui/test-compile-fail3.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-no_std.rs (renamed from tests/rustdoc-ui/test-no_std.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-no_std.stdout (renamed from tests/rustdoc-ui/test-no_std.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-type.rs (renamed from tests/rustdoc-ui/test-type.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/test-type.stdout (renamed from tests/rustdoc-ui/test-type.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/unparseable-doc-test.rs (renamed from tests/rustdoc-ui/unparseable-doc-test.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/doctest/unparseable-doc-test.stdout (renamed from tests/rustdoc-ui/unparseable-doc-test.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt-unstable.rs (renamed from tests/rustdoc-ui/generate-link-to-definition-opt-unstable.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt-unstable.stderr (renamed from tests/rustdoc-ui/generate-link-to-definition-opt-unstable.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt.rs (renamed from tests/rustdoc-ui/generate-link-to-definition-opt.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt.stderr (renamed from tests/rustdoc-ui/generate-link-to-definition-opt.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt2.rs (renamed from tests/rustdoc-ui/generate-link-to-definition-opt2.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt2.stderr (renamed from tests/rustdoc-ui/generate-link-to-definition-opt2.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/assoc-item-not-in-scope.rs (renamed from tests/rustdoc-ui/assoc-item-not-in-scope.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/assoc-item-not-in-scope.stderr (renamed from tests/rustdoc-ui/assoc-item-not-in-scope.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/deny-intra-link-resolution-failure.rs (renamed from tests/rustdoc-ui/deny-intra-link-resolution-failure.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/deny-intra-link-resolution-failure.stderr (renamed from tests/rustdoc-ui/deny-intra-link-resolution-failure.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/pub-export-lint.rs (renamed from tests/rustdoc-ui/pub-export-lint.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/pub-export-lint.stderr (renamed from tests/rustdoc-ui/pub-export-lint.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/reference-link-reports-error-once.rs (renamed from tests/rustdoc-ui/reference-link-reports-error-once.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/reference-link-reports-error-once.stderr (renamed from tests/rustdoc-ui/reference-link-reports-error-once.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/reference-links.rs (renamed from tests/rustdoc-ui/reference-links.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/intra-doc/reference-links.stderr (renamed from tests/rustdoc-ui/reference-links.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/auxiliary/empty-fn.rs (renamed from tests/rustdoc-ui/auxiliary/empty-fn.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/auxiliary/issue-61592.rs (renamed from tests/rustdoc-ui/auxiliary/issue-61592.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/auxiliary/panic-handler.rs (renamed from tests/rustdoc-ui/auxiliary/panic-handler.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-101076.rs (renamed from tests/rustdoc-ui/issue-101076.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-102986.rs (renamed from tests/rustdoc-ui/issue-102986.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-102986.stderr (renamed from tests/rustdoc-ui/issue-102986.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-103997.rs (renamed from tests/rustdoc-ui/issue-103997.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-103997.stderr (renamed from tests/rustdoc-ui/issue-103997.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-105334.rs (renamed from tests/rustdoc-ui/issue-105334.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-105334.stderr (renamed from tests/rustdoc-ui/issue-105334.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-105737.rs (renamed from tests/rustdoc-ui/issue-105737.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-105737.stderr (renamed from tests/rustdoc-ui/issue-105737.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-105742.rs (renamed from tests/rustdoc-ui/issue-105742.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-105742.stderr (renamed from tests/rustdoc-ui/issue-105742.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-106213.rs (renamed from tests/rustdoc-ui/issue-106213.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-106213.stderr (renamed from tests/rustdoc-ui/issue-106213.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-106226.rs (renamed from tests/rustdoc-ui/issue-106226.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-106226.stderr (renamed from tests/rustdoc-ui/issue-106226.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-107918.rs (renamed from tests/rustdoc-ui/issue-107918.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-109282-import-inline-merge.rs (renamed from tests/rustdoc-ui/issue-109282-import-inline-merge.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-110900.rs (renamed from tests/rustdoc-ui/issue-110900.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-58473-2.rs (renamed from tests/rustdoc-ui/issue-58473-2.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-58473.rs (renamed from tests/rustdoc-ui/issue-58473.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-61592-2.rs (renamed from tests/rustdoc-ui/issue-61592-2.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-61592-2.stderr (renamed from tests/rustdoc-ui/issue-61592-2.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-61592.rs (renamed from tests/rustdoc-ui/issue-61592.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-61592.stderr (renamed from tests/rustdoc-ui/issue-61592.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-61732.rs (renamed from tests/rustdoc-ui/issue-61732.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-61732.stderr (renamed from tests/rustdoc-ui/issue-61732.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-74134.private.stderr (renamed from tests/rustdoc-ui/issue-74134.private.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-74134.public.stderr (renamed from tests/rustdoc-ui/issue-74134.public.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-74134.rs (renamed from tests/rustdoc-ui/issue-74134.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-79465.rs (renamed from tests/rustdoc-ui/issue-79465.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-79465.stderr (renamed from tests/rustdoc-ui/issue-79465.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-79467.rs (renamed from tests/rustdoc-ui/issue-79467.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-79467.stderr (renamed from tests/rustdoc-ui/issue-79467.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-79494.rs (renamed from tests/rustdoc-ui/issue-79494.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-79494.stderr (renamed from tests/rustdoc-ui/issue-79494.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-80992.rs (renamed from tests/rustdoc-ui/issue-80992.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-80992.stdout (renamed from tests/rustdoc-ui/issue-80992.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-81662-shortness.rs (renamed from tests/rustdoc-ui/issue-81662-shortness.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-81662-shortness.stdout (renamed from tests/rustdoc-ui/issue-81662-shortness.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-83883-describe-lints.rs (renamed from tests/rustdoc-ui/issue-83883-describe-lints.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-83883-describe-lints.stdout (renamed from tests/rustdoc-ui/issue-83883-describe-lints.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-91134.rs (renamed from tests/rustdoc-ui/issue-91134.rs) | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-91134.stdout (renamed from tests/rustdoc-ui/issue-91134.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-91713.rs (renamed from tests/rustdoc-ui/issue-91713.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-91713.stderr (renamed from tests/rustdoc-ui/issue-91713.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-91713.stdout (renamed from tests/rustdoc-ui/issue-91713.stdout) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-96287.rs (renamed from tests/rustdoc-ui/issue-96287.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-96287.stderr (renamed from tests/rustdoc-ui/issue-96287.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-98690.rs (renamed from tests/rustdoc-ui/issue-98690.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/issues/issue-98690.stderr (renamed from tests/rustdoc-ui/issue-98690.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/bare-urls.fixed (renamed from tests/rustdoc-ui/bare-urls.fixed) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/bare-urls.rs (renamed from tests/rustdoc-ui/bare-urls.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/bare-urls.stderr (renamed from tests/rustdoc-ui/bare-urls.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/check-attr.rs (renamed from tests/rustdoc-ui/check-attr.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/check-attr.stderr (renamed from tests/rustdoc-ui/check-attr.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/check-fail.rs (renamed from tests/rustdoc-ui/check-fail.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/check-fail.stderr (renamed from tests/rustdoc-ui/check-fail.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/check.rs (renamed from tests/rustdoc-ui/check.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/check.stderr (renamed from tests/rustdoc-ui/check.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/deny-missing-docs-crate.rs (renamed from tests/rustdoc-ui/deny-missing-docs-crate.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/deny-missing-docs-crate.stderr (renamed from tests/rustdoc-ui/deny-missing-docs-crate.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/deny-missing-docs-macro.rs (renamed from tests/rustdoc-ui/deny-missing-docs-macro.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/deny-missing-docs-macro.stderr (renamed from tests/rustdoc-ui/deny-missing-docs-macro.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/doc-attr.rs (renamed from tests/rustdoc-ui/doc-attr.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/doc-attr.stderr (renamed from tests/rustdoc-ui/doc-attr.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/doc-spotlight.fixed (renamed from tests/rustdoc-ui/doc-spotlight.fixed) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/doc-spotlight.rs (renamed from tests/rustdoc-ui/doc-spotlight.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/doc-spotlight.stderr (renamed from tests/rustdoc-ui/doc-spotlight.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/doc-without-codeblock.rs (renamed from tests/rustdoc-ui/doc-without-codeblock.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/doc-without-codeblock.stderr (renamed from tests/rustdoc-ui/doc-without-codeblock.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/doc_cfg_hide.rs (renamed from tests/rustdoc-ui/doc_cfg_hide.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/doc_cfg_hide.stderr (renamed from tests/rustdoc-ui/doc_cfg_hide.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/expect-tool-lint-rfc-2383.rs (renamed from tests/rustdoc-ui/expect-tool-lint-rfc-2383.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/expect-tool-lint-rfc-2383.stderr (renamed from tests/rustdoc-ui/expect-tool-lint-rfc-2383.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/feature-gate-rustdoc_missing_doc_code_examples.rs (renamed from tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/feature-gate-rustdoc_missing_doc_code_examples.stderr (renamed from tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/invalid-doc-attr.rs (renamed from tests/rustdoc-ui/invalid-doc-attr.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/invalid-doc-attr.stderr (renamed from tests/rustdoc-ui/invalid-doc-attr.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/invalid-html-self-closing-tag.rs (renamed from tests/rustdoc-ui/invalid-html-self-closing-tag.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/invalid-html-self-closing-tag.stderr (renamed from tests/rustdoc-ui/invalid-html-self-closing-tag.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/invalid-html-tags.rs (renamed from tests/rustdoc-ui/invalid-html-tags.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/invalid-html-tags.stderr (renamed from tests/rustdoc-ui/invalid-html-tags.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/lint-group.rs (renamed from tests/rustdoc-ui/lint-group.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/lint-group.stderr (renamed from tests/rustdoc-ui/lint-group.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/lint-missing-doc-code-example.rs (renamed from tests/rustdoc-ui/lint-missing-doc-code-example.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/lint-missing-doc-code-example.stderr (renamed from tests/rustdoc-ui/lint-missing-doc-code-example.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/no-crate-level-doc-lint.rs (renamed from tests/rustdoc-ui/no-crate-level-doc-lint.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/no-crate-level-doc-lint.stderr (renamed from tests/rustdoc-ui/no-crate-level-doc-lint.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/renamed-lint-still-applies.rs (renamed from tests/rustdoc-ui/renamed-lint-still-applies.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/renamed-lint-still-applies.stderr (renamed from tests/rustdoc-ui/renamed-lint-still-applies.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/rustdoc-all-only-stable-lints.rs (renamed from tests/rustdoc-ui/rustdoc-all-only-stable-lints.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/unknown-renamed-lints.rs (renamed from tests/rustdoc-ui/unknown-renamed-lints.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/unknown-renamed-lints.stderr (renamed from tests/rustdoc-ui/unknown-renamed-lints.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/unused-braces-lint.rs (renamed from tests/rustdoc-ui/unused-braces-lint.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/lints/unused.rs (renamed from tests/rustdoc-ui/unused.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/scrape-examples/scrape-examples-fail-if-type-error.rs (renamed from tests/rustdoc-ui/scrape-examples-fail-if-type-error.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/scrape-examples/scrape-examples-fail-if-type-error.stderr (renamed from tests/rustdoc-ui/scrape-examples-fail-if-type-error.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/scrape-examples/scrape-examples-ice.rs (renamed from tests/rustdoc-ui/scrape-examples-ice.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-1.rs (renamed from tests/rustdoc-ui/scrape-examples-wrong-options-1.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-1.stderr (renamed from tests/rustdoc-ui/scrape-examples-wrong-options-1.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-2.rs (renamed from tests/rustdoc-ui/scrape-examples-wrong-options-2.rs) | 0 | ||||
| -rw-r--r-- | tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-2.stderr (renamed from tests/rustdoc-ui/scrape-examples-wrong-options-2.stderr) | 0 | ||||
| -rw-r--r-- | tests/rustdoc/inline_cross/auxiliary/repr.rs | 22 | ||||
| -rw-r--r-- | tests/rustdoc/inline_cross/repr.rs | 22 | ||||
| -rw-r--r-- | tests/ui/binding/issue-53114-safety-checks.stderr | 18 | ||||
| -rw-r--r-- | tests/ui/closures/2229_closure_analysis/diagnostics/repr_packed.stderr | 3 | ||||
| -rw-r--r-- | tests/ui/lifetimes/elided-lifetime-in-anon-const.rs | 20 | ||||
| -rw-r--r-- | tests/ui/lint/unaligned_references.stderr | 30 | ||||
| -rw-r--r-- | tests/ui/lint/unaligned_references_external_macro.stderr | 3 | ||||
| -rw-r--r-- | tests/ui/native-library-link-flags/msvc-non-utf8-output.rs | 6 | ||||
| -rw-r--r-- | tests/ui/native-library-link-flags/msvc-non-utf8-output.stderr | 7 | ||||
| -rw-r--r-- | tests/ui/packed/issue-27060.stderr | 12 | ||||
| -rw-r--r-- | tests/ui/packed/packed-struct-borrow-element-64bit.stderr | 3 | ||||
| -rw-r--r-- | tests/ui/packed/packed-struct-borrow-element.stderr | 6 |
223 files changed, 375 insertions, 119 deletions
diff --git a/Cargo.lock b/Cargo.lock index 7a7a22c5072..f6ee8157b40 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3250,6 +3250,7 @@ dependencies = [ "tempfile", "thorin-dwp", "tracing", + "windows 0.46.0", ] [[package]] diff --git a/compiler/rustc_codegen_ssa/Cargo.toml b/compiler/rustc_codegen_ssa/Cargo.toml index a421535c9b4..4f73b731f5a 100644 --- a/compiler/rustc_codegen_ssa/Cargo.toml +++ b/compiler/rustc_codegen_ssa/Cargo.toml @@ -49,3 +49,7 @@ libc = "0.2.50" version = "0.30.1" default-features = false features = ["read_core", "elf", "macho", "pe", "unaligned", "archive", "write"] + +[target.'cfg(windows)'.dependencies.windows] +version = "0.46.0" +features = ["Win32_Globalization"] diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs index eecfe13bb3e..c63e156beae 100644 --- a/compiler/rustc_codegen_ssa/src/back/link.rs +++ b/compiler/rustc_codegen_ssa/src/back/link.rs @@ -860,7 +860,7 @@ fn link_natively<'a>( if !prog.status.success() { let mut output = prog.stderr.clone(); output.extend_from_slice(&prog.stdout); - let escaped_output = escape_string(&output); + let escaped_output = escape_linker_output(&output, flavor); // FIXME: Add UI tests for this error. let err = errors::LinkingFailed { linker_path: &linker_path, @@ -1052,6 +1052,83 @@ fn escape_string(s: &[u8]) -> String { } } +#[cfg(not(windows))] +fn escape_linker_output(s: &[u8], _flavour: LinkerFlavor) -> String { + escape_string(s) +} + +/// If the output of the msvc linker is not UTF-8 and the host is Windows, +/// then try to convert the string from the OEM encoding. +#[cfg(windows)] +fn escape_linker_output(s: &[u8], flavour: LinkerFlavor) -> String { + // This only applies to the actual MSVC linker. + if flavour != LinkerFlavor::Msvc(Lld::No) { + return escape_string(s); + } + match str::from_utf8(s) { + Ok(s) => return s.to_owned(), + Err(_) => match win::locale_byte_str_to_string(s, win::oem_code_page()) { + Some(s) => s, + // The string is not UTF-8 and isn't valid for the OEM code page + None => format!("Non-UTF-8 output: {}", s.escape_ascii()), + }, + } +} + +/// Wrappers around the Windows API. +#[cfg(windows)] +mod win { + use windows::Win32::Globalization::{ + GetLocaleInfoEx, MultiByteToWideChar, CP_OEMCP, LOCALE_IUSEUTF8LEGACYOEMCP, + LOCALE_NAME_SYSTEM_DEFAULT, LOCALE_RETURN_NUMBER, MB_ERR_INVALID_CHARS, + }; + + /// Get the Windows system OEM code page. This is most notably the code page + /// used for link.exe's output. + pub fn oem_code_page() -> u32 { + unsafe { + let mut cp: u32 = 0; + // We're using the `LOCALE_RETURN_NUMBER` flag to return a u32. + // But the API requires us to pass the data as though it's a [u16] string. + let len = std::mem::size_of::<u32>() / std::mem::size_of::<u16>(); + let data = std::slice::from_raw_parts_mut(&mut cp as *mut u32 as *mut u16, len); + let len_written = GetLocaleInfoEx( + LOCALE_NAME_SYSTEM_DEFAULT, + LOCALE_IUSEUTF8LEGACYOEMCP | LOCALE_RETURN_NUMBER, + Some(data), + ); + if len_written as usize == len { cp } else { CP_OEMCP } + } + } + /// Try to convert a multi-byte string to a UTF-8 string using the given code page + /// The string does not need to be null terminated. + /// + /// This is implemented as a wrapper around `MultiByteToWideChar`. + /// See <https://learn.microsoft.com/en-us/windows/win32/api/stringapiset/nf-stringapiset-multibytetowidechar> + /// + /// It will fail if the multi-byte string is longer than `i32::MAX` or if it contains + /// any invalid bytes for the expected encoding. + pub fn locale_byte_str_to_string(s: &[u8], code_page: u32) -> Option<String> { + // `MultiByteToWideChar` requires a length to be a "positive integer". + if s.len() > isize::MAX as usize { + return None; + } + // Error if the string is not valid for the expected code page. + let flags = MB_ERR_INVALID_CHARS; + // Call MultiByteToWideChar twice. + // First to calculate the length then to convert the string. + let mut len = unsafe { MultiByteToWideChar(code_page, flags, s, None) }; + if len > 0 { + let mut utf16 = vec![0; len as usize]; + len = unsafe { MultiByteToWideChar(code_page, flags, s, Some(&mut utf16)) }; + if len > 0 { + return utf16.get(..len as usize).map(String::from_utf16_lossy); + } + } + None + } +} + fn add_sanitizer_libraries(sess: &Session, crate_type: CrateType, linker: &mut dyn Linker) { // On macOS the runtimes are distributed as dylibs which should be linked to // both executables and dynamic shared objects. Everywhere else the runtimes diff --git a/compiler/rustc_feature/src/builtin_attrs.rs b/compiler/rustc_feature/src/builtin_attrs.rs index 103e0f34407..c77292fdd16 100644 --- a/compiler/rustc_feature/src/builtin_attrs.rs +++ b/compiler/rustc_feature/src/builtin_attrs.rs @@ -344,7 +344,7 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[ ), ungated!(link_name, Normal, template!(NameValueStr: "name"), FutureWarnPreceding), ungated!(no_link, Normal, template!(Word), WarnFollowing), - ungated!(repr, Normal, template!(List: "C"), DuplicatesOk), + ungated!(repr, Normal, template!(List: "C"), DuplicatesOk, @only_local: true), ungated!(export_name, Normal, template!(NameValueStr: "name"), FutureWarnPreceding), ungated!(link_section, Normal, template!(NameValueStr: "name"), FutureWarnPreceding), ungated!(no_mangle, Normal, template!(Word), WarnFollowing, @only_local: true), diff --git a/compiler/rustc_mir_transform/src/check_packed_ref.rs b/compiler/rustc_mir_transform/src/check_packed_ref.rs index f5f1c1010e1..b9bc89fcf8f 100644 --- a/compiler/rustc_mir_transform/src/check_packed_ref.rs +++ b/compiler/rustc_mir_transform/src/check_packed_ref.rs @@ -56,8 +56,11 @@ impl<'tcx> Visitor<'tcx> for PackedRefChecker<'_, 'tcx> { "reference to packed field is unaligned" ) .note( - "fields of packed structs are not properly aligned, and creating \ - a misaligned reference is undefined behavior (even if that \ + "packed structs are only aligned by one byte, and many modern architectures \ + penalize unaligned field accesses" + ) + .note( + "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 \ diff --git a/compiler/rustc_resolve/src/late.rs b/compiler/rustc_resolve/src/late.rs index 5c02e7193a2..511ae8516a8 100644 --- a/compiler/rustc_resolve/src/late.rs +++ b/compiler/rustc_resolve/src/late.rs @@ -656,7 +656,7 @@ impl<'a: 'ast, 'ast, 'tcx> Visitor<'ast> for LateResolutionVisitor<'a, '_, 'ast, fn visit_anon_const(&mut self, constant: &'ast AnonConst) { // We deal with repeat expressions explicitly in `resolve_expr`. self.with_lifetime_rib(LifetimeRibKind::AnonConst, |this| { - this.with_lifetime_rib(LifetimeRibKind::Elided(LifetimeRes::Static), |this| { + this.with_lifetime_rib(LifetimeRibKind::Elided(LifetimeRes::Infer), |this| { this.resolve_anon_const(constant, IsRepeatExpr::No); }) }) @@ -4126,7 +4126,7 @@ impl<'a: 'ast, 'b, 'ast, 'tcx> LateResolutionVisitor<'a, 'b, 'ast, 'tcx> { ExprKind::Repeat(ref elem, ref ct) => { self.visit_expr(elem); self.with_lifetime_rib(LifetimeRibKind::AnonConst, |this| { - this.with_lifetime_rib(LifetimeRibKind::Elided(LifetimeRes::Static), |this| { + this.with_lifetime_rib(LifetimeRibKind::Elided(LifetimeRes::Infer), |this| { this.resolve_anon_const(ct, IsRepeatExpr::Yes) }) }); diff --git a/library/core/src/slice/iter.rs b/library/core/src/slice/iter.rs index b2dd92a2379..8629aab0070 100644 --- a/library/core/src/slice/iter.rs +++ b/library/core/src/slice/iter.rs @@ -60,10 +60,17 @@ impl<'a, T> IntoIterator for &'a mut [T] { #[stable(feature = "rust1", since = "1.0.0")] #[must_use = "iterators are lazy and do nothing unless consumed"] pub struct Iter<'a, T: 'a> { + /// The pointer to the next element to return, or the past-the-end location + /// if the iterator is empty. + /// + /// This address will be used for all ZST elements, never changed. ptr: NonNull<T>, - end: *const T, // If T is a ZST, this is actually ptr+len. This encoding is picked so that - // ptr == end is a quick test for the Iterator being empty, that works - // for both ZST and non-ZST. + /// For non-ZSTs, the non-null pointer to the past-the-end element. + /// + /// For ZSTs, this is `ptr.wrapping_byte_add(len)`. + /// + /// For all types, `ptr == end` tests whether the iterator is empty. + end: *const T, _marker: PhantomData<&'a T>, } @@ -179,10 +186,17 @@ impl<T> AsRef<[T]> for Iter<'_, T> { #[stable(feature = "rust1", since = "1.0.0")] #[must_use = "iterators are lazy and do nothing unless consumed"] pub struct IterMut<'a, T: 'a> { + /// The pointer to the next element to return, or the past-the-end location + /// if the iterator is empty. + /// + /// This address will be used for all ZST elements, never changed. ptr: NonNull<T>, - end: *mut T, // If T is a ZST, this is actually ptr+len. This encoding is picked so that - // ptr == end is a quick test for the Iterator being empty, that works - // for both ZST and non-ZST. + /// For non-ZSTs, the non-null pointer to the past-the-end element. + /// + /// For ZSTs, this is `ptr.wrapping_byte_add(len)`. + /// + /// For all types, `ptr == end` tests whether the iterator is empty. + end: *mut T, _marker: PhantomData<&'a mut T>, } diff --git a/src/librustdoc/clean/types.rs b/src/librustdoc/clean/types.rs index 74f330b7621..7371b44465b 100644 --- a/src/librustdoc/clean/types.rs +++ b/src/librustdoc/clean/types.rs @@ -11,6 +11,7 @@ use arrayvec::ArrayVec; use thin_vec::ThinVec; use rustc_ast as ast; +use rustc_ast_pretty::pprust; use rustc_attr::{ConstStability, Deprecation, Stability, StabilityLevel}; use rustc_const_eval::const_eval::is_unstable_const_fn; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -711,6 +712,78 @@ impl Item { }; Some(tcx.visibility(def_id)) } + + pub(crate) fn attributes(&self, tcx: TyCtxt<'_>, keep_as_is: bool) -> Vec<String> { + const ALLOWED_ATTRIBUTES: &[Symbol] = + &[sym::export_name, sym::link_section, sym::no_mangle, sym::repr, sym::non_exhaustive]; + + use rustc_abi::IntegerType; + use rustc_middle::ty::ReprFlags; + + let mut attrs: Vec<String> = self + .attrs + .other_attrs + .iter() + .filter_map(|attr| { + if keep_as_is { + Some(pprust::attribute_to_string(attr)) + } else if ALLOWED_ATTRIBUTES.contains(&attr.name_or_empty()) { + Some( + pprust::attribute_to_string(attr) + .replace("\\\n", "") + .replace('\n', "") + .replace(" ", " "), + ) + } else { + None + } + }) + .collect(); + if let Some(def_id) = self.item_id.as_def_id() && + !def_id.is_local() && + // This check is needed because `adt_def` will panic if not a compatible type otherwise... + matches!(self.type_(), ItemType::Struct | ItemType::Enum | ItemType::Union) + { + let repr = tcx.adt_def(def_id).repr(); + let mut out = Vec::new(); + if repr.flags.contains(ReprFlags::IS_C) { + out.push("C"); + } + if repr.flags.contains(ReprFlags::IS_TRANSPARENT) { + out.push("transparent"); + } + if repr.flags.contains(ReprFlags::IS_SIMD) { + out.push("simd"); + } + let pack_s; + if let Some(pack) = repr.pack { + pack_s = format!("packed({})", pack.bytes()); + out.push(&pack_s); + } + let align_s; + if let Some(align) = repr.align { + align_s = format!("align({})", align.bytes()); + out.push(&align_s); + } + let int_s; + if let Some(int) = repr.int { + int_s = match int { + IntegerType::Pointer(is_signed) => { + format!("{}size", if is_signed { 'i' } else { 'u' }) + } + IntegerType::Fixed(size, is_signed) => { + format!("{}{}", if is_signed { 'i' } else { 'u' }, size.size().bytes() * 8) + } + }; + out.push(&int_s); + } + if out.is_empty() { + return Vec::new(); + } + attrs.push(format!("#[repr({})]", out.join(", "))); + } + attrs + } } #[derive(Clone, Debug)] diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index d90d0aecb93..73bf27c9d34 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -48,7 +48,6 @@ use std::str; use std::string::ToString; use askama::Template; -use rustc_ast_pretty::pprust; use rustc_attr::{ConstStability, Deprecation, StabilityLevel}; use rustc_data_structures::captures::Captures; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -849,10 +848,10 @@ fn assoc_method( let (indent, indent_str, end_newline) = if parent == ItemType::Trait { header_len += 4; let indent_str = " "; - write!(w, "{}", render_attributes_in_pre(meth, indent_str)); + write!(w, "{}", render_attributes_in_pre(meth, indent_str, tcx)); (4, indent_str, Ending::NoNewline) } else { - render_attributes_in_code(w, meth); + render_attributes_in_code(w, meth, tcx); (0, "", Ending::Newline) }; w.reserve(header_len + "<a href=\"\" class=\"fn\">{".len() + "</a>".len()); @@ -1021,36 +1020,15 @@ fn render_assoc_item( } } -const ALLOWED_ATTRIBUTES: &[Symbol] = - &[sym::export_name, sym::link_section, sym::no_mangle, sym::repr, sym::non_exhaustive]; - -fn attributes(it: &clean::Item) -> Vec<String> { - it.attrs - .other_attrs - .iter() - .filter_map(|attr| { - if ALLOWED_ATTRIBUTES.contains(&attr.name_or_empty()) { - Some( - pprust::attribute_to_string(attr) - .replace("\\\n", "") - .replace('\n', "") - .replace(" ", " "), - ) - } else { - None - } - }) - .collect() -} - // When an attribute is rendered inside a `<pre>` tag, it is formatted using // a whitespace prefix and newline. -fn render_attributes_in_pre<'a>( +fn render_attributes_in_pre<'a, 'b: 'a>( it: &'a clean::Item, prefix: &'a str, -) -> impl fmt::Display + Captures<'a> { + tcx: TyCtxt<'b>, +) -> impl fmt::Display + Captures<'a> + Captures<'b> { crate::html::format::display_fn(move |f| { - for a in attributes(it) { + for a in it.attributes(tcx, false) { writeln!(f, "{}{}", prefix, a)?; } Ok(()) @@ -1059,8 +1037,8 @@ fn render_attributes_in_pre<'a>( // When an attribute is rendered inside a <code> tag, it is formatted using // a div to produce a newline after it. -fn render_attributes_in_code(w: &mut Buffer, it: &clean::Item) { - for a in attributes(it) { +fn render_attributes_in_code(w: &mut Buffer, it: &clean::Item, tcx: TyCtxt<'_>) { + for a in it.attributes(tcx, false) { write!(w, "<div class=\"code-attribute\">{}</div>", a); } } diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index 3e71d41ec96..4cc81e860f0 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -548,7 +548,7 @@ fn item_function(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, f: &cle w, "{attrs}{vis}{constness}{asyncness}{unsafety}{abi}fn \ {name}{generics}{decl}{notable_traits}{where_clause}", - attrs = render_attributes_in_pre(it, ""), + attrs = render_attributes_in_pre(it, "", tcx), vis = visibility, constness = constness, asyncness = asyncness, @@ -589,7 +589,7 @@ fn item_trait(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, t: &clean: it.name.unwrap(), t.generics.print(cx), bounds, - attrs = render_attributes_in_pre(it, ""), + attrs = render_attributes_in_pre(it, "", tcx), ); if !t.generics.where_predicates.is_empty() { @@ -1063,7 +1063,7 @@ fn item_trait_alias(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, t: & t.generics.print(cx), print_where_clause(&t.generics, cx, 0, Ending::Newline), bounds(&t.bounds, true, cx), - attrs = render_attributes_in_pre(it, ""), + attrs = render_attributes_in_pre(it, "", cx.tcx()), ); }); @@ -1085,7 +1085,7 @@ fn item_opaque_ty(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, t: &cl t.generics.print(cx), where_clause = print_where_clause(&t.generics, cx, 0, Ending::Newline), bounds = bounds(&t.bounds, false, cx), - attrs = render_attributes_in_pre(it, ""), + attrs = render_attributes_in_pre(it, "", cx.tcx()), ); }); @@ -1109,7 +1109,7 @@ fn item_typedef(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, t: &clea t.generics.print(cx), where_clause = print_where_clause(&t.generics, cx, 0, Ending::Newline), type_ = t.type_.print(cx), - attrs = render_attributes_in_pre(it, ""), + attrs = render_attributes_in_pre(it, "", cx.tcx()), ); }); } @@ -1168,7 +1168,8 @@ fn item_union(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, s: &clean: &'b self, ) -> impl fmt::Display + Captures<'a> + 'b + Captures<'cx> { display_fn(move |f| { - let v = render_attributes_in_pre(self.it, ""); + let tcx = self.cx.borrow().tcx(); + let v = render_attributes_in_pre(self.it, "", tcx); write!(f, "{v}") }) } @@ -1244,13 +1245,13 @@ fn item_enum(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, e: &clean:: let tcx = cx.tcx(); let count_variants = e.variants().count(); wrap_item(w, |mut w| { + render_attributes_in_code(w, it, tcx); write!( w, - "{attrs}{}enum {}{}", + "{}enum {}{}", visibility_print_with_space(it.visibility(tcx), it.item_id, cx), it.name.unwrap(), e.generics.print(cx), - attrs = render_attributes_in_pre(it, ""), ); if !print_where_clause_and_check(w, &e.generics, cx) { // If there wasn't a `where` clause, we add a whitespace. @@ -1445,7 +1446,7 @@ fn item_primitive(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item) { fn item_constant(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, c: &clean::Constant) { wrap_item(w, |w| { let tcx = cx.tcx(); - render_attributes_in_code(w, it); + render_attributes_in_code(w, it, tcx); write!( w, @@ -1492,7 +1493,7 @@ fn item_constant(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, c: &cle fn item_struct(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, s: &clean::Struct) { wrap_item(w, |w| { - render_attributes_in_code(w, it); + render_attributes_in_code(w, it, cx.tcx()); render_struct(w, it, Some(&s.generics), s.ctor_kind, &s.fields, "", true, cx); }); @@ -1542,7 +1543,7 @@ fn item_struct(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, s: &clean fn item_static(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, s: &clean::Static) { wrap_item(w, |w| { - render_attributes_in_code(w, it); + render_attributes_in_code(w, it, cx.tcx()); write!( w, "{vis}static {mutability}{name}: {typ}", @@ -1558,7 +1559,7 @@ fn item_static(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, s: &clean fn item_foreign_type(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item) { wrap_item(w, |w| { w.write_str("extern {\n"); - render_attributes_in_code(w, it); + render_attributes_in_code(w, it, cx.tcx()); write!( w, " {}type {};\n}}", diff --git a/src/librustdoc/json/conversions.rs b/src/librustdoc/json/conversions.rs index edd046ab772..62aab46fa7e 100644 --- a/src/librustdoc/json/conversions.rs +++ b/src/librustdoc/json/conversions.rs @@ -41,12 +41,7 @@ impl JsonRenderer<'_> { }) .collect(); let docs = item.attrs.collapsed_doc_value(); - let attrs = item - .attrs - .other_attrs - .iter() - .map(rustc_ast_pretty::pprust::attribute_to_string) - .collect(); + let attrs = item.attributes(self.tcx, true); let span = item.span(self.tcx); let visibility = item.visibility(self.tcx); let clean::Item { name, item_id, .. } = item; diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 60754130d99..66080f64b9c 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -34,6 +34,7 @@ extern crate tracing; // Dependencies listed in Cargo.toml do not need `extern crate`. extern crate pulldown_cmark; +extern crate rustc_abi; extern crate rustc_ast; extern crate rustc_ast_pretty; extern crate rustc_attr; diff --git a/tests/run-make/core-no-oom-handling/Makefile b/tests/run-make/core-no-oom-handling/Makefile new file mode 100644 index 00000000000..28c5261ff85 --- /dev/null +++ b/tests/run-make/core-no-oom-handling/Makefile @@ -0,0 +1,6 @@ +include ../tools.mk + +FAKEROOT=$(TMPDIR)/fakeroot + +all: + $(RUSTC) --edition=2021 -Dwarnings --crate-type=rlib ../../../library/core/src/lib.rs --sysroot=$(FAKEROOT) --cfg no_global_oom_handling diff --git a/tests/rustdoc-ui/check-cfg-test.stderr b/tests/rustdoc-ui/check-cfg/check-cfg-test.stderr index 9770be2f191..9770be2f191 100644 --- a/tests/rustdoc-ui/check-cfg-test.stderr +++ b/tests/rustdoc-ui/check-cfg/check-cfg-test.stderr diff --git a/tests/rustdoc-ui/check-cfg-unstable.rs b/tests/rustdoc-ui/check-cfg/check-cfg-unstable.rs index 5c500ce6ce0..5c500ce6ce0 100644 --- a/tests/rustdoc-ui/check-cfg-unstable.rs +++ b/tests/rustdoc-ui/check-cfg/check-cfg-unstable.rs diff --git a/tests/rustdoc-ui/check-cfg-unstable.stderr b/tests/rustdoc-ui/check-cfg/check-cfg-unstable.stderr index 9b27c2bc058..9b27c2bc058 100644 --- a/tests/rustdoc-ui/check-cfg-unstable.stderr +++ b/tests/rustdoc-ui/check-cfg/check-cfg-unstable.stderr diff --git a/tests/rustdoc-ui/check-cfg.rs b/tests/rustdoc-ui/check-cfg/check-cfg.rs index fa8789ad3ed..fa8789ad3ed 100644 --- a/tests/rustdoc-ui/check-cfg.rs +++ b/tests/rustdoc-ui/check-cfg/check-cfg.rs diff --git a/tests/rustdoc-ui/check-cfg.stderr b/tests/rustdoc-ui/check-cfg/check-cfg.stderr index 1db8e1d91c2..1db8e1d91c2 100644 --- a/tests/rustdoc-ui/check-cfg.stderr +++ b/tests/rustdoc-ui/check-cfg/check-cfg.stderr diff --git a/tests/rustdoc-ui/auxiliary/extern_macros.rs b/tests/rustdoc-ui/doctest/auxiliary/extern_macros.rs index ee1fec4c5c2..ee1fec4c5c2 100644 --- a/tests/rustdoc-ui/auxiliary/extern_macros.rs +++ b/tests/rustdoc-ui/doctest/auxiliary/extern_macros.rs diff --git a/tests/rustdoc-ui/block-doc-comment.rs b/tests/rustdoc-ui/doctest/block-doc-comment.rs index ce529916e5e..ce529916e5e 100644 --- a/tests/rustdoc-ui/block-doc-comment.rs +++ b/tests/rustdoc-ui/doctest/block-doc-comment.rs diff --git a/tests/rustdoc-ui/block-doc-comment.stdout b/tests/rustdoc-ui/doctest/block-doc-comment.stdout index 7326c0a25a0..7326c0a25a0 100644 --- a/tests/rustdoc-ui/block-doc-comment.stdout +++ b/tests/rustdoc-ui/doctest/block-doc-comment.stdout diff --git a/tests/rustdoc-ui/cfg-test.rs b/tests/rustdoc-ui/doctest/cfg-test.rs index d40b9283735..a263baa9738 100644 --- a/tests/rustdoc-ui/cfg-test.rs +++ b/tests/rustdoc-ui/doctest/cfg-test.rs @@ -1,6 +1,6 @@ // check-pass // compile-flags:--test --test-args --test-threads=1 -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // Crates like core have doctests gated on `cfg(not(test))` so we need to make diff --git a/tests/rustdoc-ui/cfg-test.stdout b/tests/rustdoc-ui/doctest/cfg-test.stdout index 2960ff8d3b4..2960ff8d3b4 100644 --- a/tests/rustdoc-ui/cfg-test.stdout +++ b/tests/rustdoc-ui/doctest/cfg-test.stdout diff --git a/tests/rustdoc-ui/check-attr-test.rs b/tests/rustdoc-ui/doctest/check-attr-test.rs index e955470148a..e955470148a 100644 --- a/tests/rustdoc-ui/check-attr-test.rs +++ b/tests/rustdoc-ui/doctest/check-attr-test.rs diff --git a/tests/rustdoc-ui/check-attr-test.stderr b/tests/rustdoc-ui/doctest/check-attr-test.stderr index 01beba1ffc4..01beba1ffc4 100644 --- a/tests/rustdoc-ui/check-attr-test.stderr +++ b/tests/rustdoc-ui/doctest/check-attr-test.stderr diff --git a/tests/rustdoc-ui/check-cfg-test.rs b/tests/rustdoc-ui/doctest/check-cfg-test.rs index 920432276cb..49a801c3fb3 100644 --- a/tests/rustdoc-ui/check-cfg-test.rs +++ b/tests/rustdoc-ui/doctest/check-cfg-test.rs @@ -1,7 +1,7 @@ // check-pass // compile-flags: --test --nocapture --check-cfg=values(feature,"test") -Z unstable-options -// normalize-stderr-test: "tests/rustdoc-ui" -> "$$DIR" -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stderr-test: "tests/rustdoc-ui/doctest" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" /// The doctest will produce a warning because feature invalid is unexpected diff --git a/tests/rustdoc-ui/doctest/check-cfg-test.stderr b/tests/rustdoc-ui/doctest/check-cfg-test.stderr new file mode 100644 index 00000000000..9770be2f191 --- /dev/null +++ b/tests/rustdoc-ui/doctest/check-cfg-test.stderr @@ -0,0 +1,11 @@ +warning: unexpected `cfg` condition value + --> $DIR/check-cfg-test.rs:9:7 + | +LL | #[cfg(feature = "invalid")] + | ^^^^^^^^^^^^^^^^^^^ + | + = note: expected values for `feature` are: test + = note: `#[warn(unexpected_cfgs)]` on by default + +warning: 1 warning emitted + diff --git a/tests/rustdoc-ui/check-cfg-test.stdout b/tests/rustdoc-ui/doctest/check-cfg-test.stdout index b7db49bcfa8..b7db49bcfa8 100644 --- a/tests/rustdoc-ui/check-cfg-test.stdout +++ b/tests/rustdoc-ui/doctest/check-cfg-test.stdout diff --git a/tests/rustdoc-ui/display-output.rs b/tests/rustdoc-ui/doctest/display-output.rs index 23bc54e3cde..7a26dbff986 100644 --- a/tests/rustdoc-ui/display-output.rs +++ b/tests/rustdoc-ui/doctest/display-output.rs @@ -3,7 +3,7 @@ // check-pass // edition:2018 // compile-flags:--test --test-args=--show-output -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" /// ``` diff --git a/tests/rustdoc-ui/display-output.stdout b/tests/rustdoc-ui/doctest/display-output.stdout index ad25d1ce541..ad25d1ce541 100644 --- a/tests/rustdoc-ui/display-output.stdout +++ b/tests/rustdoc-ui/doctest/display-output.stdout diff --git a/tests/rustdoc-ui/doc-comment-multi-line-attr.rs b/tests/rustdoc-ui/doctest/doc-comment-multi-line-attr.rs index db674e229fc..75508f435b3 100644 --- a/tests/rustdoc-ui/doc-comment-multi-line-attr.rs +++ b/tests/rustdoc-ui/doctest/doc-comment-multi-line-attr.rs @@ -1,6 +1,6 @@ // Regression test for #97440: Multiline inner attribute triggers ICE during doctest // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // check-pass diff --git a/tests/rustdoc-ui/doc-comment-multi-line-attr.stdout b/tests/rustdoc-ui/doctest/doc-comment-multi-line-attr.stdout index e47edbd2a81..e47edbd2a81 100644 --- a/tests/rustdoc-ui/doc-comment-multi-line-attr.stdout +++ b/tests/rustdoc-ui/doctest/doc-comment-multi-line-attr.stdout diff --git a/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs b/tests/rustdoc-ui/doctest/doc-comment-multi-line-cfg-attr.rs index 6ce3cb9fc07..3b0b27edb7d 100644 --- a/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs +++ b/tests/rustdoc-ui/doctest/doc-comment-multi-line-cfg-attr.rs @@ -1,5 +1,5 @@ // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // check-pass diff --git a/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.stdout b/tests/rustdoc-ui/doctest/doc-comment-multi-line-cfg-attr.stdout index bf3521e4f91..bf3521e4f91 100644 --- a/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.stdout +++ b/tests/rustdoc-ui/doctest/doc-comment-multi-line-cfg-attr.stdout diff --git a/tests/rustdoc-ui/doc-test-attr-pass.rs b/tests/rustdoc-ui/doctest/doc-test-attr-pass.rs index 12608f24450..12608f24450 100644 --- a/tests/rustdoc-ui/doc-test-attr-pass.rs +++ b/tests/rustdoc-ui/doctest/doc-test-attr-pass.rs diff --git a/tests/rustdoc-ui/doc-test-attr.rs b/tests/rustdoc-ui/doctest/doc-test-attr.rs index 46178ad865a..46178ad865a 100644 --- a/tests/rustdoc-ui/doc-test-attr.rs +++ b/tests/rustdoc-ui/doctest/doc-test-attr.rs diff --git a/tests/rustdoc-ui/doc-test-attr.stderr b/tests/rustdoc-ui/doctest/doc-test-attr.stderr index 5e6014954a4..5e6014954a4 100644 --- a/tests/rustdoc-ui/doc-test-attr.stderr +++ b/tests/rustdoc-ui/doctest/doc-test-attr.stderr diff --git a/tests/rustdoc-ui/doc-test-doctest-feature.rs b/tests/rustdoc-ui/doctest/doc-test-doctest-feature.rs index 88cf44e643b..9c1f4936eab 100644 --- a/tests/rustdoc-ui/doc-test-doctest-feature.rs +++ b/tests/rustdoc-ui/doctest/doc-test-doctest-feature.rs @@ -1,6 +1,6 @@ // check-pass // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // Make sure `cfg(doctest)` is set when finding doctests but not inside diff --git a/tests/rustdoc-ui/doc-test-doctest-feature.stdout b/tests/rustdoc-ui/doctest/doc-test-doctest-feature.stdout index d7de1f10522..d7de1f10522 100644 --- a/tests/rustdoc-ui/doc-test-doctest-feature.stdout +++ b/tests/rustdoc-ui/doctest/doc-test-doctest-feature.stdout diff --git a/tests/rustdoc-ui/doc-test-rustdoc-feature.rs b/tests/rustdoc-ui/doctest/doc-test-rustdoc-feature.rs index dc72a485764..1f90d13af84 100644 --- a/tests/rustdoc-ui/doc-test-rustdoc-feature.rs +++ b/tests/rustdoc-ui/doctest/doc-test-rustdoc-feature.rs @@ -1,6 +1,6 @@ // check-pass // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" #![feature(doc_cfg)] diff --git a/tests/rustdoc-ui/doc-test-rustdoc-feature.stdout b/tests/rustdoc-ui/doctest/doc-test-rustdoc-feature.stdout index 5b07fc4c87a..5b07fc4c87a 100644 --- a/tests/rustdoc-ui/doc-test-rustdoc-feature.stdout +++ b/tests/rustdoc-ui/doctest/doc-test-rustdoc-feature.stdout diff --git a/tests/rustdoc-ui/doctest-edition.rs b/tests/rustdoc-ui/doctest/doctest-edition.rs index b0787be972f..b0787be972f 100644 --- a/tests/rustdoc-ui/doctest-edition.rs +++ b/tests/rustdoc-ui/doctest/doctest-edition.rs diff --git a/tests/rustdoc-ui/doctest-edition.stderr b/tests/rustdoc-ui/doctest/doctest-edition.stderr index 8a3329aa3ed..8a3329aa3ed 100644 --- a/tests/rustdoc-ui/doctest-edition.stderr +++ b/tests/rustdoc-ui/doctest/doctest-edition.stderr diff --git a/tests/rustdoc-ui/doctest-multiline-crate-attribute.rs b/tests/rustdoc-ui/doctest/doctest-multiline-crate-attribute.rs index 260f5a7a64f..a3bde6cb941 100644 --- a/tests/rustdoc-ui/doctest-multiline-crate-attribute.rs +++ b/tests/rustdoc-ui/doctest/doctest-multiline-crate-attribute.rs @@ -1,5 +1,5 @@ // compile-flags:--test --test-args=--test-threads=1 -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // check-pass diff --git a/tests/rustdoc-ui/doctest-multiline-crate-attribute.stdout b/tests/rustdoc-ui/doctest/doctest-multiline-crate-attribute.stdout index 07a4f657dea..07a4f657dea 100644 --- a/tests/rustdoc-ui/doctest-multiline-crate-attribute.stdout +++ b/tests/rustdoc-ui/doctest/doctest-multiline-crate-attribute.stdout diff --git a/tests/rustdoc-ui/doctest-output.rs b/tests/rustdoc-ui/doctest/doctest-output.rs index 303f7689698..26754b73f0b 100644 --- a/tests/rustdoc-ui/doctest-output.rs +++ b/tests/rustdoc-ui/doctest/doctest-output.rs @@ -1,7 +1,7 @@ // edition:2018 // aux-build:extern_macros.rs // compile-flags:--test --test-args=--test-threads=1 -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // check-pass diff --git a/tests/rustdoc-ui/doctest-output.stdout b/tests/rustdoc-ui/doctest/doctest-output.stdout index 35b0e366fb5..35b0e366fb5 100644 --- a/tests/rustdoc-ui/doctest-output.stdout +++ b/tests/rustdoc-ui/doctest/doctest-output.stdout diff --git a/tests/rustdoc-ui/failed-doctest-compile-fail.rs b/tests/rustdoc-ui/doctest/failed-doctest-compile-fail.rs index 4dfca600f16..53b3857dfde 100644 --- a/tests/rustdoc-ui/failed-doctest-compile-fail.rs +++ b/tests/rustdoc-ui/doctest/failed-doctest-compile-fail.rs @@ -2,7 +2,7 @@ // adapted to use that, and that normalize line can go away // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // failure-status: 101 diff --git a/tests/rustdoc-ui/failed-doctest-compile-fail.stdout b/tests/rustdoc-ui/doctest/failed-doctest-compile-fail.stdout index af3a90a7410..af3a90a7410 100644 --- a/tests/rustdoc-ui/failed-doctest-compile-fail.stdout +++ b/tests/rustdoc-ui/doctest/failed-doctest-compile-fail.stdout diff --git a/tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs b/tests/rustdoc-ui/doctest/failed-doctest-extra-semicolon-on-item.rs index 03a5b9d5d84..84e4d61603a 100644 --- a/tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs +++ b/tests/rustdoc-ui/doctest/failed-doctest-extra-semicolon-on-item.rs @@ -2,7 +2,7 @@ // adapted to use that, and that normalize line can go away // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // failure-status: 101 diff --git a/tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.stdout b/tests/rustdoc-ui/doctest/failed-doctest-extra-semicolon-on-item.stdout index 61468b6c745..61468b6c745 100644 --- a/tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.stdout +++ b/tests/rustdoc-ui/doctest/failed-doctest-extra-semicolon-on-item.stdout diff --git a/tests/rustdoc-ui/failed-doctest-missing-codes.rs b/tests/rustdoc-ui/doctest/failed-doctest-missing-codes.rs index 66a229a0c75..4e3b848fc02 100644 --- a/tests/rustdoc-ui/failed-doctest-missing-codes.rs +++ b/tests/rustdoc-ui/doctest/failed-doctest-missing-codes.rs @@ -2,7 +2,7 @@ // adapted to use that, and that normalize line can go away // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // failure-status: 101 diff --git a/tests/rustdoc-ui/failed-doctest-missing-codes.stdout b/tests/rustdoc-ui/doctest/failed-doctest-missing-codes.stdout index bacbb47b5f9..bacbb47b5f9 100644 --- a/tests/rustdoc-ui/failed-doctest-missing-codes.stdout +++ b/tests/rustdoc-ui/doctest/failed-doctest-missing-codes.stdout diff --git a/tests/rustdoc-ui/failed-doctest-output-windows.rs b/tests/rustdoc-ui/doctest/failed-doctest-output-windows.rs index 456a9e68f20..6bc6c33c76e 100644 --- a/tests/rustdoc-ui/failed-doctest-output-windows.rs +++ b/tests/rustdoc-ui/doctest/failed-doctest-output-windows.rs @@ -7,7 +7,7 @@ // compile-flags:--test --test-args --test-threads=1 // rustc-env:RUST_BACKTRACE=0 -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // failure-status: 101 diff --git a/tests/rustdoc-ui/failed-doctest-output-windows.stdout b/tests/rustdoc-ui/doctest/failed-doctest-output-windows.stdout index 6c147054da3..6c147054da3 100644 --- a/tests/rustdoc-ui/failed-doctest-output-windows.stdout +++ b/tests/rustdoc-ui/doctest/failed-doctest-output-windows.stdout diff --git a/tests/rustdoc-ui/failed-doctest-output.rs b/tests/rustdoc-ui/doctest/failed-doctest-output.rs index 77647f8eca9..3e1312382ee 100644 --- a/tests/rustdoc-ui/failed-doctest-output.rs +++ b/tests/rustdoc-ui/doctest/failed-doctest-output.rs @@ -7,7 +7,7 @@ // compile-flags:--test --test-args --test-threads=1 // rustc-env:RUST_BACKTRACE=0 -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // failure-status: 101 diff --git a/tests/rustdoc-ui/failed-doctest-output.stdout b/tests/rustdoc-ui/doctest/failed-doctest-output.stdout index 630198a561a..630198a561a 100644 --- a/tests/rustdoc-ui/failed-doctest-output.stdout +++ b/tests/rustdoc-ui/doctest/failed-doctest-output.stdout diff --git a/tests/rustdoc-ui/failed-doctest-should-panic.rs b/tests/rustdoc-ui/doctest/failed-doctest-should-panic.rs index c134f80064d..36284e814f3 100644 --- a/tests/rustdoc-ui/failed-doctest-should-panic.rs +++ b/tests/rustdoc-ui/doctest/failed-doctest-should-panic.rs @@ -2,7 +2,7 @@ // adapted to use that, and that normalize line can go away // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // failure-status: 101 diff --git a/tests/rustdoc-ui/failed-doctest-should-panic.stdout b/tests/rustdoc-ui/doctest/failed-doctest-should-panic.stdout index 57a20092a5d..57a20092a5d 100644 --- a/tests/rustdoc-ui/failed-doctest-should-panic.stdout +++ b/tests/rustdoc-ui/doctest/failed-doctest-should-panic.stdout diff --git a/tests/rustdoc-ui/no-run-flag-error.rs b/tests/rustdoc-ui/doctest/no-run-flag-error.rs index 4ead621482b..4ead621482b 100644 --- a/tests/rustdoc-ui/no-run-flag-error.rs +++ b/tests/rustdoc-ui/doctest/no-run-flag-error.rs diff --git a/tests/rustdoc-ui/no-run-flag-error.stderr b/tests/rustdoc-ui/doctest/no-run-flag-error.stderr index d032646c365..d032646c365 100644 --- a/tests/rustdoc-ui/no-run-flag-error.stderr +++ b/tests/rustdoc-ui/doctest/no-run-flag-error.stderr diff --git a/tests/rustdoc-ui/no-run-flag.rs b/tests/rustdoc-ui/doctest/no-run-flag.rs index 181730eb416..1cf3b7c4bb3 100644 --- a/tests/rustdoc-ui/no-run-flag.rs +++ b/tests/rustdoc-ui/doctest/no-run-flag.rs @@ -2,7 +2,7 @@ // check-pass // compile-flags:-Z unstable-options --test --no-run --test-args=--test-threads=1 -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" /// ``` diff --git a/tests/rustdoc-ui/no-run-flag.stdout b/tests/rustdoc-ui/doctest/no-run-flag.stdout index 02f28aaf60d..02f28aaf60d 100644 --- a/tests/rustdoc-ui/no-run-flag.stdout +++ b/tests/rustdoc-ui/doctest/no-run-flag.stdout diff --git a/tests/rustdoc-ui/nocapture-fail.rs b/tests/rustdoc-ui/doctest/nocapture-fail.rs index 9a3fb592c63..ce487a43db4 100644 --- a/tests/rustdoc-ui/nocapture-fail.rs +++ b/tests/rustdoc-ui/doctest/nocapture-fail.rs @@ -1,7 +1,7 @@ // check-pass // compile-flags:--test -Zunstable-options --nocapture -// normalize-stderr-test: "tests/rustdoc-ui" -> "$$DIR" -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stderr-test: "tests/rustdoc-ui/doctest" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" /// ```compile_fail diff --git a/tests/rustdoc-ui/nocapture-fail.stderr b/tests/rustdoc-ui/doctest/nocapture-fail.stderr index b65b622c1ed..b65b622c1ed 100644 --- a/tests/rustdoc-ui/nocapture-fail.stderr +++ b/tests/rustdoc-ui/doctest/nocapture-fail.stderr diff --git a/tests/rustdoc-ui/nocapture-fail.stdout b/tests/rustdoc-ui/doctest/nocapture-fail.stdout index 754f77db53c..754f77db53c 100644 --- a/tests/rustdoc-ui/nocapture-fail.stdout +++ b/tests/rustdoc-ui/doctest/nocapture-fail.stdout diff --git a/tests/rustdoc-ui/nocapture.rs b/tests/rustdoc-ui/doctest/nocapture.rs index 3eb38f2fb3b..25fbcf857e2 100644 --- a/tests/rustdoc-ui/nocapture.rs +++ b/tests/rustdoc-ui/doctest/nocapture.rs @@ -1,6 +1,6 @@ // check-pass // compile-flags:--test -Zunstable-options --nocapture -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" /// ``` diff --git a/tests/rustdoc-ui/nocapture.stderr b/tests/rustdoc-ui/doctest/nocapture.stderr index af6415db3c7..af6415db3c7 100644 --- a/tests/rustdoc-ui/nocapture.stderr +++ b/tests/rustdoc-ui/doctest/nocapture.stderr diff --git a/tests/rustdoc-ui/nocapture.stdout b/tests/rustdoc-ui/doctest/nocapture.stdout index 4880e75da70..4880e75da70 100644 --- a/tests/rustdoc-ui/nocapture.stdout +++ b/tests/rustdoc-ui/doctest/nocapture.stdout diff --git a/tests/rustdoc-ui/private-doc-test.rs b/tests/rustdoc-ui/doctest/private-doc-test.rs index a1f9f8dca08..a1f9f8dca08 100644 --- a/tests/rustdoc-ui/private-doc-test.rs +++ b/tests/rustdoc-ui/doctest/private-doc-test.rs diff --git a/tests/rustdoc-ui/private-item-doc-test.rs b/tests/rustdoc-ui/doctest/private-item-doc-test.rs index 1a3d6cc636d..1a3d6cc636d 100644 --- a/tests/rustdoc-ui/private-item-doc-test.rs +++ b/tests/rustdoc-ui/doctest/private-item-doc-test.rs diff --git a/tests/rustdoc-ui/private-item-doc-test.stderr b/tests/rustdoc-ui/doctest/private-item-doc-test.stderr index 5df6132987c..5df6132987c 100644 --- a/tests/rustdoc-ui/private-item-doc-test.stderr +++ b/tests/rustdoc-ui/doctest/private-item-doc-test.stderr diff --git a/tests/rustdoc-ui/private-public-item-doc-test.rs b/tests/rustdoc-ui/doctest/private-public-item-doc-test.rs index 7cc62b38cc2..7cc62b38cc2 100644 --- a/tests/rustdoc-ui/private-public-item-doc-test.rs +++ b/tests/rustdoc-ui/doctest/private-public-item-doc-test.rs diff --git a/tests/rustdoc-ui/private-public-item-doc-test.stderr b/tests/rustdoc-ui/doctest/private-public-item-doc-test.stderr index f50dbd1844e..f50dbd1844e 100644 --- a/tests/rustdoc-ui/private-public-item-doc-test.stderr +++ b/tests/rustdoc-ui/doctest/private-public-item-doc-test.stderr diff --git a/tests/rustdoc-ui/public-reexported-item-doc-test.rs b/tests/rustdoc-ui/doctest/public-reexported-item-doc-test.rs index b86a53305a1..b86a53305a1 100644 --- a/tests/rustdoc-ui/public-reexported-item-doc-test.rs +++ b/tests/rustdoc-ui/doctest/public-reexported-item-doc-test.rs diff --git a/tests/rustdoc-ui/run-directory.correct.stdout b/tests/rustdoc-ui/doctest/run-directory.correct.stdout index e9b2754794a..e9b2754794a 100644 --- a/tests/rustdoc-ui/run-directory.correct.stdout +++ b/tests/rustdoc-ui/doctest/run-directory.correct.stdout diff --git a/tests/rustdoc-ui/run-directory.incorrect.stdout b/tests/rustdoc-ui/doctest/run-directory.incorrect.stdout index 97a5dbc5c0c..97a5dbc5c0c 100644 --- a/tests/rustdoc-ui/run-directory.incorrect.stdout +++ b/tests/rustdoc-ui/doctest/run-directory.incorrect.stdout diff --git a/tests/rustdoc-ui/run-directory.rs b/tests/rustdoc-ui/doctest/run-directory.rs index b8d0647f08d..1ff0af2d17c 100644 --- a/tests/rustdoc-ui/run-directory.rs +++ b/tests/rustdoc-ui/doctest/run-directory.rs @@ -4,12 +4,12 @@ // check-pass // [correct]compile-flags:--test --test-run-directory={{src-base}} // [incorrect]compile-flags:--test --test-run-directory={{src-base}}/coverage -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" /// ``` /// assert_eq!( -/// std::fs::read_to_string("run-directory.rs").unwrap(), +/// std::fs::read_to_string("doctest/run-directory.rs").unwrap(), /// include_str!("run-directory.rs"), /// ); /// ``` @@ -17,7 +17,7 @@ pub fn foo() {} /// ``` -/// assert!(std::fs::read_to_string("run-directory.rs").is_err()); +/// assert!(std::fs::read_to_string("doctest/run-directory.rs").is_err()); /// ``` #[cfg(incorrect)] pub fn foo() {} diff --git a/tests/rustdoc-ui/test-compile-fail1.rs b/tests/rustdoc-ui/doctest/test-compile-fail1.rs index a0539023878..a0539023878 100644 --- a/tests/rustdoc-ui/test-compile-fail1.rs +++ b/tests/rustdoc-ui/doctest/test-compile-fail1.rs diff --git a/tests/rustdoc-ui/test-compile-fail1.stderr b/tests/rustdoc-ui/doctest/test-compile-fail1.stderr index 72915e46bec..72915e46bec 100644 --- a/tests/rustdoc-ui/test-compile-fail1.stderr +++ b/tests/rustdoc-ui/doctest/test-compile-fail1.stderr diff --git a/tests/rustdoc-ui/test-compile-fail2.rs b/tests/rustdoc-ui/doctest/test-compile-fail2.rs index 651ded0a047..651ded0a047 100644 --- a/tests/rustdoc-ui/test-compile-fail2.rs +++ b/tests/rustdoc-ui/doctest/test-compile-fail2.rs diff --git a/tests/rustdoc-ui/test-compile-fail2.stderr b/tests/rustdoc-ui/doctest/test-compile-fail2.stderr index cee5b63cf50..cee5b63cf50 100644 --- a/tests/rustdoc-ui/test-compile-fail2.stderr +++ b/tests/rustdoc-ui/doctest/test-compile-fail2.stderr diff --git a/tests/rustdoc-ui/test-compile-fail3.rs b/tests/rustdoc-ui/doctest/test-compile-fail3.rs index faa30ad8367..faa30ad8367 100644 --- a/tests/rustdoc-ui/test-compile-fail3.rs +++ b/tests/rustdoc-ui/doctest/test-compile-fail3.rs diff --git a/tests/rustdoc-ui/test-compile-fail3.stderr b/tests/rustdoc-ui/doctest/test-compile-fail3.stderr index fab801b3bea..fab801b3bea 100644 --- a/tests/rustdoc-ui/test-compile-fail3.stderr +++ b/tests/rustdoc-ui/doctest/test-compile-fail3.stderr diff --git a/tests/rustdoc-ui/test-no_std.rs b/tests/rustdoc-ui/doctest/test-no_std.rs index 51abf1c7217..fd651d1a344 100644 --- a/tests/rustdoc-ui/test-no_std.rs +++ b/tests/rustdoc-ui/doctest/test-no_std.rs @@ -1,5 +1,5 @@ // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // check-pass diff --git a/tests/rustdoc-ui/test-no_std.stdout b/tests/rustdoc-ui/doctest/test-no_std.stdout index 8d5a30804c1..8d5a30804c1 100644 --- a/tests/rustdoc-ui/test-no_std.stdout +++ b/tests/rustdoc-ui/doctest/test-no_std.stdout diff --git a/tests/rustdoc-ui/test-type.rs b/tests/rustdoc-ui/doctest/test-type.rs index 7f5a8f3fc41..036d37f9db2 100644 --- a/tests/rustdoc-ui/test-type.rs +++ b/tests/rustdoc-ui/doctest/test-type.rs @@ -1,6 +1,6 @@ // compile-flags: --test --test-args=--test-threads=1 // check-pass -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" /// ``` diff --git a/tests/rustdoc-ui/test-type.stdout b/tests/rustdoc-ui/doctest/test-type.stdout index a66fd240d34..a66fd240d34 100644 --- a/tests/rustdoc-ui/test-type.stdout +++ b/tests/rustdoc-ui/doctest/test-type.stdout diff --git a/tests/rustdoc-ui/unparseable-doc-test.rs b/tests/rustdoc-ui/doctest/unparseable-doc-test.rs index f0a56a91bf5..fd8b2094d02 100644 --- a/tests/rustdoc-ui/unparseable-doc-test.rs +++ b/tests/rustdoc-ui/doctest/unparseable-doc-test.rs @@ -1,5 +1,5 @@ // compile-flags: --test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/doctest" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // failure-status: 101 // rustc-env: RUST_BACKTRACE=0 diff --git a/tests/rustdoc-ui/unparseable-doc-test.stdout b/tests/rustdoc-ui/doctest/unparseable-doc-test.stdout index 2641c66f25e..2641c66f25e 100644 --- a/tests/rustdoc-ui/unparseable-doc-test.stdout +++ b/tests/rustdoc-ui/doctest/unparseable-doc-test.stdout diff --git a/tests/rustdoc-ui/generate-link-to-definition-opt-unstable.rs b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt-unstable.rs index 87620d74ee6..87620d74ee6 100644 --- a/tests/rustdoc-ui/generate-link-to-definition-opt-unstable.rs +++ b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt-unstable.rs diff --git a/tests/rustdoc-ui/generate-link-to-definition-opt-unstable.stderr b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt-unstable.stderr index a8ddf91bcbf..a8ddf91bcbf 100644 --- a/tests/rustdoc-ui/generate-link-to-definition-opt-unstable.stderr +++ b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt-unstable.stderr diff --git a/tests/rustdoc-ui/generate-link-to-definition-opt.rs b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt.rs index 8f4f561b44d..8f4f561b44d 100644 --- a/tests/rustdoc-ui/generate-link-to-definition-opt.rs +++ b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt.rs diff --git a/tests/rustdoc-ui/generate-link-to-definition-opt.stderr b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt.stderr index 4c8c607e7da..4c8c607e7da 100644 --- a/tests/rustdoc-ui/generate-link-to-definition-opt.stderr +++ b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt.stderr diff --git a/tests/rustdoc-ui/generate-link-to-definition-opt2.rs b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt2.rs index da5142087dd..da5142087dd 100644 --- a/tests/rustdoc-ui/generate-link-to-definition-opt2.rs +++ b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt2.rs diff --git a/tests/rustdoc-ui/generate-link-to-definition-opt2.stderr b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt2.stderr index 4c8c607e7da..4c8c607e7da 100644 --- a/tests/rustdoc-ui/generate-link-to-definition-opt2.stderr +++ b/tests/rustdoc-ui/generate-link-to-definition/generate-link-to-definition-opt2.stderr diff --git a/tests/rustdoc-ui/assoc-item-not-in-scope.rs b/tests/rustdoc-ui/intra-doc/assoc-item-not-in-scope.rs index 0976515f4a4..0976515f4a4 100644 --- a/tests/rustdoc-ui/assoc-item-not-in-scope.rs +++ b/tests/rustdoc-ui/intra-doc/assoc-item-not-in-scope.rs diff --git a/tests/rustdoc-ui/assoc-item-not-in-scope.stderr b/tests/rustdoc-ui/intra-doc/assoc-item-not-in-scope.stderr index 04594ad4142..04594ad4142 100644 --- a/tests/rustdoc-ui/assoc-item-not-in-scope.stderr +++ b/tests/rustdoc-ui/intra-doc/assoc-item-not-in-scope.stderr diff --git a/tests/rustdoc-ui/deny-intra-link-resolution-failure.rs b/tests/rustdoc-ui/intra-doc/deny-intra-link-resolution-failure.rs index 09da124b162..09da124b162 100644 --- a/tests/rustdoc-ui/deny-intra-link-resolution-failure.rs +++ b/tests/rustdoc-ui/intra-doc/deny-intra-link-resolution-failure.rs diff --git a/tests/rustdoc-ui/deny-intra-link-resolution-failure.stderr b/tests/rustdoc-ui/intra-doc/deny-intra-link-resolution-failure.stderr index 3e08354a61d..3e08354a61d 100644 --- a/tests/rustdoc-ui/deny-intra-link-resolution-failure.stderr +++ b/tests/rustdoc-ui/intra-doc/deny-intra-link-resolution-failure.stderr diff --git a/tests/rustdoc-ui/pub-export-lint.rs b/tests/rustdoc-ui/intra-doc/pub-export-lint.rs index f2e66b77bf3..f2e66b77bf3 100644 --- a/tests/rustdoc-ui/pub-export-lint.rs +++ b/tests/rustdoc-ui/intra-doc/pub-export-lint.rs diff --git a/tests/rustdoc-ui/pub-export-lint.stderr b/tests/rustdoc-ui/intra-doc/pub-export-lint.stderr index 81ef799617c..81ef799617c 100644 --- a/tests/rustdoc-ui/pub-export-lint.stderr +++ b/tests/rustdoc-ui/intra-doc/pub-export-lint.stderr diff --git a/tests/rustdoc-ui/reference-link-reports-error-once.rs b/tests/rustdoc-ui/intra-doc/reference-link-reports-error-once.rs index 71bd2c522ff..71bd2c522ff 100644 --- a/tests/rustdoc-ui/reference-link-reports-error-once.rs +++ b/tests/rustdoc-ui/intra-doc/reference-link-reports-error-once.rs diff --git a/tests/rustdoc-ui/reference-link-reports-error-once.stderr b/tests/rustdoc-ui/intra-doc/reference-link-reports-error-once.stderr index 2ab67090f66..2ab67090f66 100644 --- a/tests/rustdoc-ui/reference-link-reports-error-once.stderr +++ b/tests/rustdoc-ui/intra-doc/reference-link-reports-error-once.stderr diff --git a/tests/rustdoc-ui/reference-links.rs b/tests/rustdoc-ui/intra-doc/reference-links.rs index e81e034465d..e81e034465d 100644 --- a/tests/rustdoc-ui/reference-links.rs +++ b/tests/rustdoc-ui/intra-doc/reference-links.rs diff --git a/tests/rustdoc-ui/reference-links.stderr b/tests/rustdoc-ui/intra-doc/reference-links.stderr index c98a2fd7ce6..c98a2fd7ce6 100644 --- a/tests/rustdoc-ui/reference-links.stderr +++ b/tests/rustdoc-ui/intra-doc/reference-links.stderr diff --git a/tests/rustdoc-ui/auxiliary/empty-fn.rs b/tests/rustdoc-ui/issues/auxiliary/empty-fn.rs index 877810f15d7..877810f15d7 100644 --- a/tests/rustdoc-ui/auxiliary/empty-fn.rs +++ b/tests/rustdoc-ui/issues/auxiliary/empty-fn.rs diff --git a/tests/rustdoc-ui/auxiliary/issue-61592.rs b/tests/rustdoc-ui/issues/auxiliary/issue-61592.rs index 57a365b3f38..57a365b3f38 100644 --- a/tests/rustdoc-ui/auxiliary/issue-61592.rs +++ b/tests/rustdoc-ui/issues/auxiliary/issue-61592.rs diff --git a/tests/rustdoc-ui/auxiliary/panic-handler.rs b/tests/rustdoc-ui/issues/auxiliary/panic-handler.rs index 0aaaeee1051..0aaaeee1051 100644 --- a/tests/rustdoc-ui/auxiliary/panic-handler.rs +++ b/tests/rustdoc-ui/issues/auxiliary/panic-handler.rs diff --git a/tests/rustdoc-ui/issue-101076.rs b/tests/rustdoc-ui/issues/issue-101076.rs index 648f9902908..648f9902908 100644 --- a/tests/rustdoc-ui/issue-101076.rs +++ b/tests/rustdoc-ui/issues/issue-101076.rs diff --git a/tests/rustdoc-ui/issue-102986.rs b/tests/rustdoc-ui/issues/issue-102986.rs index 001784ac285..001784ac285 100644 --- a/tests/rustdoc-ui/issue-102986.rs +++ b/tests/rustdoc-ui/issues/issue-102986.rs diff --git a/tests/rustdoc-ui/issue-102986.stderr b/tests/rustdoc-ui/issues/issue-102986.stderr index 3a573726c97..3a573726c97 100644 --- a/tests/rustdoc-ui/issue-102986.stderr +++ b/tests/rustdoc-ui/issues/issue-102986.stderr diff --git a/tests/rustdoc-ui/issue-103997.rs b/tests/rustdoc-ui/issues/issue-103997.rs index 36f42fb15f7..36f42fb15f7 100644 --- a/tests/rustdoc-ui/issue-103997.rs +++ b/tests/rustdoc-ui/issues/issue-103997.rs diff --git a/tests/rustdoc-ui/issue-103997.stderr b/tests/rustdoc-ui/issues/issue-103997.stderr index c06db91496f..c06db91496f 100644 --- a/tests/rustdoc-ui/issue-103997.stderr +++ b/tests/rustdoc-ui/issues/issue-103997.stderr diff --git a/tests/rustdoc-ui/issue-105334.rs b/tests/rustdoc-ui/issues/issue-105334.rs index ee1adc6a029..ee1adc6a029 100644 --- a/tests/rustdoc-ui/issue-105334.rs +++ b/tests/rustdoc-ui/issues/issue-105334.rs diff --git a/tests/rustdoc-ui/issue-105334.stderr b/tests/rustdoc-ui/issues/issue-105334.stderr index e163bb4db9e..e163bb4db9e 100644 --- a/tests/rustdoc-ui/issue-105334.stderr +++ b/tests/rustdoc-ui/issues/issue-105334.stderr diff --git a/tests/rustdoc-ui/issue-105737.rs b/tests/rustdoc-ui/issues/issue-105737.rs index 154f069d8ff..154f069d8ff 100644 --- a/tests/rustdoc-ui/issue-105737.rs +++ b/tests/rustdoc-ui/issues/issue-105737.rs diff --git a/tests/rustdoc-ui/issue-105737.stderr b/tests/rustdoc-ui/issues/issue-105737.stderr index 2dd9beb17da..2dd9beb17da 100644 --- a/tests/rustdoc-ui/issue-105737.stderr +++ b/tests/rustdoc-ui/issues/issue-105737.stderr diff --git a/tests/rustdoc-ui/issue-105742.rs b/tests/rustdoc-ui/issues/issue-105742.rs index 8f4172c0cbb..8f4172c0cbb 100644 --- a/tests/rustdoc-ui/issue-105742.rs +++ b/tests/rustdoc-ui/issues/issue-105742.rs diff --git a/tests/rustdoc-ui/issue-105742.stderr b/tests/rustdoc-ui/issues/issue-105742.stderr index cd53762ef9b..cd53762ef9b 100644 --- a/tests/rustdoc-ui/issue-105742.stderr +++ b/tests/rustdoc-ui/issues/issue-105742.stderr diff --git a/tests/rustdoc-ui/issue-106213.rs b/tests/rustdoc-ui/issues/issue-106213.rs index 6d51846b7d0..6d51846b7d0 100644 --- a/tests/rustdoc-ui/issue-106213.rs +++ b/tests/rustdoc-ui/issues/issue-106213.rs diff --git a/tests/rustdoc-ui/issue-106213.stderr b/tests/rustdoc-ui/issues/issue-106213.stderr index 0a4ff69bafb..0a4ff69bafb 100644 --- a/tests/rustdoc-ui/issue-106213.stderr +++ b/tests/rustdoc-ui/issues/issue-106213.stderr diff --git a/tests/rustdoc-ui/issue-106226.rs b/tests/rustdoc-ui/issues/issue-106226.rs index 71b497a9adc..71b497a9adc 100644 --- a/tests/rustdoc-ui/issue-106226.rs +++ b/tests/rustdoc-ui/issues/issue-106226.rs diff --git a/tests/rustdoc-ui/issue-106226.stderr b/tests/rustdoc-ui/issues/issue-106226.stderr index 1c973dab61d..1c973dab61d 100644 --- a/tests/rustdoc-ui/issue-106226.stderr +++ b/tests/rustdoc-ui/issues/issue-106226.stderr diff --git a/tests/rustdoc-ui/issue-107918.rs b/tests/rustdoc-ui/issues/issue-107918.rs index 13788df0fc9..13788df0fc9 100644 --- a/tests/rustdoc-ui/issue-107918.rs +++ b/tests/rustdoc-ui/issues/issue-107918.rs diff --git a/tests/rustdoc-ui/issue-109282-import-inline-merge.rs b/tests/rustdoc-ui/issues/issue-109282-import-inline-merge.rs index 0ec8523222f..0ec8523222f 100644 --- a/tests/rustdoc-ui/issue-109282-import-inline-merge.rs +++ b/tests/rustdoc-ui/issues/issue-109282-import-inline-merge.rs diff --git a/tests/rustdoc-ui/issue-110900.rs b/tests/rustdoc-ui/issues/issue-110900.rs index e3154baf860..e3154baf860 100644 --- a/tests/rustdoc-ui/issue-110900.rs +++ b/tests/rustdoc-ui/issues/issue-110900.rs diff --git a/tests/rustdoc-ui/issue-58473-2.rs b/tests/rustdoc-ui/issues/issue-58473-2.rs index 000b6a329c1..000b6a329c1 100644 --- a/tests/rustdoc-ui/issue-58473-2.rs +++ b/tests/rustdoc-ui/issues/issue-58473-2.rs diff --git a/tests/rustdoc-ui/issue-58473.rs b/tests/rustdoc-ui/issues/issue-58473.rs index 44e1f58d0a0..44e1f58d0a0 100644 --- a/tests/rustdoc-ui/issue-58473.rs +++ b/tests/rustdoc-ui/issues/issue-58473.rs diff --git a/tests/rustdoc-ui/issue-61592-2.rs b/tests/rustdoc-ui/issues/issue-61592-2.rs index 5b4fc5ee700..5b4fc5ee700 100644 --- a/tests/rustdoc-ui/issue-61592-2.rs +++ b/tests/rustdoc-ui/issues/issue-61592-2.rs diff --git a/tests/rustdoc-ui/issue-61592-2.stderr b/tests/rustdoc-ui/issues/issue-61592-2.stderr index 1b7f8bb552c..1b7f8bb552c 100644 --- a/tests/rustdoc-ui/issue-61592-2.stderr +++ b/tests/rustdoc-ui/issues/issue-61592-2.stderr diff --git a/tests/rustdoc-ui/issue-61592.rs b/tests/rustdoc-ui/issues/issue-61592.rs index 66772557f2c..66772557f2c 100644 --- a/tests/rustdoc-ui/issue-61592.rs +++ b/tests/rustdoc-ui/issues/issue-61592.rs diff --git a/tests/rustdoc-ui/issue-61592.stderr b/tests/rustdoc-ui/issues/issue-61592.stderr index 9c9c9106f8a..9c9c9106f8a 100644 --- a/tests/rustdoc-ui/issue-61592.stderr +++ b/tests/rustdoc-ui/issues/issue-61592.stderr diff --git a/tests/rustdoc-ui/issue-61732.rs b/tests/rustdoc-ui/issues/issue-61732.rs index 4bd8efeaa3b..4bd8efeaa3b 100644 --- a/tests/rustdoc-ui/issue-61732.rs +++ b/tests/rustdoc-ui/issues/issue-61732.rs diff --git a/tests/rustdoc-ui/issue-61732.stderr b/tests/rustdoc-ui/issues/issue-61732.stderr index d16ec6a853a..d16ec6a853a 100644 --- a/tests/rustdoc-ui/issue-61732.stderr +++ b/tests/rustdoc-ui/issues/issue-61732.stderr diff --git a/tests/rustdoc-ui/issue-74134.private.stderr b/tests/rustdoc-ui/issues/issue-74134.private.stderr index 44c88b6183a..44c88b6183a 100644 --- a/tests/rustdoc-ui/issue-74134.private.stderr +++ b/tests/rustdoc-ui/issues/issue-74134.private.stderr diff --git a/tests/rustdoc-ui/issue-74134.public.stderr b/tests/rustdoc-ui/issues/issue-74134.public.stderr index 5b1887b8310..5b1887b8310 100644 --- a/tests/rustdoc-ui/issue-74134.public.stderr +++ b/tests/rustdoc-ui/issues/issue-74134.public.stderr diff --git a/tests/rustdoc-ui/issue-74134.rs b/tests/rustdoc-ui/issues/issue-74134.rs index b1be9123aaf..b1be9123aaf 100644 --- a/tests/rustdoc-ui/issue-74134.rs +++ b/tests/rustdoc-ui/issues/issue-74134.rs diff --git a/tests/rustdoc-ui/issue-79465.rs b/tests/rustdoc-ui/issues/issue-79465.rs index e50f3995b83..e50f3995b83 100644 --- a/tests/rustdoc-ui/issue-79465.rs +++ b/tests/rustdoc-ui/issues/issue-79465.rs diff --git a/tests/rustdoc-ui/issue-79465.stderr b/tests/rustdoc-ui/issues/issue-79465.stderr index d187a2e664a..d187a2e664a 100644 --- a/tests/rustdoc-ui/issue-79465.stderr +++ b/tests/rustdoc-ui/issues/issue-79465.stderr diff --git a/tests/rustdoc-ui/issue-79467.rs b/tests/rustdoc-ui/issues/issue-79467.rs index eb0b9b38071..eb0b9b38071 100644 --- a/tests/rustdoc-ui/issue-79467.rs +++ b/tests/rustdoc-ui/issues/issue-79467.rs diff --git a/tests/rustdoc-ui/issue-79467.stderr b/tests/rustdoc-ui/issues/issue-79467.stderr index 561513a432b..561513a432b 100644 --- a/tests/rustdoc-ui/issue-79467.stderr +++ b/tests/rustdoc-ui/issues/issue-79467.stderr diff --git a/tests/rustdoc-ui/issue-79494.rs b/tests/rustdoc-ui/issues/issue-79494.rs index fc39424b793..fc39424b793 100644 --- a/tests/rustdoc-ui/issue-79494.rs +++ b/tests/rustdoc-ui/issues/issue-79494.rs diff --git a/tests/rustdoc-ui/issue-79494.stderr b/tests/rustdoc-ui/issues/issue-79494.stderr index 7ed5ed38247..7ed5ed38247 100644 --- a/tests/rustdoc-ui/issue-79494.stderr +++ b/tests/rustdoc-ui/issues/issue-79494.stderr diff --git a/tests/rustdoc-ui/issue-80992.rs b/tests/rustdoc-ui/issues/issue-80992.rs index 80ff225b879..f5ae16981ca 100644 --- a/tests/rustdoc-ui/issue-80992.rs +++ b/tests/rustdoc-ui/issues/issue-80992.rs @@ -1,6 +1,6 @@ // check-pass // compile-flags:--test -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/issues" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" pub fn test() -> Result<(), ()> { diff --git a/tests/rustdoc-ui/issue-80992.stdout b/tests/rustdoc-ui/issues/issue-80992.stdout index d2b1cd1d550..d2b1cd1d550 100644 --- a/tests/rustdoc-ui/issue-80992.stdout +++ b/tests/rustdoc-ui/issues/issue-80992.stdout diff --git a/tests/rustdoc-ui/issue-81662-shortness.rs b/tests/rustdoc-ui/issues/issue-81662-shortness.rs index 8a90813b31d..0240d217bee 100644 --- a/tests/rustdoc-ui/issue-81662-shortness.rs +++ b/tests/rustdoc-ui/issues/issue-81662-shortness.rs @@ -1,5 +1,5 @@ // compile-flags:--test --error-format=short -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/issues" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // failure-status: 101 diff --git a/tests/rustdoc-ui/issue-81662-shortness.stdout b/tests/rustdoc-ui/issues/issue-81662-shortness.stdout index 748113be3a2..748113be3a2 100644 --- a/tests/rustdoc-ui/issue-81662-shortness.stdout +++ b/tests/rustdoc-ui/issues/issue-81662-shortness.stdout diff --git a/tests/rustdoc-ui/issue-83883-describe-lints.rs b/tests/rustdoc-ui/issues/issue-83883-describe-lints.rs index 0474d6c143e..0474d6c143e 100644 --- a/tests/rustdoc-ui/issue-83883-describe-lints.rs +++ b/tests/rustdoc-ui/issues/issue-83883-describe-lints.rs diff --git a/tests/rustdoc-ui/issue-83883-describe-lints.stdout b/tests/rustdoc-ui/issues/issue-83883-describe-lints.stdout index bbf66a31583..bbf66a31583 100644 --- a/tests/rustdoc-ui/issue-83883-describe-lints.stdout +++ b/tests/rustdoc-ui/issues/issue-83883-describe-lints.stdout diff --git a/tests/rustdoc-ui/issue-91134.rs b/tests/rustdoc-ui/issues/issue-91134.rs index 42703ee4d79..85362f186cc 100644 --- a/tests/rustdoc-ui/issue-91134.rs +++ b/tests/rustdoc-ui/issues/issue-91134.rs @@ -1,7 +1,7 @@ // compile-flags: --test --crate-name=empty_fn --extern=empty_fn --test-args=--test-threads=1 // aux-build:empty-fn.rs // check-pass -// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR" +// normalize-stdout-test: "tests/rustdoc-ui/issues" -> "$$DIR" // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME" // edition:2021 diff --git a/tests/rustdoc-ui/issue-91134.stdout b/tests/rustdoc-ui/issues/issue-91134.stdout index 084062743da..084062743da 100644 --- a/tests/rustdoc-ui/issue-91134.stdout +++ b/tests/rustdoc-ui/issues/issue-91134.stdout diff --git a/tests/rustdoc-ui/issue-91713.rs b/tests/rustdoc-ui/issues/issue-91713.rs index 610bbf11d9c..610bbf11d9c 100644 --- a/tests/rustdoc-ui/issue-91713.rs +++ b/tests/rustdoc-ui/issues/issue-91713.rs diff --git a/tests/rustdoc-ui/issue-91713.stderr b/tests/rustdoc-ui/issues/issue-91713.stderr index 44ead7a1de2..44ead7a1de2 100644 --- a/tests/rustdoc-ui/issue-91713.stderr +++ b/tests/rustdoc-ui/issues/issue-91713.stderr diff --git a/tests/rustdoc-ui/issue-91713.stdout b/tests/rustdoc-ui/issues/issue-91713.stdout index 16783524363..16783524363 100644 --- a/tests/rustdoc-ui/issue-91713.stdout +++ b/tests/rustdoc-ui/issues/issue-91713.stdout diff --git a/tests/rustdoc-ui/issue-96287.rs b/tests/rustdoc-ui/issues/issue-96287.rs index 08cc7ef4c90..08cc7ef4c90 100644 --- a/tests/rustdoc-ui/issue-96287.rs +++ b/tests/rustdoc-ui/issues/issue-96287.rs diff --git a/tests/rustdoc-ui/issue-96287.stderr b/tests/rustdoc-ui/issues/issue-96287.stderr index 7722eb96028..7722eb96028 100644 --- a/tests/rustdoc-ui/issue-96287.stderr +++ b/tests/rustdoc-ui/issues/issue-96287.stderr diff --git a/tests/rustdoc-ui/issue-98690.rs b/tests/rustdoc-ui/issues/issue-98690.rs index fe9bd87ab28..fe9bd87ab28 100644 --- a/tests/rustdoc-ui/issue-98690.rs +++ b/tests/rustdoc-ui/issues/issue-98690.rs diff --git a/tests/rustdoc-ui/issue-98690.stderr b/tests/rustdoc-ui/issues/issue-98690.stderr index 47d94f99a45..47d94f99a45 100644 --- a/tests/rustdoc-ui/issue-98690.stderr +++ b/tests/rustdoc-ui/issues/issue-98690.stderr diff --git a/tests/rustdoc-ui/bare-urls.fixed b/tests/rustdoc-ui/lints/bare-urls.fixed index 23aa5c44c21..23aa5c44c21 100644 --- a/tests/rustdoc-ui/bare-urls.fixed +++ b/tests/rustdoc-ui/lints/bare-urls.fixed diff --git a/tests/rustdoc-ui/bare-urls.rs b/tests/rustdoc-ui/lints/bare-urls.rs index 592f57343bc..592f57343bc 100644 --- a/tests/rustdoc-ui/bare-urls.rs +++ b/tests/rustdoc-ui/lints/bare-urls.rs diff --git a/tests/rustdoc-ui/bare-urls.stderr b/tests/rustdoc-ui/lints/bare-urls.stderr index ccf52cd0b93..ccf52cd0b93 100644 --- a/tests/rustdoc-ui/bare-urls.stderr +++ b/tests/rustdoc-ui/lints/bare-urls.stderr diff --git a/tests/rustdoc-ui/check-attr.rs b/tests/rustdoc-ui/lints/check-attr.rs index 0b3f7bedda5..0b3f7bedda5 100644 --- a/tests/rustdoc-ui/check-attr.rs +++ b/tests/rustdoc-ui/lints/check-attr.rs diff --git a/tests/rustdoc-ui/check-attr.stderr b/tests/rustdoc-ui/lints/check-attr.stderr index f66e63ab727..f66e63ab727 100644 --- a/tests/rustdoc-ui/check-attr.stderr +++ b/tests/rustdoc-ui/lints/check-attr.stderr diff --git a/tests/rustdoc-ui/check-fail.rs b/tests/rustdoc-ui/lints/check-fail.rs index 02632b4ce7d..02632b4ce7d 100644 --- a/tests/rustdoc-ui/check-fail.rs +++ b/tests/rustdoc-ui/lints/check-fail.rs diff --git a/tests/rustdoc-ui/check-fail.stderr b/tests/rustdoc-ui/lints/check-fail.stderr index f05e457af64..f05e457af64 100644 --- a/tests/rustdoc-ui/check-fail.stderr +++ b/tests/rustdoc-ui/lints/check-fail.stderr diff --git a/tests/rustdoc-ui/check.rs b/tests/rustdoc-ui/lints/check.rs index e389a81bb33..e389a81bb33 100644 --- a/tests/rustdoc-ui/check.rs +++ b/tests/rustdoc-ui/lints/check.rs diff --git a/tests/rustdoc-ui/check.stderr b/tests/rustdoc-ui/lints/check.stderr index c5ed5d0c3ef..c5ed5d0c3ef 100644 --- a/tests/rustdoc-ui/check.stderr +++ b/tests/rustdoc-ui/lints/check.stderr diff --git a/tests/rustdoc-ui/deny-missing-docs-crate.rs b/tests/rustdoc-ui/lints/deny-missing-docs-crate.rs index b74eba3f66b..b74eba3f66b 100644 --- a/tests/rustdoc-ui/deny-missing-docs-crate.rs +++ b/tests/rustdoc-ui/lints/deny-missing-docs-crate.rs diff --git a/tests/rustdoc-ui/deny-missing-docs-crate.stderr b/tests/rustdoc-ui/lints/deny-missing-docs-crate.stderr index 5025b0b0ca8..5025b0b0ca8 100644 --- a/tests/rustdoc-ui/deny-missing-docs-crate.stderr +++ b/tests/rustdoc-ui/lints/deny-missing-docs-crate.stderr diff --git a/tests/rustdoc-ui/deny-missing-docs-macro.rs b/tests/rustdoc-ui/lints/deny-missing-docs-macro.rs index b1c1253176b..b1c1253176b 100644 --- a/tests/rustdoc-ui/deny-missing-docs-macro.rs +++ b/tests/rustdoc-ui/lints/deny-missing-docs-macro.rs diff --git a/tests/rustdoc-ui/deny-missing-docs-macro.stderr b/tests/rustdoc-ui/lints/deny-missing-docs-macro.stderr index 0867b08183e..0867b08183e 100644 --- a/tests/rustdoc-ui/deny-missing-docs-macro.stderr +++ b/tests/rustdoc-ui/lints/deny-missing-docs-macro.stderr diff --git a/tests/rustdoc-ui/doc-attr.rs b/tests/rustdoc-ui/lints/doc-attr.rs index 980d1c0e207..980d1c0e207 100644 --- a/tests/rustdoc-ui/doc-attr.rs +++ b/tests/rustdoc-ui/lints/doc-attr.rs diff --git a/tests/rustdoc-ui/doc-attr.stderr b/tests/rustdoc-ui/lints/doc-attr.stderr index 68df2771fd7..68df2771fd7 100644 --- a/tests/rustdoc-ui/doc-attr.stderr +++ b/tests/rustdoc-ui/lints/doc-attr.stderr diff --git a/tests/rustdoc-ui/doc-spotlight.fixed b/tests/rustdoc-ui/lints/doc-spotlight.fixed index 4b58778eacd..4b58778eacd 100644 --- a/tests/rustdoc-ui/doc-spotlight.fixed +++ b/tests/rustdoc-ui/lints/doc-spotlight.fixed diff --git a/tests/rustdoc-ui/doc-spotlight.rs b/tests/rustdoc-ui/lints/doc-spotlight.rs index 16e38724580..16e38724580 100644 --- a/tests/rustdoc-ui/doc-spotlight.rs +++ b/tests/rustdoc-ui/lints/doc-spotlight.rs diff --git a/tests/rustdoc-ui/doc-spotlight.stderr b/tests/rustdoc-ui/lints/doc-spotlight.stderr index 58612327ff9..58612327ff9 100644 --- a/tests/rustdoc-ui/doc-spotlight.stderr +++ b/tests/rustdoc-ui/lints/doc-spotlight.stderr diff --git a/tests/rustdoc-ui/doc-without-codeblock.rs b/tests/rustdoc-ui/lints/doc-without-codeblock.rs index 86d7c83d335..86d7c83d335 100644 --- a/tests/rustdoc-ui/doc-without-codeblock.rs +++ b/tests/rustdoc-ui/lints/doc-without-codeblock.rs diff --git a/tests/rustdoc-ui/doc-without-codeblock.stderr b/tests/rustdoc-ui/lints/doc-without-codeblock.stderr index ebf2a2d54f7..ebf2a2d54f7 100644 --- a/tests/rustdoc-ui/doc-without-codeblock.stderr +++ b/tests/rustdoc-ui/lints/doc-without-codeblock.stderr diff --git a/tests/rustdoc-ui/doc_cfg_hide.rs b/tests/rustdoc-ui/lints/doc_cfg_hide.rs index 5d8791748a0..5d8791748a0 100644 --- a/tests/rustdoc-ui/doc_cfg_hide.rs +++ b/tests/rustdoc-ui/lints/doc_cfg_hide.rs diff --git a/tests/rustdoc-ui/doc_cfg_hide.stderr b/tests/rustdoc-ui/lints/doc_cfg_hide.stderr index b7e8870fdf5..b7e8870fdf5 100644 --- a/tests/rustdoc-ui/doc_cfg_hide.stderr +++ b/tests/rustdoc-ui/lints/doc_cfg_hide.stderr diff --git a/tests/rustdoc-ui/expect-tool-lint-rfc-2383.rs b/tests/rustdoc-ui/lints/expect-tool-lint-rfc-2383.rs index 0901ac3640f..0901ac3640f 100644 --- a/tests/rustdoc-ui/expect-tool-lint-rfc-2383.rs +++ b/tests/rustdoc-ui/lints/expect-tool-lint-rfc-2383.rs diff --git a/tests/rustdoc-ui/expect-tool-lint-rfc-2383.stderr b/tests/rustdoc-ui/lints/expect-tool-lint-rfc-2383.stderr index efc5f349f4f..efc5f349f4f 100644 --- a/tests/rustdoc-ui/expect-tool-lint-rfc-2383.stderr +++ b/tests/rustdoc-ui/lints/expect-tool-lint-rfc-2383.stderr diff --git a/tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.rs b/tests/rustdoc-ui/lints/feature-gate-rustdoc_missing_doc_code_examples.rs index c34ea0567a9..c34ea0567a9 100644 --- a/tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.rs +++ b/tests/rustdoc-ui/lints/feature-gate-rustdoc_missing_doc_code_examples.rs diff --git a/tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.stderr b/tests/rustdoc-ui/lints/feature-gate-rustdoc_missing_doc_code_examples.stderr index 326dcfe3bde..326dcfe3bde 100644 --- a/tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.stderr +++ b/tests/rustdoc-ui/lints/feature-gate-rustdoc_missing_doc_code_examples.stderr diff --git a/tests/rustdoc-ui/invalid-doc-attr.rs b/tests/rustdoc-ui/lints/invalid-doc-attr.rs index c231e43b35c..c231e43b35c 100644 --- a/tests/rustdoc-ui/invalid-doc-attr.rs +++ b/tests/rustdoc-ui/lints/invalid-doc-attr.rs diff --git a/tests/rustdoc-ui/invalid-doc-attr.stderr b/tests/rustdoc-ui/lints/invalid-doc-attr.stderr index b23b8ded867..b23b8ded867 100644 --- a/tests/rustdoc-ui/invalid-doc-attr.stderr +++ b/tests/rustdoc-ui/lints/invalid-doc-attr.stderr diff --git a/tests/rustdoc-ui/invalid-html-self-closing-tag.rs b/tests/rustdoc-ui/lints/invalid-html-self-closing-tag.rs index d973a53cbc7..d973a53cbc7 100644 --- a/tests/rustdoc-ui/invalid-html-self-closing-tag.rs +++ b/tests/rustdoc-ui/lints/invalid-html-self-closing-tag.rs diff --git a/tests/rustdoc-ui/invalid-html-self-closing-tag.stderr b/tests/rustdoc-ui/lints/invalid-html-self-closing-tag.stderr index e45edfb43ff..e45edfb43ff 100644 --- a/tests/rustdoc-ui/invalid-html-self-closing-tag.stderr +++ b/tests/rustdoc-ui/lints/invalid-html-self-closing-tag.stderr diff --git a/tests/rustdoc-ui/invalid-html-tags.rs b/tests/rustdoc-ui/lints/invalid-html-tags.rs index 317f1fd1d46..317f1fd1d46 100644 --- a/tests/rustdoc-ui/invalid-html-tags.rs +++ b/tests/rustdoc-ui/lints/invalid-html-tags.rs diff --git a/tests/rustdoc-ui/invalid-html-tags.stderr b/tests/rustdoc-ui/lints/invalid-html-tags.stderr index 9c2bfcf2c3d..9c2bfcf2c3d 100644 --- a/tests/rustdoc-ui/invalid-html-tags.stderr +++ b/tests/rustdoc-ui/lints/invalid-html-tags.stderr diff --git a/tests/rustdoc-ui/lint-group.rs b/tests/rustdoc-ui/lints/lint-group.rs index ad88157f64f..ad88157f64f 100644 --- a/tests/rustdoc-ui/lint-group.rs +++ b/tests/rustdoc-ui/lints/lint-group.rs diff --git a/tests/rustdoc-ui/lint-group.stderr b/tests/rustdoc-ui/lints/lint-group.stderr index 7ff09fcc45a..7ff09fcc45a 100644 --- a/tests/rustdoc-ui/lint-group.stderr +++ b/tests/rustdoc-ui/lints/lint-group.stderr diff --git a/tests/rustdoc-ui/lint-missing-doc-code-example.rs b/tests/rustdoc-ui/lints/lint-missing-doc-code-example.rs index 40f35728d79..40f35728d79 100644 --- a/tests/rustdoc-ui/lint-missing-doc-code-example.rs +++ b/tests/rustdoc-ui/lints/lint-missing-doc-code-example.rs diff --git a/tests/rustdoc-ui/lint-missing-doc-code-example.stderr b/tests/rustdoc-ui/lints/lint-missing-doc-code-example.stderr index f9331250154..f9331250154 100644 --- a/tests/rustdoc-ui/lint-missing-doc-code-example.stderr +++ b/tests/rustdoc-ui/lints/lint-missing-doc-code-example.stderr diff --git a/tests/rustdoc-ui/no-crate-level-doc-lint.rs b/tests/rustdoc-ui/lints/no-crate-level-doc-lint.rs index a186410acf4..a186410acf4 100644 --- a/tests/rustdoc-ui/no-crate-level-doc-lint.rs +++ b/tests/rustdoc-ui/lints/no-crate-level-doc-lint.rs diff --git a/tests/rustdoc-ui/no-crate-level-doc-lint.stderr b/tests/rustdoc-ui/lints/no-crate-level-doc-lint.stderr index fb3a5e415df..fb3a5e415df 100644 --- a/tests/rustdoc-ui/no-crate-level-doc-lint.stderr +++ b/tests/rustdoc-ui/lints/no-crate-level-doc-lint.stderr diff --git a/tests/rustdoc-ui/renamed-lint-still-applies.rs b/tests/rustdoc-ui/lints/renamed-lint-still-applies.rs index a4d3a4b4971..a4d3a4b4971 100644 --- a/tests/rustdoc-ui/renamed-lint-still-applies.rs +++ b/tests/rustdoc-ui/lints/renamed-lint-still-applies.rs diff --git a/tests/rustdoc-ui/renamed-lint-still-applies.stderr b/tests/rustdoc-ui/lints/renamed-lint-still-applies.stderr index ee9b67cb91b..ee9b67cb91b 100644 --- a/tests/rustdoc-ui/renamed-lint-still-applies.stderr +++ b/tests/rustdoc-ui/lints/renamed-lint-still-applies.stderr diff --git a/tests/rustdoc-ui/rustdoc-all-only-stable-lints.rs b/tests/rustdoc-ui/lints/rustdoc-all-only-stable-lints.rs index e106d06aff5..e106d06aff5 100644 --- a/tests/rustdoc-ui/rustdoc-all-only-stable-lints.rs +++ b/tests/rustdoc-ui/lints/rustdoc-all-only-stable-lints.rs diff --git a/tests/rustdoc-ui/unknown-renamed-lints.rs b/tests/rustdoc-ui/lints/unknown-renamed-lints.rs index ddf03dd079f..ddf03dd079f 100644 --- a/tests/rustdoc-ui/unknown-renamed-lints.rs +++ b/tests/rustdoc-ui/lints/unknown-renamed-lints.rs diff --git a/tests/rustdoc-ui/unknown-renamed-lints.stderr b/tests/rustdoc-ui/lints/unknown-renamed-lints.stderr index bf529b9f8e2..bf529b9f8e2 100644 --- a/tests/rustdoc-ui/unknown-renamed-lints.stderr +++ b/tests/rustdoc-ui/lints/unknown-renamed-lints.stderr diff --git a/tests/rustdoc-ui/unused-braces-lint.rs b/tests/rustdoc-ui/lints/unused-braces-lint.rs index be0e31e4be2..be0e31e4be2 100644 --- a/tests/rustdoc-ui/unused-braces-lint.rs +++ b/tests/rustdoc-ui/lints/unused-braces-lint.rs diff --git a/tests/rustdoc-ui/unused.rs b/tests/rustdoc-ui/lints/unused.rs index 702b24c36c5..702b24c36c5 100644 --- a/tests/rustdoc-ui/unused.rs +++ b/tests/rustdoc-ui/lints/unused.rs diff --git a/tests/rustdoc-ui/scrape-examples-fail-if-type-error.rs b/tests/rustdoc-ui/scrape-examples/scrape-examples-fail-if-type-error.rs index 8f4fde96d7e..8f4fde96d7e 100644 --- a/tests/rustdoc-ui/scrape-examples-fail-if-type-error.rs +++ b/tests/rustdoc-ui/scrape-examples/scrape-examples-fail-if-type-error.rs diff --git a/tests/rustdoc-ui/scrape-examples-fail-if-type-error.stderr b/tests/rustdoc-ui/scrape-examples/scrape-examples-fail-if-type-error.stderr index 750aa320719..750aa320719 100644 --- a/tests/rustdoc-ui/scrape-examples-fail-if-type-error.stderr +++ b/tests/rustdoc-ui/scrape-examples/scrape-examples-fail-if-type-error.stderr diff --git a/tests/rustdoc-ui/scrape-examples-ice.rs b/tests/rustdoc-ui/scrape-examples/scrape-examples-ice.rs index d629b62a724..d629b62a724 100644 --- a/tests/rustdoc-ui/scrape-examples-ice.rs +++ b/tests/rustdoc-ui/scrape-examples/scrape-examples-ice.rs diff --git a/tests/rustdoc-ui/scrape-examples-wrong-options-1.rs b/tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-1.rs index a1f005c32ee..a1f005c32ee 100644 --- a/tests/rustdoc-ui/scrape-examples-wrong-options-1.rs +++ b/tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-1.rs diff --git a/tests/rustdoc-ui/scrape-examples-wrong-options-1.stderr b/tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-1.stderr index eb8e9f79968..eb8e9f79968 100644 --- a/tests/rustdoc-ui/scrape-examples-wrong-options-1.stderr +++ b/tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-1.stderr diff --git a/tests/rustdoc-ui/scrape-examples-wrong-options-2.rs b/tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-2.rs index 4aacec7f094..4aacec7f094 100644 --- a/tests/rustdoc-ui/scrape-examples-wrong-options-2.rs +++ b/tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-2.rs diff --git a/tests/rustdoc-ui/scrape-examples-wrong-options-2.stderr b/tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-2.stderr index eb8e9f79968..eb8e9f79968 100644 --- a/tests/rustdoc-ui/scrape-examples-wrong-options-2.stderr +++ b/tests/rustdoc-ui/scrape-examples/scrape-examples-wrong-options-2.stderr diff --git a/tests/rustdoc/inline_cross/auxiliary/repr.rs b/tests/rustdoc/inline_cross/auxiliary/repr.rs index 64a98f18146..4a6648a6439 100644 --- a/tests/rustdoc/inline_cross/auxiliary/repr.rs +++ b/tests/rustdoc/inline_cross/auxiliary/repr.rs @@ -1,4 +1,22 @@ -#[repr(C)] -pub struct Foo { +#![feature(repr_simd)] + +#[repr(C, align(8))] +pub struct ReprC { field: u8, } +#[repr(simd, packed(2))] +pub struct ReprSimd { + field: u8, +} +#[repr(transparent)] +pub struct ReprTransparent { + field: u8, +} +#[repr(isize)] +pub enum ReprIsize { + Bla, +} +#[repr(u8)] +pub enum ReprU8 { + Bla, +} diff --git a/tests/rustdoc/inline_cross/repr.rs b/tests/rustdoc/inline_cross/repr.rs index 7e1f2799af1..9e107cee9e9 100644 --- a/tests/rustdoc/inline_cross/repr.rs +++ b/tests/rustdoc/inline_cross/repr.rs @@ -7,7 +7,23 @@ extern crate repr; -// @has 'foo/struct.Foo.html' -// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(C)]' +// @has 'foo/struct.ReprC.html' +// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(C, align(8))]' #[doc(inline)] -pub use repr::Foo; +pub use repr::ReprC; +// @has 'foo/struct.ReprSimd.html' +// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(simd, packed(2))]' +#[doc(inline)] +pub use repr::ReprSimd; +// @has 'foo/struct.ReprTransparent.html' +// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]' +#[doc(inline)] +pub use repr::ReprTransparent; +// @has 'foo/enum.ReprIsize.html' +// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(isize)]' +#[doc(inline)] +pub use repr::ReprIsize; +// @has 'foo/enum.ReprU8.html' +// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(u8)]' +#[doc(inline)] +pub use repr::ReprU8; diff --git a/tests/ui/binding/issue-53114-safety-checks.stderr b/tests/ui/binding/issue-53114-safety-checks.stderr index 41318d0a38a..349c4639a9e 100644 --- a/tests/ui/binding/issue-53114-safety-checks.stderr +++ b/tests/ui/binding/issue-53114-safety-checks.stderr @@ -4,7 +4,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &p.b; | ^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -13,7 +14,8 @@ error[E0793]: reference to packed field is unaligned LL | let (_,) = (&p.b,); | ^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -22,7 +24,8 @@ error[E0793]: reference to packed field is unaligned LL | let _: _ = &p.b; | ^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -31,7 +34,8 @@ error[E0793]: reference to packed field is unaligned LL | let (_,): _ = (&p.b,); | ^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -40,7 +44,8 @@ error[E0793]: reference to packed field is unaligned LL | match &p.b { _ => { } } | ^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -49,7 +54,8 @@ error[E0793]: reference to packed field is unaligned LL | match (&p.b,) { (_,) => { } } | ^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0133]: access to union field is unsafe and requires unsafe function or block diff --git a/tests/ui/closures/2229_closure_analysis/diagnostics/repr_packed.stderr b/tests/ui/closures/2229_closure_analysis/diagnostics/repr_packed.stderr index 9c2c434572a..8c44229bceb 100644 --- a/tests/ui/closures/2229_closure_analysis/diagnostics/repr_packed.stderr +++ b/tests/ui/closures/2229_closure_analysis/diagnostics/repr_packed.stderr @@ -4,7 +4,8 @@ error[E0793]: reference to packed field is unaligned LL | println!("{}", foo.x); | ^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) diff --git a/tests/ui/lifetimes/elided-lifetime-in-anon-const.rs b/tests/ui/lifetimes/elided-lifetime-in-anon-const.rs new file mode 100644 index 00000000000..69a7b61bab4 --- /dev/null +++ b/tests/ui/lifetimes/elided-lifetime-in-anon-const.rs @@ -0,0 +1,20 @@ +// Verify that elided lifetimes inside anonymous constants are not forced to be `'static`. +// check-pass + +fn foo() -> [(); { + let a = 10_usize; + let b: &'_ usize = &a; + *b + }] { + [(); 10] +} + +fn bar() -> [(); 10] { + [(); { + let a = 10_usize; + let b: &'_ usize = &a; + *b + }] +} + +fn main() {} diff --git a/tests/ui/lint/unaligned_references.stderr b/tests/ui/lint/unaligned_references.stderr index 775dcac678e..5f9cecadbff 100644 --- a/tests/ui/lint/unaligned_references.stderr +++ b/tests/ui/lint/unaligned_references.stderr @@ -4,7 +4,8 @@ error[E0793]: reference to packed field is unaligned LL | &self.x; | ^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -13,7 +14,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &good.ptr; | ^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -22,7 +24,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &good.data; | ^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -31,7 +34,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &good.data as *const _; | ^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -40,7 +44,8 @@ error[E0793]: reference to packed field is unaligned LL | let _: *const _ = &good.data; | ^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -49,7 +54,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = good.data.clone(); | ^^^^^^^^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -58,7 +64,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &good.data2[0]; | ^^^^^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -67,7 +74,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &packed2.x; | ^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -76,7 +84,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ref = &m1.1.a; | ^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -85,7 +94,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ref = &m2.1.a; | ^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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 10 previous errors diff --git a/tests/ui/lint/unaligned_references_external_macro.stderr b/tests/ui/lint/unaligned_references_external_macro.stderr index 5b08f433e32..94a95c1d8fd 100644 --- a/tests/ui/lint/unaligned_references_external_macro.stderr +++ b/tests/ui/lint/unaligned_references_external_macro.stderr @@ -9,7 +9,8 @@ LL | | } LL | | } | |_^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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: 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/tests/ui/native-library-link-flags/msvc-non-utf8-output.rs b/tests/ui/native-library-link-flags/msvc-non-utf8-output.rs new file mode 100644 index 00000000000..3fb2842d694 --- /dev/null +++ b/tests/ui/native-library-link-flags/msvc-non-utf8-output.rs @@ -0,0 +1,6 @@ +// build-fail +// compile-flags:-C link-arg=märchenhaft +// only-msvc +// error-pattern:= note: LINK : fatal error LNK1181: +// normalize-stderr-test "(\s*\|\n)\s*= note: .*\n" -> "$1" +pub fn main() {} diff --git a/tests/ui/native-library-link-flags/msvc-non-utf8-output.stderr b/tests/ui/native-library-link-flags/msvc-non-utf8-output.stderr new file mode 100644 index 00000000000..f843aad782c --- /dev/null +++ b/tests/ui/native-library-link-flags/msvc-non-utf8-output.stderr @@ -0,0 +1,7 @@ +error: linking with `link.exe` failed: exit code: 1181 + | + = note: LINK : fatal error LNK1181: cannot open input file 'märchenhaft.obj' + + +error: aborting due to previous error + diff --git a/tests/ui/packed/issue-27060.stderr b/tests/ui/packed/issue-27060.stderr index b4753284f72..4dc31a28386 100644 --- a/tests/ui/packed/issue-27060.stderr +++ b/tests/ui/packed/issue-27060.stderr @@ -4,7 +4,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &good.data; | ^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -13,7 +14,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &good.data2[0]; | ^^^^^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -22,7 +24,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &good.data; | ^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -31,7 +34,8 @@ error[E0793]: reference to packed field is unaligned LL | let _ = &good.data2[0]; | ^^^^^^^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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 4 previous errors diff --git a/tests/ui/packed/packed-struct-borrow-element-64bit.stderr b/tests/ui/packed/packed-struct-borrow-element-64bit.stderr index 32943b0f07b..57630a4b470 100644 --- a/tests/ui/packed/packed-struct-borrow-element-64bit.stderr +++ b/tests/ui/packed/packed-struct-borrow-element-64bit.stderr @@ -4,7 +4,8 @@ error[E0793]: reference to packed field is unaligned LL | let brw = &foo.baz; | ^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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 previous error diff --git a/tests/ui/packed/packed-struct-borrow-element.stderr b/tests/ui/packed/packed-struct-borrow-element.stderr index 29d867fc5b9..c1f749d6fbb 100644 --- a/tests/ui/packed/packed-struct-borrow-element.stderr +++ b/tests/ui/packed/packed-struct-borrow-element.stderr @@ -4,7 +4,8 @@ error[E0793]: reference to packed field is unaligned LL | let brw = &foo.baz; | ^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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[E0793]: reference to packed field is unaligned @@ -13,7 +14,8 @@ error[E0793]: reference to packed field is unaligned LL | let brw = &foo.baz; | ^^^^^^^^ | - = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) + = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses + = note: 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 2 previous errors |
