Skip to content

Commit 8e1f8b6

Browse files
committed
Fixed a regression with string completions not being available directly in arguments typed using rest parameter
1 parent e49a15f commit 8e1f8b6

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/services/stringCompletions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ function getStringLiteralCompletionEntries(sourceFile: SourceFile, node: StringL
388388
// Get string literal completions from specialized signatures of the target
389389
// i.e. declare function f(a: 'A');
390390
// f("/*completion position*/")
391-
return argumentInfo && getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) || fromContextualType();
391+
return argumentInfo && getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) || fromContextualType(ContextFlags.None);
392392
}
393393
// falls through (is `require("")` or `require(""` or `import("")`)
394394

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/// <reference path="fourslash.ts" />
2+
// @strict: true
3+
////
4+
//// function fn<T extends ('value1' | 'value2' | 'value3')[]>(...values: T): T { return values; }
5+
////
6+
//// const value1 = fn('/*1*/');
7+
//// const value2 = fn('value1', '/*2*/');
8+
9+
verify.completions({ marker: ["1", "2"], includes: [`value1`, `value2`, `value3`] })

0 commit comments

Comments
 (0)