From c2bf7116051d8aa5d0d3b4d40618d512d7d4d150 Mon Sep 17 00:00:00 2001 From: Michael Staib Date: Tue, 21 Apr 2026 07:43:37 +0000 Subject: [PATCH] Fix variable validation --- .../Core/src/Validation/Rules/VariableVisitor.cs | 4 +++- .../Validation.Tests/NoUnusedVariablesRuleTests.cs | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/HotChocolate/Core/src/Validation/Rules/VariableVisitor.cs b/src/HotChocolate/Core/src/Validation/Rules/VariableVisitor.cs index f35023700ca..126fbd31a63 100644 --- a/src/HotChocolate/Core/src/Validation/Rules/VariableVisitor.cs +++ b/src/HotChocolate/Core/src/Validation/Rules/VariableVisitor.cs @@ -122,7 +122,9 @@ protected override ISyntaxVisitorAction Enter( { if (IntrospectionFields.TypeName.EqualsOrdinal(node.Name.Value)) { - return Skip; + context.OutputFields.Push(TypeNameField); + context.Types.Push(TypeNameField.Type); + return Continue; } if (context.Types.TryPeek(out var type) && diff --git a/src/HotChocolate/Core/test/Validation.Tests/NoUnusedVariablesRuleTests.cs b/src/HotChocolate/Core/test/Validation.Tests/NoUnusedVariablesRuleTests.cs index f54b9f96f68..de6fa52f28d 100644 --- a/src/HotChocolate/Core/test/Validation.Tests/NoUnusedVariablesRuleTests.cs +++ b/src/HotChocolate/Core/test/Validation.Tests/NoUnusedVariablesRuleTests.cs @@ -109,6 +109,20 @@ fragment FragA on Query { "); } + [Fact] + public void VariableUsedByIncludeDirectiveInFragment() + { + ExpectValid( + """ + query Q($v: Boolean!) { + ...F + } + fragment F on Query { + __typename @include(if: $v) + } + """); + } + [Fact] public void MultipleVariablesNotUsed() {