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
bang-after-name.fixed
bang-after-name.rs
bang-after-name.stderr
best-failure.rs
best-failure.stderr
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
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
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
issue-2804-2.rs
issue-2804.rs
issue-5060.rs
issue-6596-1.rs
issue-6596-1.stderr
issue-8709.rs
issue-8851.rs
issue-10536.rs
issue-10536.stderr
issue-16098.rs
issue-16098.stderr
issue-19163.rs
issue-19163.stderr
issue-21356.rs
issue-21356.stderr
issue-22463.rs
issue-25274.rs
issue-25385.rs
issue-25385.stderr
issue-26094.rs
issue-26094.stderr
issue-26322.rs
issue-29084.rs
issue-29084.stderr
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
issue-37175.rs
issue-38715.rs
issue-38715.stderr
issue-39388.rs
issue-39388.stderr
issue-39404.rs
issue-39404.stderr
issue-39467.rs
issue-40469.rs
issue-40770.rs
issue-41776.rs
issue-41776.stderr
issue-41803.rs
issue-42954.fixed
issue-42954.rs
issue-42954.stderr
issue-44127.rs
issue-51848.rs
issue-51848.stderr
issue-52169.rs
issue-54441.rs
issue-54441.stderr
issue-57597.rs
issue-57597.stderr
issue-58490.rs
issue-58490.stderr
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
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
issue-78333.rs
issue-78892-substitution-in-statement-attr.rs
issue-81006.rs
issue-81006.stderr
issue-83340.rs
issue-83340.stderr
issue-83344.rs
issue-83344.stderr
issue-84195-lint-anon-const.rs
issue-84195-lint-anon-const.stderr
issue-84429-matches-edition.rs
issue-84632-eager-expansion-recursion-limit.rs
issue-84632-eager-expansion-recursion-limit.stderr
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
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
issue-102878.rs
issue-102878.stderr
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
issue-106837.rs
issue-106837.stderr
issue-109237.rs
issue-109237.stderr
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
macro_rules-unmatchable-literals.rs
macro_rules-unmatchable-literals.stderr
macro_undefined.rs
macro_undefined.stderr
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
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
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
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
macro-in-expression-context.fixed
macro-in-expression-context.rs
macro-in-expression-context.stderr
macro-in-fn.rs
macro-include-items.rs
macro-inner-attributes.rs
macro-inner-attributes.stderr
macro-input-future-proofing.rs
macro-input-future-proofing.stderr
macro-interpolation.rs
macro-interpolation.stderr
macro-invalid-fragment-spec.rs
macro-invalid-fragment-spec.stderr
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
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
macro-missing-fragment-deduplication.rs
macro-missing-fragment-deduplication.stderr
macro-missing-fragment.rs
macro-missing-fragment.stderr
macro-multiple-items.rs
macro-multiple-matcher-bindings.rs
macro-multiple-matcher-bindings.stderr
macro-name-typo.rs
macro-name-typo.stderr
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
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
macro-parameter-span.rs
macro-parameter-span.stderr
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
macro-path-prelude-fail-3.rs
macro-path-prelude-fail-3.stderr
macro-path-prelude-fail-4.rs
macro-path-prelude-fail-4.stderr
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
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
macro-use-bad-args-2.rs
macro-use-bad-args-2.stderr
macro-use-both.rs
macro-use-one.rs
macro-use-scope.rs
macro-use-undef.rs
macro-use-undef.stderr
macro-use-wrong-name.rs
macro-use-wrong-name.stderr
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
meta-item-absolute-path.rs
meta-item-absolute-path.stderr
meta-variable-depth-outside-repeat.rs
meta-variable-depth-outside-repeat.stderr
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
not-utf8.bin
not-utf8.rs
not-utf8.stderr
out-of-order-shadowing.rs
out-of-order-shadowing.stderr
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
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
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
syntax-error-recovery.stderr
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
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
unreachable-arg.rs
unreachable-fmt-msg.rs
unreachable-format-arg.rs
unreachable-format-args.edition_2015.stderr
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