rust/tests/ui/macros
Matthias Krüger 93d3a4231e
Rollup merge of #118928 - EliseZeroTwo:EliseZeroTwo/fix-issue-118786, r=cjgillot
fix: Overlapping spans in delimited meta-vars

Closes #118786

Delimited meta-vars inside of MBE's spans were set to have the same opening and closing position resulting in an ICE when debug assertions were enabled and an error was present in the templated code.

This ensures that the spans do not overlap, whilst still having the spans point at the usage of the meta-var inside the macro definition.

It includes a regression test.

🖤
2023-12-17 21:29:59 +01:00
..
auxiliary
issue-69838-dir
macro-expanded-include
rfc-2011-nicer-assert-messages
rfc-3086-metavar-expr Attempt to try to resolve blocking concerns 2023-12-01 21:19:22 -03:00
syntax-extension-source-utils-files
ambiguity-legacy-vs-modern.rs
ambiguity-legacy-vs-modern.stderr
assert-as-macro.rs
assert-eq-macro-msg.rs
assert-eq-macro-panic.rs
assert-eq-macro-success.rs
assert-eq-macro-unsized.rs
assert-format-lazy.rs
assert-long-condition.rs
assert-long-condition.run.stderr
assert-macro-explicit.rs
assert-macro-fmt.rs
assert-macro-owned.rs
assert-macro-static.rs
assert-matches-macro-msg.rs
assert-ne-macro-msg.rs
assert-ne-macro-panic.rs
assert-ne-macro-success.rs
assert-ne-macro-unsized.rs
assert-trailing-junk.rs
assert-trailing-junk.with-generic-asset.stderr
assert-trailing-junk.without-generic-asset.stderr
assert.rs
assert.with-generic-asset.stderr
assert.without-generic-asset.stderr
attr-empty-expr.rs
attr-empty-expr.stderr
attr-from-macro.rs
bad_hello.rs
bad_hello.stderr
bad-concat.rs
bad-concat.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
bang-after-name.fixed
bang-after-name.rs
bang-after-name.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
best-failure.rs
best-failure.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
builtin-env-issue-114010.rs
builtin-env-issue-114010.stderr
builtin-prelude-no-accidents.rs
builtin-prelude-no-accidents.stderr
builtin-std-paths-fail.rs
builtin-std-paths-fail.stderr
builtin-std-paths.rs
cfg.rs
cfg.stderr
colorful-write-macros.rs
concat-bytes-error.rs
concat-bytes-error.stderr
concat-bytes.rs
concat-rpass.rs
concat.rs
concat.stderr
conditional-debug-macro-on.rs
cross-crate-pat-span.rs
derive-in-eager-expansion-hang.rs
derive-in-eager-expansion-hang.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
die-macro-2.rs
die-macro-expr.rs
die-macro-pure.rs
die-macro.rs
doc-comment.rs
dollar-crate-nested-encoding.rs
duplicate-builtin.rs
duplicate-builtin.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
edition-macro-pats.rs
empty-trailing-stmt.rs
empty-trailing-stmt.stderr
format-args-temporaries-async.rs
format-args-temporaries-in-write.rs
format-args-temporaries-in-write.stderr
format-args-temporaries.rs
format-foreign.rs
format-foreign.stderr
format-parse-errors.rs
format-parse-errors.stderr
format-unused-lables.rs
format-unused-lables.stderr
global-asm.rs
global-asm.stderr
html-literals.rs
include-single-expr-helper-1.rs
include-single-expr-helper.rs
include-single-expr.rs
include-single-expr.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-2804-2.rs
issue-2804.rs
issue-5060.rs
issue-6596-1.rs
issue-6596-1.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-8709.rs
issue-8851.rs
issue-10536.rs
issue-10536.stderr
issue-16098.rs
issue-16098.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-19163.rs
issue-19163.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-21356.rs
issue-21356.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-22463.rs
issue-25274.rs
issue-25385.rs
issue-25385.stderr
issue-26094.rs
issue-26094.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-26322.rs
issue-29084.rs
issue-29084.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-30143.rs
issue-30143.stderr
issue-33185.rs
issue-34171.rs
issue-34421-mac-expr-bad-stmt-good-add-semi.rs
issue-34421-mac-expr-bad-stmt-good-add-semi.stderr
issue-35450.rs
issue-35450.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-37175.rs
issue-38715.rs
issue-38715.stderr
issue-39388.rs
issue-39388.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-39404.rs
issue-39404.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-39467.rs
issue-40469.rs
issue-40770.rs
issue-41776.rs
issue-41776.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-41803.rs
issue-42954.fixed
issue-42954.rs
issue-42954.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-44127.rs
issue-51848.rs
issue-51848.stderr
issue-52169.rs
issue-54441.rs
issue-54441.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-57597.rs
issue-57597.stderr
issue-58490.rs
issue-58490.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-61033-1.rs
issue-61033-1.stderr
issue-61033-2.rs
issue-61033-2.stderr
issue-61053-different-kleene.rs
issue-61053-different-kleene.stderr
issue-61053-duplicate-binder.rs
issue-61053-duplicate-binder.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-61053-missing-repetition.rs
issue-61053-missing-repetition.stderr
issue-61053-unbound.rs
issue-61053-unbound.stderr
issue-63102.rs
issue-68058.rs
issue-68060.rs
issue-68060.stderr
issue-69396-const-no-type-in-macro.rs
issue-69396-const-no-type-in-macro.stderr
issue-69838-mods-relative-to-included-path.rs
issue-70446.rs
issue-75982-foreign-macro-weird-mod.rs
issue-77475.rs
issue-78325-inconsistent-resolution.rs
issue-78325-inconsistent-resolution.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-78333.rs
issue-78892-substitution-in-statement-attr.rs
issue-81006.rs
issue-81006.stderr
issue-83340.rs
issue-83340.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-83344.rs
issue-83344.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-84195-lint-anon-const.rs
issue-84195-lint-anon-const.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-84429-matches-edition.rs
issue-84632-eager-expansion-recursion-limit.rs
issue-84632-eager-expansion-recursion-limit.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-86082-option-env-invalid-char.rs
issue-86865.rs
issue-86865.stderr
issue-87877.rs
issue-88206.rs
issue-88206.stderr
issue-88228.rs
issue-88228.stderr
issue-92267.rs
issue-92267.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-95267.rs
issue-95533.rs
issue-98466-allow.rs
issue-98466.fixed
issue-98466.rs
issue-98466.stderr
issue-98790.rs
issue-99261.rs
issue-99265.fixed
issue-99265.rs
issue-99265.stderr
issue-99907.fixed
issue-99907.rs
issue-99907.stderr
issue-100199.rs
issue-100199.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-102878.rs
issue-102878.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-103529.rs
issue-103529.stderr
issue-104769-concat_bytes-invalid-literal.rs
issue-104769-concat_bytes-invalid-literal.stderr
issue-105011.rs
issue-105011.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-106837.rs
issue-106837.stderr
issue-109237.rs
issue-109237.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-111749.rs
issue-111749.stderr
issue-112342-1.rs
issue-112342-1.stderr
issue-112342-2.rs
issue-112342-2.stderr
issue-118048.rs dedup for duplicate suggestions 2023-12-04 10:43:10 +08:00
issue-118048.stderr dedup for duplicate suggestions 2023-12-04 10:43:10 +08:00
issue-118786.rs fix: Overlapping spans in delimited meta-vars 2023-12-13 18:46:03 -07:00
issue-118786.stderr fix: Overlapping spans in delimited meta-vars 2023-12-13 18:46:03 -07:00
lint-trailing-macro-call.rs
lint-trailing-macro-call.stderr
local-ambiguity-multiple-parsing-options.rs
local-ambiguity-multiple-parsing-options.stderr
log_syntax-trace_macros-macro-locations.rs
log_syntax-trace_macros-macro-locations.stdout
macro_path_as_generic_bound.rs
macro_path_as_generic_bound.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro_rules-unmatchable-literals.rs
macro_rules-unmatchable-literals.stderr
macro_undefined.rs
macro_undefined.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro_with_super_2.rs
macro-2.rs
macro-as-fn-body.rs
macro-at-most-once-rep-2015-rpass.rs
macro-at-most-once-rep-2015.rs
macro-at-most-once-rep-2015.stderr
macro-at-most-once-rep-2018-rpass.rs
macro-at-most-once-rep-2018.rs
macro-at-most-once-rep-2018.stderr
macro-attribute-expansion.rs
macro-attribute.rs
macro-attribute.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-attributes.rs
macro-backtrace-invalid-internals.rs
macro-backtrace-invalid-internals.stderr
macro-backtrace-nested.rs
macro-backtrace-nested.stderr
macro-backtrace-println.rs
macro-backtrace-println.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-block-nonterminal.rs
macro-comma-behavior-rpass.rs
macro-comma-behavior.core.stderr
macro-comma-behavior.rs
macro-comma-behavior.std.stderr
macro-comma-support-rpass.rs
macro-comma-support.rs
macro-comma-support.stderr
macro-context.rs
macro-context.stderr
macro-crate-def-only.rs
macro-crate-nonterminal-non-root.rs
macro-crate-nonterminal-non-root.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-crate-nonterminal-renamed.rs
macro-crate-nonterminal.rs
macro-crate-use.rs
macro-deep_expansion.rs
macro-def-site-super.rs
macro-delimiter-significance.rs
macro-deprecation.rs
macro-deprecation.stderr
macro-doc-comments.rs
macro-doc-escapes.rs
macro-doc-raw-str-hashes.rs
macro-error.rs
macro-error.stderr
macro-expansion-tests.rs
macro-expansion-tests.stderr
macro-export-inner-module.rs
macro-first-set.rs
macro-follow-rpass.rs
macro-follow.rs
macro-follow.stderr
macro-followed-by-seq-bad.rs
macro-followed-by-seq-bad.stderr
macro-followed-by-seq.rs
macro-in-expression-context-2.rs
macro-in-expression-context-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-in-expression-context.fixed
macro-in-expression-context.rs
macro-in-expression-context.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-in-fn.rs
macro-include-items.rs
macro-inner-attributes.rs
macro-inner-attributes.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-input-future-proofing.rs
macro-input-future-proofing.stderr
macro-interpolation.rs
macro-interpolation.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-invalid-fragment-spec.rs
macro-invalid-fragment-spec.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-invocation-in-count-expr-fixed-array-type.rs
macro-lifetime-used-with-bound.rs
macro-lifetime-used-with-labels.rs
macro-lifetime-used-with-static.rs
macro-lifetime.rs
macro-literal.rs
macro-local-data-key-priv.rs
macro-local-data-key-priv.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-match-nonterminal.rs
macro-match-nonterminal.stderr
macro-meta-items-modern.rs
macro-meta-items.rs
macro-method-issue-4621.rs
macro-missing-delimiters.rs
macro-missing-delimiters.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-missing-fragment-deduplication.rs
macro-missing-fragment-deduplication.stderr
macro-missing-fragment.rs
macro-missing-fragment.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-multiple-items.rs
macro-multiple-matcher-bindings.rs
macro-multiple-matcher-bindings.stderr
macro-name-typo.rs
macro-name-typo.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-named-default.rs
macro-nested_definition_issue-31946.rs
macro-nested_expr.rs
macro-nested_stmt_macros.rs
macro-non-lifetime.rs
macro-non-lifetime.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-nt-list.rs
macro-of-higher-order.rs
macro-or-patterns-back-compat.fixed
macro-or-patterns-back-compat.rs
macro-or-patterns-back-compat.stderr
macro-outer-attributes.rs
macro-outer-attributes.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-parameter-span.rs
macro-parameter-span.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-pat2021-pattern-followed-by-or.rs
macro-pat2021-pattern-followed-by-or.stderr
macro-pat-follow-2018.rs
macro-pat-follow.rs
macro-pat-neg-lit.rs
macro-pat-pattern-followed-by-or-in-2021.rs
macro-pat-pattern-followed-by-or-in-2021.stderr
macro-pat-pattern-followed-by-or.rs
macro-pat.rs
macro-path-prelude-fail-1.rs
macro-path-prelude-fail-1.stderr
macro-path-prelude-fail-2.rs
macro-path-prelude-fail-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-path-prelude-fail-3.rs
macro-path-prelude-fail-3.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-path-prelude-fail-4.rs
macro-path-prelude-fail-4.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-path-prelude-fail-5.rs
macro-path-prelude-fail-5.stderr
macro-path-prelude-pass.rs
macro-path-prelude-shadowing.rs
macro-path-prelude-shadowing.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-path.rs
macro-pub-matcher.rs
macro-reexport-removed.rs
macro-reexport-removed.stderr
macro-seq-followed-by-seq.rs
macro-shadowing-relaxed.rs
macro-shadowing.rs
macro-shadowing.stderr
macro-stability-rpass.rs
macro-stability.rs
macro-stability.stderr
macro-stmt_macro_in_expr_macro.rs
macro-stmt-matchers.rs
macro-stmt.rs
macro-tt-followed-by-seq.rs
macro-tt-matchers.rs
macro-use-all-and-none.rs
macro-use-all-and-none.stderr
macro-use-all.rs
macro-use-bad-args-1.rs
macro-use-bad-args-1.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-use-bad-args-2.rs
macro-use-bad-args-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-use-both.rs
macro-use-one.rs
macro-use-scope.rs
macro-use-undef.rs
macro-use-undef.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-use-wrong-name.rs
macro-use-wrong-name.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
macro-with-attrs1.rs
macro-with-attrs2.rs
macro-with-braces-in-expr-position.rs
macros-in-extern.rs
macros-nonfatal-errors.rs
macros-nonfatal-errors.stderr
malformed_macro_lhs.rs
malformed_macro_lhs.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
meta-item-absolute-path.rs
meta-item-absolute-path.stderr
meta-variable-depth-outside-repeat.rs
meta-variable-depth-outside-repeat.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
meta-variable-misuse.rs
missing-bang-in-decl.fixed
missing-bang-in-decl.rs
missing-bang-in-decl.stderr
missing-comma.rs
missing-comma.stderr
missing-writer.rs
missing-writer.stderr
must-use-in-macro-55516.rs
must-use-in-macro-55516.stderr
nested-use-as.rs
no-std-macros.rs
none-delim-lookahead.rs
nonterminal-matching.rs
nonterminal-matching.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
not-utf8.bin
not-utf8.rs
not-utf8.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
out-of-order-shadowing.rs
out-of-order-shadowing.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
panic-temporaries-2018.rs
panic-temporaries.rs
parse-complex-macro-invoc-op.rs
paths-in-macro-invocations.rs
proc_macro.rs
pub-item-inside-macro.rs
pub-method-inside-macro.rs
recovery-allowed.rs
recovery-allowed.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
recovery-forbidden.rs
restricted-shadowing-legacy.rs
restricted-shadowing-legacy.stderr
restricted-shadowing-modern.rs
restricted-shadowing-modern.stderr
same-sequence-span.rs
same-sequence-span.stderr
semi-after-macro-ty.rs
span-covering-argument-1.rs
span-covering-argument-1.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
stmt_expr_attr_macro_parse.rs
stringify.rs Rollup merge of #118726 - dtolnay:matchguardlet, r=compiler-errors 2023-12-11 20:46:49 +01:00
syntax-error-recovery.rs More detail when expecting expression but encountering bad macro argument 2023-11-16 16:19:04 +00:00
syntax-error-recovery.stderr More detail when expecting expression but encountering bad macro argument 2023-11-16 16:19:04 +00:00
syntax-extension-cfg.rs
syntax-extension-source-utils.rs Improve print_tts by changing tokenstream::Spacing. 2023-12-11 09:19:09 +11:00
trace_faulty_macros.rs More detail when expecting expression but encountering bad macro argument 2023-11-16 16:19:04 +00:00
trace_faulty_macros.stderr Add spacing information to delimiters. 2023-12-11 09:36:40 +11:00
trace_macros-format.rs
trace_macros-format.stderr
trace-macro.rs
trace-macro.stderr Add spacing information to delimiters. 2023-12-11 09:36:40 +11:00
try-macro.rs
two-macro-use.rs
type-macros-hlist.rs
type-macros-simple.rs
typeck-macro-interaction-issue-8852.rs
unimplemented-macro-panic.rs
unknown-builtin.rs
unknown-builtin.stderr
unreachable-arg.edition_2021.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unreachable-arg.rs
unreachable-fmt-msg.rs
unreachable-format-arg.rs
unreachable-format-args.edition_2015.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unreachable-format-args.rs
unreachable-macro-panic.rs
unreachable-static-msg.rs
unreachable.rs
use-macro-self.rs
user-defined-macro-rules.rs
vec-macro-in-pattern.rs
vec-macro-in-pattern.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00