diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b4cd58a5dba78..e0b4004ecb049 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -964,7 +964,7 @@ import { setOriginalNode, setParent, setSyntheticLeadingComments, - setTextRange, + setTextRange as setTextRangeWorker, setTextRangePosEnd, setValueDeclaration, ShorthandPropertyAssignment, @@ -6475,7 +6475,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { typeToTypeNode: (type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => typeToTypeNodeHelper(type, context)), typePredicateToTypePredicateNode: (typePredicate: TypePredicate, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => typePredicateToTypePredicateNodeHelper(typePredicate, context)), expressionOrTypeToTypeNode: (expr: Expression | JsxAttributeValue | undefined, type: Type, addUndefined?: boolean, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => expressionOrTypeToTypeNode(context, expr, type, addUndefined)), - serializeTypeForDeclaration: (type: Type, symbol: Symbol, addUndefined?: boolean, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, addUndefined)), + serializeTypeForDeclaration: (declaration: Declaration, type: Type, symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => serializeTypeForDeclaration(context, declaration, type, symbol)), serializeReturnTypeForSignature: (signature: Signature, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => serializeReturnTypeForSignature(context, signature)), indexInfoToIndexSignatureDeclaration: (indexInfo: IndexInfo, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => indexInfoToIndexSignatureDeclarationHelper(indexInfo, context, /*typeNode*/ undefined)), signatureToSignatureDeclaration: (signature: Signature, kind: SignatureDeclaration["kind"], enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => signatureToSignatureDeclarationHelper(signature, kind, context)), @@ -6488,6 +6488,28 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { symbolToNode: (symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => symbolToNode(symbol, context, meaning)), }; + /** + * Unlike the utilities `setTextRange`, this checks if the `location` we're trying to set on `range` is within the + * same file as the active context. If not, the range is not applied. This prevents us from copying ranges across files, + * which will confuse the node printer (as it assumes all node ranges are within the current file). + * Additionally, if `range` _isn't synthetic_, and isn't in the current file, it will _copy_ it to _remove_ its' position + * information. + * + * It also calls `setOriginalNode` to setup a `.original` pointer, since you basically *always* want these in the node builder. + */ + function setTextRange(context: NodeBuilderContext, range: T, location: Node | undefined): T { + if (!nodeIsSynthesized(range) && !(range.flags & NodeFlags.Synthesized) && (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(range))) { + range = factory.cloneNode(range); + } + if (!location) { + return range; + } + if (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(getOriginalNode(location))) { + return setOriginalNode(range, location); + } + return setTextRangeWorker(setOriginalNode(range, location), location); + } + function expressionOrTypeToTypeNode(context: NodeBuilderContext, expr: Expression | JsxAttributeValue | undefined, type: Type, addUndefined?: boolean) { if (expr) { const typeNode = isAssertionExpression(expr) ? expr.type @@ -6573,6 +6595,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { undefined; const context: NodeBuilderContext = { enclosingDeclaration, + enclosingFile: enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration), flags: flags || NodeBuilderFlags.None, tracker: undefined!, encounteredError: false, @@ -7132,7 +7155,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!nodeIsSynthesized(node) && getParseTreeNode(node) === node) { return node; } - return setTextRange(factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, /*context*/ undefined, deepCloneOrReuseNodes)), node); + return setTextRange(context, factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, /*context*/ undefined, deepCloneOrReuseNodes)), node); } function deepCloneOrReuseNodes( @@ -7145,7 +7168,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (nodes && nodes.length === 0) { // Ensure we explicitly make a copy of an empty array; visitNodes will not do this unless the array has elements, // which can lead to us reusing the same empty NodeArray more than once within the same AST during type noding. - return setTextRange(factory.createNodeArray(/*elements*/ undefined, nodes.hasTrailingComma), nodes); + return setTextRangeWorker(factory.createNodeArray(/*elements*/ undefined, nodes.hasTrailingComma), nodes); } return visitNodes(nodes, visitor, test, start, count); } @@ -7515,7 +7538,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { context.reverseMappedStack ||= []; context.reverseMappedStack.push(propertySymbol as ReverseMappedSymbol); } - propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); + propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, /*declaration*/ undefined, propertyType, propertySymbol) : factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); if (propertyIsReverseMapped) { context.reverseMappedStack!.pop(); } @@ -7932,8 +7955,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const parameterDeclaration = getEffectiveParameterDeclaration(parameterSymbol); const parameterType = getTypeOfSymbol(parameterSymbol); - const addUndefined = parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration); - const parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, addUndefined); + const parameterTypeNode = serializeTypeForDeclaration(context, parameterDeclaration, parameterType, parameterSymbol); const modifiers = !(context.flags & NodeBuilderFlags.OmitParameterModifiers) && preserveModifierFlags && parameterDeclaration && canHaveModifiers(parameterDeclaration) ? map(getModifiers(parameterDeclaration), factory.cloneNode) : undefined; const isRest = parameterDeclaration && isRestParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & CheckFlags.RestParameter; @@ -8589,10 +8611,18 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { /** * Unlike `typeToTypeNodeHelper`, this handles setting up the `AllowUniqueESSymbolType` flag * so a `unique symbol` is returned when appropriate for the input symbol, rather than `typeof sym` + * @param context - The node builder context. Any reused nodes are checked to be pulled from within the scope of the context's enclosingDeclaration. + * @param declaration - The preferred declaration to pull existing type nodes from (the symbol will be used as a fallback to find any annotated declaration) + * @param type - The type to write; an existing annotation must match this type if it's used, otherwise this is the type serialized as a new type node + * @param symbol - The symbol is used both to find an existing annotation if declaration is not provided, and to determine if `unique symbol` should be printed */ - function serializeTypeForDeclaration(context: NodeBuilderContext, type: Type, symbol: Symbol, enclosingDeclaration: Node | undefined, addUndefined?: boolean) { + function serializeTypeForDeclaration(context: NodeBuilderContext, declaration: Declaration | undefined, type: Type, symbol: Symbol) { + const addUndefined = declaration && (isParameter(declaration) || isJSDocParameterTag(declaration)) && requiresAddingImplicitUndefined(declaration); + const enclosingDeclaration = context.enclosingDeclaration; if (!isErrorType(type) && enclosingDeclaration) { - const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration)); + const declWithExistingAnnotation = declaration && getNonlocalEffectiveTypeAnnotationNode(declaration) + ? declaration + : getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration)); if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) { // try to reuse the existing annotation const existing = getNonlocalEffectiveTypeAnnotationNode(declWithExistingAnnotation)!; @@ -8610,7 +8640,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { context.flags |= NodeBuilderFlags.AllowUniqueESSymbolType; } - const decl = symbol.valueDeclaration ?? symbol.declarations?.[0]; + const decl = declaration ?? symbol.valueDeclaration ?? symbol.declarations?.[0]; const expr = decl && isDeclarationWithPossibleInnerTypeNodeReuse(decl) ? getPossibleTypeNodeReuseExpression(decl) : undefined; const result = expressionOrTypeToTypeNode(context, expr, type, addUndefined); @@ -8719,11 +8749,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const type = getDeclaredTypeOfSymbol(sym!); const name = sym!.flags & SymbolFlags.TypeParameter ? typeParameterToName(type, context) : factory.cloneNode(node as Identifier); name.symbol = sym!; // for quickinfo, which uses identifier symbol information - return setTextRange(setEmitFlags(setOriginalNode(name, node), EmitFlags.NoAsciiEscaping), node); + return setTextRange(context, setEmitFlags(name, EmitFlags.NoAsciiEscaping), node); } const updated = visitEachChild(node, c => attachSymbolToLeftmostIdentifier(c), /*context*/ undefined); if (updated !== node) { - setTextRange(updated, node); + setTextRange(context, updated, node); } return updated; } @@ -8742,13 +8772,19 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (hadError) { return undefined; } - return transformed === existing ? setTextRange(factory.cloneNode(existing), existing) : transformed; + return transformed; function visitExistingNodeTreeSymbols(node: Node): Node | undefined { const onExitNewScope = isNewScopeNode(node) ? onEnterNewScope(node) : undefined; const result = visitExistingNodeTreeSymbolsWorker(node); onExitNewScope?.(); - return result; + // We want to clone the subtree, so when we mark it up with __pos and __end in quickfixes, + // we don't get odd behavior because of reused nodes. We also need to clone to _remove_ + // the position information if the node comes from a different file than the one the node builder + // is set to build for (even though we are reusing the node structure, the position information + // would make the printer print invalid spans for literals and identifiers, and the formatter would + // choke on the mismatched positonal spans between a parent and an injected child from another file). + return result === node ? setTextRange(context, factory.cloneNode(result), node) : result; } function onEnterNewScope(node: IntroducesNewScopeNode | ConditionalTypeNode) { @@ -8885,7 +8921,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ) { let visited = visitEachChild(node, visitExistingNodeTreeSymbols, /*context*/ undefined); if (visited === node) { - visited = setTextRange(factory.cloneNode(node), node); + visited = setTextRange(context, factory.cloneNode(node), node); } (visited as Mutable).type = factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); if (isParameter(node)) { @@ -8906,11 +8942,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (isTupleTypeNode(node) || isTypeLiteralNode(node) || isMappedTypeNode(node)) { const visited = visitEachChild(node, visitExistingNodeTreeSymbols, /*context*/ undefined); - const clone = setTextRange(visited === node ? factory.cloneNode(node) : visited, node); + const clone = setTextRange(context, visited === node ? factory.cloneNode(node) : visited, node); const flags = getEmitFlags(clone); setEmitFlags(clone, flags | (context.flags & NodeBuilderFlags.MultilineObjectLiterals && isTypeLiteralNode(node) ? 0 : EmitFlags.SingleLine)); return clone; } + if (isStringLiteral(node) && !!(context.flags & NodeBuilderFlags.UseSingleQuotesForStringLiteralType) && !node.singleQuote) { + const clone = factory.cloneNode(node); + (clone as Mutable).singleQuote = true; + return clone; + } if (isConditionalTypeNode(node)) { const checkType = visitNode(node.checkType, visitExistingNodeTreeSymbols, isTypeNode)!; @@ -9341,10 +9382,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } else { const statement = setTextRange( + context, factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(name, /*exclamationToken*/ undefined, serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration)), + factory.createVariableDeclaration(name, /*exclamationToken*/ undefined, serializeTypeForDeclaration(context, /*declaration*/ undefined, type, symbol)), ], flags), ), textRange, @@ -9639,7 +9681,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { for (const sig of signatures) { // Each overload becomes a separate function declaration, in order const decl = signatureToSignatureDeclarationHelper(sig, SyntaxKind.FunctionDeclaration, context, { name: factory.createIdentifier(localName) }) as FunctionDeclaration; - addResult(setTextRange(decl, getSignatureTextRangeLocation(sig)), modifierFlags); + addResult(setTextRange(context, decl, getSignatureTextRangeLocation(sig)), modifierFlags); } // Module symbol emit will take care of module-y members, provided it has exports if (!(symbol.flags & (SymbolFlags.ValueModule | SymbolFlags.NamespaceModule) && !!symbol.exports && !!symbol.exports.size)) { @@ -9821,6 +9863,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { context.enclosingDeclaration = oldEnclosing; addResult( setTextRange( + context, factory.createClassDeclaration( /*modifiers*/ undefined, localName, @@ -10169,7 +10212,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const statement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(varName, /*exclamationToken*/ undefined, serializeTypeForDeclaration(context, typeToSerialize, symbol, enclosingDeclaration)), + factory.createVariableDeclaration(varName, /*exclamationToken*/ undefined, serializeTypeForDeclaration(context, /*declaration*/ undefined, typeToSerialize, symbol)), ], flags), ); // Inlined JSON types exported with [module.]exports= will already emit an export=, so should use `declare`. @@ -10297,6 +10340,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const paramSymbol = isFunctionLikeDeclaration(setter) ? getSignatureFromDeclaration(setter).parameters[0] : undefined; result.push(setTextRange( + context, factory.createSetAccessorDeclaration( factory.createModifiersFromModifierFlags(flag), name, @@ -10305,7 +10349,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { /*dotDotDotToken*/ undefined, paramSymbol ? parameterToParameterDeclarationName(paramSymbol, getEffectiveParameterDeclaration(paramSymbol), context) : "value", /*questionToken*/ undefined, - isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration), + isPrivate ? undefined : serializeTypeForDeclaration(context, /*declaration*/ undefined, getTypeOfSymbol(p), p), )], /*body*/ undefined, ), @@ -10315,11 +10359,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (p.flags & SymbolFlags.GetAccessor) { const isPrivate = modifierFlags & ModifierFlags.Private; result.push(setTextRange( + context, factory.createGetAccessorDeclaration( factory.createModifiersFromModifierFlags(flag), name, [], - isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration), + isPrivate ? undefined : serializeTypeForDeclaration(context, /*declaration*/ undefined, getTypeOfSymbol(p), p), /*body*/ undefined, ), p.declarations?.find(isGetAccessor) || firstPropertyLikeDecl, @@ -10331,11 +10376,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // If this happens, we assume the accessor takes priority, as it imposes more constraints else if (p.flags & (SymbolFlags.Property | SymbolFlags.Variable | SymbolFlags.Accessor)) { return setTextRange( + context, createProperty( factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? ModifierFlags.Readonly : 0) | flag), name, p.flags & SymbolFlags.Optional ? factory.createToken(SyntaxKind.QuestionToken) : undefined, - isPrivate ? undefined : serializeTypeForDeclaration(context, getWriteTypeOfSymbol(p), p, enclosingDeclaration), + isPrivate ? undefined : serializeTypeForDeclaration(context, /*declaration*/ undefined, getWriteTypeOfSymbol(p), p), // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357 // interface members can't have initializers, however class members _can_ /*initializer*/ undefined, @@ -10348,6 +10394,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const signatures = getSignaturesOfType(type, SignatureKind.Call); if (flag & ModifierFlags.Private) { return setTextRange( + context, createProperty( factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? ModifierFlags.Readonly : 0) | flag), name, @@ -10373,7 +10420,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { }, ); const location = sig.declaration && isPrototypePropertyAssignment(sig.declaration.parent) ? sig.declaration.parent : sig.declaration; - results.push(setTextRange(decl, location)); + results.push(setTextRange(context, decl, location)); } return results as unknown as T[]; } @@ -10419,6 +10466,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } if (privateProtected) { return [setTextRange( + context, factory.createConstructorDeclaration( factory.createModifiersFromModifierFlags(privateProtected), /*parameters*/ [], @@ -10433,7 +10481,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { for (const sig of signatures) { // Each overload becomes a separate constructor declaration, in order const decl = signatureToSignatureDeclarationHelper(sig, outputKind, context); - results.push(setTextRange(decl, sig.declaration)); + results.push(setTextRange(context, decl, sig.declaration)); } return results; } @@ -11073,9 +11121,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (parentAccess && canHaveFlowNode(parentAccess) && parentAccess.flowNode) { const propName = getDestructuringPropertyName(node); if (propName) { - const literal = setTextRange(parseNodeFactory.createStringLiteral(propName), node); + const literal = setTextRangeWorker(parseNodeFactory.createStringLiteral(propName), node); const lhsExpr = isLeftHandSideExpression(parentAccess) ? parentAccess : parseNodeFactory.createParenthesizedExpression(parentAccess); - const result = setTextRange(parseNodeFactory.createElementAccessExpression(lhsExpr, literal), node); + const result = setTextRangeWorker(parseNodeFactory.createElementAccessExpression(lhsExpr, literal), node); setParent(literal, result); setParent(result, node); if (lhsExpr !== parentAccess) { @@ -34724,7 +34772,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function createSyntheticExpression(parent: Node, type: Type, isSpread?: boolean, tupleNameSource?: ParameterDeclaration | NamedTupleMember) { const result = parseNodeFactory.createSyntheticExpression(type, isSpread, tupleNameSource); - setTextRange(result, parent); + setTextRangeWorker(result, parent); setParent(result, parent); return result; } @@ -48648,12 +48696,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return false; } - function declaredParameterTypeContainsUndefined(parameter: ParameterDeclaration) { - if (!parameter.type) return false; - const type = getTypeFromTypeNode(parameter.type); + function declaredParameterTypeContainsUndefined(parameter: ParameterDeclaration | JSDocParameterTag) { + const typeNode = getNonlocalEffectiveTypeAnnotationNode(parameter); + if (!typeNode) return false; + const type = getTypeFromTypeNode(typeNode); return containsUndefinedType(type); } - function requiresAddingImplicitUndefined(parameter: ParameterDeclaration) { + function requiresAddingImplicitUndefined(parameter: ParameterDeclaration | JSDocParameterTag) { return (isRequiredInitializedParameter(parameter) || isOptionalUninitializedParameterProperty(parameter)) && !declaredParameterTypeContainsUndefined(parameter); } @@ -48665,10 +48714,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { !hasSyntacticModifier(parameter, ModifierFlags.ParameterPropertyModifier); } - function isOptionalUninitializedParameterProperty(parameter: ParameterDeclaration) { + function isOptionalUninitializedParameterProperty(parameter: ParameterDeclaration | JSDocParameterTag) { return strictNullChecks && isOptionalParameter(parameter) && - !parameter.initializer && + (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, ModifierFlags.ParameterPropertyModifier); } @@ -48819,7 +48868,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } - function createTypeOfDeclaration(declarationIn: AccessorDeclaration | VariableLikeDeclaration | PropertyAccessExpression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker, addUndefined?: boolean) { + function createTypeOfDeclaration(declarationIn: AccessorDeclaration | VariableLikeDeclaration | PropertyAccessExpression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker) { const declaration = getParseTreeNode(declarationIn, isVariableLikeOrAccessor); if (!declaration) { return factory.createToken(SyntaxKind.AnyKeyword) as KeywordTypeNode; @@ -48830,7 +48879,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; - return nodeBuilder.serializeTypeForDeclaration(type, symbol, addUndefined, enclosingDeclaration, flags | NodeBuilderFlags.MultilineObjectLiterals, tracker); + return nodeBuilder.serializeTypeForDeclaration(declaration, type, symbol, enclosingDeclaration, flags | NodeBuilderFlags.MultilineObjectLiterals, tracker); } type DeclarationWithPotentialInnerNodeReuse = @@ -51454,6 +51503,15 @@ function createBasicNodeBuilderModuleSpecifierResolutionHost(host: TypeCheckerHo interface NodeBuilderContext { enclosingDeclaration: Node | undefined; + /** + * `enclosingFile` is generated from the initial `enclosingDeclaration` and + * is used to ensure text ranges for generated nodes are not set based on nodes from outside + * the original input's containing file. Checking the `enclosingDeclaration` at the time of + * `setTextRange` is not sufficient, as the `enclosingDeclaration` is modified by the node builder + * as it decends into some types as a shortcut to making certain scopes visible, and may be modified + * into a declaration in a different file from the original input `enclosingDeclaration`! + */ + enclosingFile: SourceFile | undefined; flags: NodeBuilderFlags; tracker: SymbolTrackerImpl; diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index c35053570536e..c73aa688ae56a 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -638,7 +638,7 @@ export function transformDeclarations(context: TransformationContext) { case SyntaxKind.PropertyDeclaration: case SyntaxKind.BindingElement: case SyntaxKind.VariableDeclaration: - typeNode = resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldAddImplicitUndefined); + typeNode = resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker); break; case SyntaxKind.FunctionDeclaration: case SyntaxKind.ConstructSignature: diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 412686d00f48a..54c65f2e0c727 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5653,7 +5653,7 @@ export interface EmitResolver { requiresAddingImplicitUndefined(node: ParameterDeclaration): boolean; isExpandoFunctionDeclaration(node: FunctionDeclaration): boolean; getPropertiesOfContainerFunction(node: Declaration): Symbol[]; - createTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration | PropertyAccessExpression | ElementAccessExpression | BinaryExpression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker, addUndefined?: boolean): TypeNode | undefined; + createTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration | PropertyAccessExpression | ElementAccessExpression | BinaryExpression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker): TypeNode | undefined; createReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker): TypeNode | undefined; createTypeOfExpression(expr: Expression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker): TypeNode | undefined; createLiteralConstValue(node: VariableDeclaration | PropertyDeclaration | PropertySignature | ParameterDeclaration, tracker: SymbolTracker): Expression; diff --git a/tests/baselines/reference/1.0lib-noErrors.types b/tests/baselines/reference/1.0lib-noErrors.types index bf351cf1d19fb..54d41fe4a6a94 100644 --- a/tests/baselines/reference/1.0lib-noErrors.types +++ b/tests/baselines/reference/1.0lib-noErrors.types @@ -532,7 +532,7 @@ interface String { */ match(regexp: string): string[]; >match : { (regexp: string): string[]; (regexp: RegExp): string[]; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ >regexp : string > : ^^^^^^ @@ -542,7 +542,7 @@ interface String { */ match(regexp: RegExp): string[]; >match : { (regexp: string): string[]; (regexp: RegExp): string[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ @@ -553,7 +553,7 @@ interface String { */ replace(searchValue: string, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >searchValue : string > : ^^^^^^ >replaceValue : string @@ -566,7 +566,7 @@ interface String { */ replace(searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >searchValue : string > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -583,7 +583,7 @@ interface String { */ replace(searchValue: RegExp, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : string @@ -596,7 +596,7 @@ interface String { */ replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -612,7 +612,7 @@ interface String { */ search(regexp: string): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >regexp : string > : ^^^^^^ @@ -622,7 +622,7 @@ interface String { */ search(regexp: RegExp): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ @@ -647,7 +647,7 @@ interface String { */ split(separator: string, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ >separator : string > : ^^^^^^ >limit : number @@ -660,7 +660,7 @@ interface String { */ split(separator: RegExp, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : RegExp > : ^^^^^^ >limit : number @@ -1590,13 +1590,13 @@ interface RegExpExecArray { splice(start: number): string[]; >splice : { (start: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ >start : number > : ^^^^^^ splice(start: number, deleteCount: number, ...items: string[]): string[]; >splice : { (start: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ >deleteCount : number @@ -1990,7 +1990,7 @@ interface JSON { */ stringify(value: any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >value : any /** @@ -2000,7 +2000,7 @@ interface JSON { */ stringify(value: any, replacer: (key: string, value: any) => any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >value : any >replacer : (key: string, value: any) => any > : ^ ^^ ^^ ^^ ^^^^^ @@ -2015,7 +2015,7 @@ interface JSON { */ stringify(value: any, replacer: any[]): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >value : any >replacer : any[] > : ^^^^^ @@ -2028,7 +2028,7 @@ interface JSON { */ stringify(value: any, replacer: (key: string, value: any) => any, space: any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >value : any >replacer : (key: string, value: any) => any > : ^ ^^ ^^ ^^ ^^^^^ @@ -2045,7 +2045,7 @@ interface JSON { */ stringify(value: any, replacer: any[], space: any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any >replacer : any[] > : ^^^^^ @@ -2081,7 +2081,7 @@ interface Array { */ concat(...items: U[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^ >items : U[] > : ^^^ @@ -2091,7 +2091,7 @@ interface Array { */ concat(...items: T[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >items : T[] > : ^^^ @@ -2169,7 +2169,7 @@ interface Array { */ splice(start: number): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >start : number > : ^^^^^^ @@ -2181,7 +2181,7 @@ interface Array { */ splice(start: number, deleteCount: number, ...items: T[]): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ >deleteCount : number @@ -2322,7 +2322,7 @@ interface Array { */ reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -2343,7 +2343,7 @@ interface Array { */ reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U @@ -2364,7 +2364,7 @@ interface Array { */ reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -2385,7 +2385,7 @@ interface Array { */ reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U diff --git a/tests/baselines/reference/2dArrays.types b/tests/baselines/reference/2dArrays.types index 304f5ed325bca..ce8614e1597ee 100644 --- a/tests/baselines/reference/2dArrays.types +++ b/tests/baselines/reference/2dArrays.types @@ -35,7 +35,7 @@ class Board { >this.ships.every(function (val) { return val.isSunk; }) : boolean > : ^^^^^^^ >this.ships.every : { (predicate: (value: Ship, index: number, array: Ship[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Ship, index: number, array: Ship[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >this.ships : Ship[] > : ^^^^^^ >this : this @@ -43,7 +43,7 @@ class Board { >ships : Ship[] > : ^^^^^^ >every : { (predicate: (value: Ship, index: number, array: Ship[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Ship, index: number, array: Ship[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >function (val) { return val.isSunk; } : (val: Ship) => boolean > : ^ ^^^^^^^^^^^^^^^^^^ >val : Ship diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.types b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.types index 095c258c99e78..dab3a189612fd 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.types @@ -39,11 +39,11 @@ module clodule { >clodule.sfn('a') : number > : ^^^^^^ >clodule.sfn : (id: string) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >clodule : typeof clodule > : ^^^^^^^^^^^^^^ >sfn : (id: string) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >'a' : "a" > : ^^^ } diff --git a/tests/baselines/reference/ES5For-of1.types b/tests/baselines/reference/ES5For-of1.types index ef260b0c2a7b6..19c89e862f85b 100644 --- a/tests/baselines/reference/ES5For-of1.types +++ b/tests/baselines/reference/ES5For-of1.types @@ -17,11 +17,11 @@ for (var v of ['a', 'b', 'c']) { >console.log(v) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >v : string > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of22.types b/tests/baselines/reference/ES5For-of22.types index c0757fbd3569f..31969c20e73ca 100644 --- a/tests/baselines/reference/ES5For-of22.types +++ b/tests/baselines/reference/ES5For-of22.types @@ -23,11 +23,11 @@ for (var x of [1, 2, 3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of23.types b/tests/baselines/reference/ES5For-of23.types index 1a7ed094a8723..11c58f1a1fd2f 100644 --- a/tests/baselines/reference/ES5For-of23.types +++ b/tests/baselines/reference/ES5For-of23.types @@ -23,11 +23,11 @@ for (var x of [1, 2, 3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of33.types b/tests/baselines/reference/ES5For-of33.types index 415416ea4f9c1..22515744ce282 100644 --- a/tests/baselines/reference/ES5For-of33.types +++ b/tests/baselines/reference/ES5For-of33.types @@ -17,11 +17,11 @@ for (var v of ['a', 'b', 'c']) { >console.log(v) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >v : string > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of37.types b/tests/baselines/reference/ES5For-of37.types index 798cafd1d45d9..7b98595802d01 100644 --- a/tests/baselines/reference/ES5For-of37.types +++ b/tests/baselines/reference/ES5For-of37.types @@ -54,11 +54,11 @@ for (const i of [0, 1, 2, 3, 4]) { >console.log(i) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >i : number > : ^^^^^^ @@ -69,11 +69,11 @@ for (const i of [0, 1, 2, 3, 4]) { >console.log('E %s %s', i, err) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >'E %s %s' : "E %s %s" > : ^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types index adb934b99ddc8..1862adfdd7db7 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types @@ -55,13 +55,13 @@ var fn: (s: string) => boolean; var fn = A.fn; >fn : (s: string) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >A.fn : (s: string) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >A : typeof A > : ^^^^^^^^ >fn : (s: string) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ var fng: (s: T) => U; >fng : (s: T) => U @@ -71,13 +71,13 @@ var fng: (s: T) => U; var fng = A.fng; // bug 838015 >fng : (s: T) => U -> : ^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^^ >A.fng : (s: T) => U -> : ^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^^ >A : typeof A > : ^^^^^^^^ >fng : (s: T) => U -> : ^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^^ // these should be errors since the functions are not exported var fn2 = A.fn2; diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types index 210404be8bcf0..b30a2f7115cb6 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types @@ -91,7 +91,7 @@ var l: { new (s: A.Point, e: A.Point); } var l: X.Y.Z.Line; >l : new (s: A.Point, e: A.Point) => any -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ >X : any > : ^^^ >Y : any diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types index cb9adcbd3f79f..7b8940fedd9d3 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types @@ -123,7 +123,7 @@ var o = A.Utils.mirror(o); >A.Utils.mirror(o) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Utils.mirror : (p: T) => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Utils : typeof A.Utils > : ^^^^^^^^^^^^^^ >A : typeof A @@ -131,7 +131,7 @@ var o = A.Utils.mirror(o); >Utils : typeof A.Utils > : ^^^^^^^^^^^^^^ >mirror : (p: T) => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types index 4ef9391135723..ccba346ff85f6 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types @@ -103,7 +103,7 @@ var l: { start: A.Point; end: A.Point; new (s: A.Point, e: A.Point); } var l: X.Y.Z.Line; >l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; } -> : ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >X : any > : ^^^ >Y : any diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types index 1465ea44c87ab..c4332745638ba 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types @@ -117,7 +117,7 @@ var o = A.Utils.mirror(o); >A.Utils.mirror(o) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Utils.mirror : (p: T) => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Utils : typeof A.Utils > : ^^^^^^^^^^^^^^ >A : typeof A @@ -125,7 +125,7 @@ var o = A.Utils.mirror(o); >Utils : typeof A.Utils > : ^^^^^^^^^^^^^^ >mirror : (p: T) => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/abstractClassUnionInstantiation.types b/tests/baselines/reference/abstractClassUnionInstantiation.types index 206525c5da75d..7780977a92b52 100644 --- a/tests/baselines/reference/abstractClassUnionInstantiation.types +++ b/tests/baselines/reference/abstractClassUnionInstantiation.types @@ -75,7 +75,7 @@ new cls3(); // should work >[ConcreteA, AbstractA, AbstractB].map(cls => new cls()) : any[] > : ^^^^^ >[ConcreteA, AbstractA, AbstractB].map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >[ConcreteA, AbstractA, AbstractB] : (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ConcreteA : typeof ConcreteA @@ -85,7 +85,7 @@ new cls3(); // should work >AbstractB : typeof AbstractB > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >cls => new cls() : (cls: typeof ConcreteA | typeof AbstractA | typeof AbstractB) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof ConcreteA | typeof AbstractA | typeof AbstractB @@ -99,7 +99,7 @@ new cls3(); // should work >[AbstractA, AbstractB, ConcreteA].map(cls => new cls()) : any[] > : ^^^^^ >[AbstractA, AbstractB, ConcreteA].map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >[AbstractA, AbstractB, ConcreteA] : (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >AbstractA : typeof AbstractA @@ -109,7 +109,7 @@ new cls3(); // should work >ConcreteA : typeof ConcreteA > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >cls => new cls() : (cls: typeof ConcreteA | typeof AbstractA | typeof AbstractB) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof ConcreteA | typeof AbstractA | typeof AbstractB @@ -123,7 +123,7 @@ new cls3(); // should work >[ConcreteA, ConcreteB].map(cls => new cls()) : ConcreteA[] > : ^^^^^^^^^^^ >[ConcreteA, ConcreteB].map : (callbackfn: (value: typeof ConcreteA, index: number, array: (typeof ConcreteA)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >[ConcreteA, ConcreteB] : (typeof ConcreteA)[] > : ^^^^^^^^^^^^^^^^^^^^ >ConcreteA : typeof ConcreteA @@ -131,7 +131,7 @@ new cls3(); // should work >ConcreteB : typeof ConcreteB > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof ConcreteA, index: number, array: (typeof ConcreteA)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >cls => new cls() : (cls: typeof ConcreteA) => ConcreteA > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof ConcreteA @@ -145,7 +145,7 @@ new cls3(); // should work >[AbstractA, AbstractB].map(cls => new cls()) : any[] > : ^^^^^ >[AbstractA, AbstractB].map : (callbackfn: (value: typeof AbstractA | typeof AbstractB, index: number, array: (typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >[AbstractA, AbstractB] : (typeof AbstractA | typeof AbstractB)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >AbstractA : typeof AbstractA @@ -153,7 +153,7 @@ new cls3(); // should work >AbstractB : typeof AbstractB > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof AbstractA | typeof AbstractB, index: number, array: (typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >cls => new cls() : (cls: typeof AbstractA | typeof AbstractB) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof AbstractA | typeof AbstractB diff --git a/tests/baselines/reference/abstractProperty(target=es2015).types b/tests/baselines/reference/abstractProperty(target=es2015).types index 376b88aefdf4c..eaf2ddcd5813b 100644 --- a/tests/baselines/reference/abstractProperty(target=es2015).types +++ b/tests/baselines/reference/abstractProperty(target=es2015).types @@ -17,11 +17,11 @@ abstract class A { >console.log(this.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >this.x : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/abstractProperty(target=esnext).types b/tests/baselines/reference/abstractProperty(target=esnext).types index 376b88aefdf4c..eaf2ddcd5813b 100644 --- a/tests/baselines/reference/abstractProperty(target=esnext).types +++ b/tests/baselines/reference/abstractProperty(target=esnext).types @@ -17,11 +17,11 @@ abstract class A { >console.log(this.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >this.x : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/abstractPropertyInConstructor.types b/tests/baselines/reference/abstractPropertyInConstructor.types index 82fddbafa6983..ae847a4880d36 100644 --- a/tests/baselines/reference/abstractPropertyInConstructor.types +++ b/tests/baselines/reference/abstractPropertyInConstructor.types @@ -15,15 +15,15 @@ abstract class AbstractClass { >this.method(parseInt(str)) : void > : ^^^^ >this.method : (num: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >method : (num: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >parseInt(str) : number > : ^^^^^^ >parseInt : (string: string, radix?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >str : string > : ^^^^^^ @@ -65,11 +65,11 @@ abstract class AbstractClass { >this.cb(str) : void > : ^^^^ >this.cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >str : string > : ^^^^^^ @@ -94,11 +94,11 @@ abstract class AbstractClass { >other.cb(other.prop) : void > : ^^^^ >other.cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >other : AbstractClass > : ^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >other.prop : string > : ^^^^^^ >other : AbstractClass @@ -208,11 +208,11 @@ abstract class DerivedAbstractClass extends AbstractClass { >this.cb(this.prop.toLowerCase()) : void > : ^^^^ >this.cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this.prop.toLowerCase() : string > : ^^^^^^ >this.prop.toLowerCase : () => string @@ -230,11 +230,11 @@ abstract class DerivedAbstractClass extends AbstractClass { >this.method(1) : void > : ^^^^ >this.method : (num: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >method : (num: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -243,11 +243,11 @@ abstract class DerivedAbstractClass extends AbstractClass { >other.cb(other.prop) : void > : ^^^^ >other.cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >other : AbstractClass > : ^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >other.prop : string > : ^^^^^^ >other : AbstractClass @@ -259,11 +259,11 @@ abstract class DerivedAbstractClass extends AbstractClass { >yetAnother.cb(yetAnother.prop) : void > : ^^^^ >yetAnother.cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >yetAnother : DerivedAbstractClass > : ^^^^^^^^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >yetAnother.prop : string > : ^^^^^^ >yetAnother : DerivedAbstractClass @@ -317,11 +317,11 @@ class Implementation extends DerivedAbstractClass { >this.cb(this.prop) : void > : ^^^^ >this.cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this.prop : string > : ^^^^^^ >this : this @@ -340,11 +340,11 @@ class Implementation extends DerivedAbstractClass { >this.cb(this.prop + n) : void > : ^^^^ >this.cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this.prop + n : string > : ^^^^^^ >this.prop : string @@ -378,11 +378,11 @@ class User { >a.cb("hi") : void > : ^^^^ >a.cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a : AbstractClass > : ^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >"hi" : "hi" > : ^^^^ @@ -390,11 +390,11 @@ class User { >a.method(12) : void > : ^^^^ >a.method : (num: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a : AbstractClass > : ^^^^^^^^^^^^^ >method : (num: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >12 : 12 > : ^^ diff --git a/tests/baselines/reference/acceptSymbolAsWeakType.types b/tests/baselines/reference/acceptSymbolAsWeakType.types index 7337521857fb1..dee19abb1c2a0 100644 --- a/tests/baselines/reference/acceptSymbolAsWeakType.types +++ b/tests/baselines/reference/acceptSymbolAsWeakType.types @@ -158,12 +158,12 @@ const f = new FinalizationRegistry(() => {}); f.register(s, null); >f.register(s, null) : void > : ^^^^ ->f.register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey | undefined) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f.register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey | undefined) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -171,11 +171,11 @@ f.unregister(s); >f.unregister(s) : void > : ^^^^ >f.unregister : (unregisterToken: WeakKey) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unregister : (unregisterToken: WeakKey) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >s : symbol > : ^^^^^^ diff --git a/tests/baselines/reference/accessorsAreNotContextuallyTyped.types b/tests/baselines/reference/accessorsAreNotContextuallyTyped.types index 9671624c10a1a..09e62e501fb9e 100644 --- a/tests/baselines/reference/accessorsAreNotContextuallyTyped.types +++ b/tests/baselines/reference/accessorsAreNotContextuallyTyped.types @@ -18,7 +18,7 @@ class C { get x() { >x : (a: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ return (x: string) => ""; >(x: string) => "" : (x: string) => string @@ -40,11 +40,11 @@ var r = c.x(''); // string >c.x('') : string > : ^^^^^^ >c.x : (a: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >c : C > : ^ >x : (a: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/accessorsOverrideProperty2.types b/tests/baselines/reference/accessorsOverrideProperty2.types index 166bbc831ae3b..ff2232b1569db 100644 --- a/tests/baselines/reference/accessorsOverrideProperty2.types +++ b/tests/baselines/reference/accessorsOverrideProperty2.types @@ -32,11 +32,11 @@ class Derived extends Base { >console.log(`x was set to ${value}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >`x was set to ${value}` : string > : ^^^^^^ >value : number @@ -55,11 +55,11 @@ console.log(obj.x); // number >console.log(obj.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >obj.x : number > : ^^^^^^ >obj : Derived diff --git a/tests/baselines/reference/accessorsOverrideProperty8.types b/tests/baselines/reference/accessorsOverrideProperty8.types index b4be001ae109e..c40d1d47cb18d 100644 --- a/tests/baselines/reference/accessorsOverrideProperty8.types +++ b/tests/baselines/reference/accessorsOverrideProperty8.types @@ -43,7 +43,7 @@ const Base = classWithProperties({ >classWithProperties({ get x() { return 'boolean' as const }, y: 'string',}, class Base {}) : { new (): Base & Properties<{ readonly x: "boolean"; y: "string"; }>; prototype: Base & Properties<{ readonly x: "boolean"; y: "string"; }>; } > : >classWithProperties : (properties: T, klass: AnyCtor

) => { new (): P & Properties; prototype: P & Properties; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ get x() { return 'boolean' as const }, y: 'string',} : { readonly x: "boolean"; y: "string"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/accessorsOverrideProperty9.types b/tests/baselines/reference/accessorsOverrideProperty9.types index 56c282c50715e..3a0192383ca9e 100644 --- a/tests/baselines/reference/accessorsOverrideProperty9.types +++ b/tests/baselines/reference/accessorsOverrideProperty9.types @@ -92,7 +92,7 @@ function ApiItemContainerMixin( return MixedClass; >MixedClass : ((abstract new (...args: any[]) => MixedClass) & { prototype: ApiItemContainerMixin.MixedClass; }) & TBaseClass -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } // Subclass inheriting from mixin @@ -102,7 +102,7 @@ export class ApiEnum extends ApiItemContainerMixin(ApiItem) { >ApiItemContainerMixin(ApiItem) : ApiItem & ApiItemContainerMixin > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ApiItemContainerMixin : (baseClass: TBaseClass) => TBaseClass & (new (...args: any[]) => ApiItemContainerMixin) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ApiItem : typeof ApiItem > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/aliasOnMergedModuleInterface.types b/tests/baselines/reference/aliasOnMergedModuleInterface.types index 4377cb3d78a46..66f175425ae42 100644 --- a/tests/baselines/reference/aliasOnMergedModuleInterface.types +++ b/tests/baselines/reference/aliasOnMergedModuleInterface.types @@ -14,11 +14,11 @@ z.bar("hello"); // This should be ok >z.bar("hello") : foo.A > : ^^^^^ >z.bar : (name: string) => foo.A -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ >z : foo > : ^^^ >bar : (name: string) => foo.A -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/aliasUsageInFunctionExpression.types b/tests/baselines/reference/aliasUsageInFunctionExpression.types index e50e47c8ca411..be160b88054c5 100644 --- a/tests/baselines/reference/aliasUsageInFunctionExpression.types +++ b/tests/baselines/reference/aliasUsageInFunctionExpression.types @@ -34,7 +34,7 @@ f = (x) => moduleA; >f = (x) => moduleA : (x: IHasVisualizationModel) => typeof moduleA > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (x: IHasVisualizationModel) => IHasVisualizationModel -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x) => moduleA : (x: IHasVisualizationModel) => typeof moduleA > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : IHasVisualizationModel diff --git a/tests/baselines/reference/aliasUsageInGenericFunction.types b/tests/baselines/reference/aliasUsageInGenericFunction.types index b26584ba8d2ef..bf7845ec340ec 100644 --- a/tests/baselines/reference/aliasUsageInGenericFunction.types +++ b/tests/baselines/reference/aliasUsageInGenericFunction.types @@ -38,7 +38,7 @@ var r = foo({ a: moduleA }); >foo({ a: moduleA }) : { a: typeof moduleA; } > : >foo : (x: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >{ a: moduleA } : { a: typeof moduleA; } > : ^^^^^^^^^^^^^^^^^^^^^^ >a : typeof moduleA @@ -52,7 +52,7 @@ var r2 = foo({ a: null }); >foo({ a: null }) : { a: IHasVisualizationModel; } > : >foo : (x: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >{ a: null } : { a: IHasVisualizationModel; } > : ^^^^^ ^^^ >a : IHasVisualizationModel diff --git a/tests/baselines/reference/aliasUsedAsNameValue.types b/tests/baselines/reference/aliasUsedAsNameValue.types index e9e7e21b1958b..861a0ab763222 100644 --- a/tests/baselines/reference/aliasUsedAsNameValue.types +++ b/tests/baselines/reference/aliasUsedAsNameValue.types @@ -21,11 +21,11 @@ export var a = function () { b.b(mod); >b.b(mod) : any >b.b : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >b : typeof b > : ^^^^^^^^ >b : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >mod : typeof mod > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types index d8d7c6e39cb56..5f91fdfc441f7 100644 --- a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types +++ b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types @@ -20,7 +20,7 @@ declare function extend(options: ComponentOptions<{}>): void; export var vextend = extend; >vextend : (options: ComponentOptions<{}>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >extend : (options: ComponentOptions<{}>) => void > : diff --git a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types index 934812e014b7b..5cda0d73e088f 100644 --- a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types +++ b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types @@ -11,14 +11,14 @@ declare class C { foo(n: number): any; >foo : { (n: number): any; (n: number): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >n : number > : ^^^^^^ } interface C { foo(n: number): any; >foo : { (n: number): any; (n: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/ambientConstLiterals.types b/tests/baselines/reference/ambientConstLiterals.types index a17c5097b4b1b..51a97feb3ef6a 100644 --- a/tests/baselines/reference/ambientConstLiterals.types +++ b/tests/baselines/reference/ambientConstLiterals.types @@ -54,7 +54,7 @@ const c5 = f(123); >f(123) : 123 > : ^^^ >f : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >123 : 123 > : ^^^ @@ -64,7 +64,7 @@ const c6 = f(-123); >f(-123) : -123 > : ^^^^ >f : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >-123 : -123 > : ^^^^ >123 : 123 diff --git a/tests/baselines/reference/ambientDeclarationsPatterns.types b/tests/baselines/reference/ambientDeclarationsPatterns.types index d3342467ca094..28f2a55f26517 100644 --- a/tests/baselines/reference/ambientDeclarationsPatterns.types +++ b/tests/baselines/reference/ambientDeclarationsPatterns.types @@ -4,7 +4,7 @@ /// import {foo, baz} from "foobarbaz"; >foo : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >baz : string > : ^^^^^^ @@ -12,7 +12,7 @@ foo(baz); >foo(baz) : void > : ^^^^ >foo : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >baz : string > : ^^^^^^ @@ -24,7 +24,7 @@ foo(foos); >foo(foos) : void > : ^^^^ >foo : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >foos : string > : ^^^^^^ @@ -37,7 +37,7 @@ foo(fileText); >foo(fileText) : void > : ^^^^ >foo : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >fileText : string > : ^^^^^^ diff --git a/tests/baselines/reference/ambientErrors.types b/tests/baselines/reference/ambientErrors.types index 2b3b1d9c39a70..322996ca194af 100644 --- a/tests/baselines/reference/ambientErrors.types +++ b/tests/baselines/reference/ambientErrors.types @@ -11,39 +11,39 @@ declare var x = 4; // Ambient functions with invalid overloads declare function fn(x: number): string; >fn : { (x: number): string; (x: "foo"): number; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >x : number > : ^^^^^^ declare function fn(x: 'foo'): number; ->fn : { (x: number): string; (x: 'foo'): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>fn : { (x: number): string; (x: "foo"): number; } +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ // Ambient functions with duplicate signatures declare function fn1(x: number): string; >fn1 : { (x: number): string; (x: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >x : number > : ^^^^^^ declare function fn1(x: number): string; >fn1 : { (x: number): string; (x: number): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ // Ambient function overloads that differ only by return type declare function fn2(x: number): string; >fn2 : { (x: number): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >x : number > : ^^^^^^ declare function fn2(x: number): number; >fn2 : { (x: number): string; (x: number): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/ambientRequireFunction(module=commonjs).types b/tests/baselines/reference/ambientRequireFunction(module=commonjs).types index 64b0769a5a821..f27d70654b24d 100644 --- a/tests/baselines/reference/ambientRequireFunction(module=commonjs).types +++ b/tests/baselines/reference/ambientRequireFunction(module=commonjs).types @@ -9,7 +9,7 @@ const fs = require("fs"); >require("fs") : typeof fs > : ^^^^^^^^^ >require : (moduleName: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >"fs" : "fs" > : ^^^^ @@ -19,11 +19,11 @@ const text = fs.readFileSync("/a/b/c"); >fs.readFileSync("/a/b/c") : string > : ^^^^^^ >fs.readFileSync : (s: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >fs : typeof fs > : ^^^^^^^^^ >readFileSync : (s: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >"/a/b/c" : "/a/b/c" > : ^^^^^^^^ diff --git a/tests/baselines/reference/ambientRequireFunction(module=preserve).types b/tests/baselines/reference/ambientRequireFunction(module=preserve).types index 64b0769a5a821..f27d70654b24d 100644 --- a/tests/baselines/reference/ambientRequireFunction(module=preserve).types +++ b/tests/baselines/reference/ambientRequireFunction(module=preserve).types @@ -9,7 +9,7 @@ const fs = require("fs"); >require("fs") : typeof fs > : ^^^^^^^^^ >require : (moduleName: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >"fs" : "fs" > : ^^^^ @@ -19,11 +19,11 @@ const text = fs.readFileSync("/a/b/c"); >fs.readFileSync("/a/b/c") : string > : ^^^^^^ >fs.readFileSync : (s: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >fs : typeof fs > : ^^^^^^^^^ >readFileSync : (s: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >"/a/b/c" : "/a/b/c" > : ^^^^^^^^ diff --git a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types index 5da2991953383..9878481124a34 100644 --- a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types +++ b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types @@ -7,49 +7,49 @@ class TestClass { public bar(x: string): void; >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >x : string > : ^^^^^^ public bar(x: string[]): void; >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public bar(x: any): void { >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ >x : any } public foo(x: string): void; >foo : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >x : string > : ^^^^^^ public foo(x: string[]): void; >foo : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public foo(x: any): void { >foo : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ >x : any this.bar(x); // should not error >this.bar(x) : void > : ^^^^ >this.bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ >this : this > : ^^^^ >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ >x : any } } @@ -60,19 +60,19 @@ class TestClass2 { public bar(x: string): number; >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >x : string > : ^^^^^^ public bar(x: string[]): number; >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public bar(x: any): number { >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >x : any return 0; @@ -82,30 +82,30 @@ class TestClass2 { public foo(x: string): number; >foo : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >x : string > : ^^^^^^ public foo(x: string[]): number; >foo : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public foo(x: any): number { >foo : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >x : any return this.bar(x); // should not error >this.bar(x) : number > : ^^^^^^ >this.bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >x : any } } diff --git a/tests/baselines/reference/ambiguousGenericAssertion1.types b/tests/baselines/reference/ambiguousGenericAssertion1.types index 56708d378d721..a508440ccdc3c 100644 --- a/tests/baselines/reference/ambiguousGenericAssertion1.types +++ b/tests/baselines/reference/ambiguousGenericAssertion1.types @@ -25,7 +25,7 @@ var r2 = < (x: T) => T>f; // valid >x : T > : ^ >f : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ var r3 = <(x: T) => T>f; // ambiguous, appears to the parser as a << operation >r3 : boolean @@ -49,5 +49,5 @@ var r3 = <(x: T) => T>f; // ambiguous, appears to the parser as a << operatio >T : any > : ^^^ >f : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ diff --git a/tests/baselines/reference/ambiguousOverload.types b/tests/baselines/reference/ambiguousOverload.types index 498d5b8167a0d..d840fe6a962e7 100644 --- a/tests/baselines/reference/ambiguousOverload.types +++ b/tests/baselines/reference/ambiguousOverload.types @@ -3,7 +3,7 @@ === ambiguousOverload.ts === function foof(bar: string, y): number; >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >bar : string > : ^^^^^^ >y : any @@ -11,7 +11,7 @@ function foof(bar: string, y): number; function foof(bar: string, x): string; >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >x : any @@ -19,7 +19,7 @@ function foof(bar: string, x): string; function foof(bar: any): any { return bar }; >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >bar : any > : ^^^ >bar : any @@ -31,7 +31,7 @@ var x: number = foof("s", null); >foof("s", null) : number > : ^^^^^^ >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >"s" : "s" > : ^^^ @@ -41,13 +41,13 @@ var y: string = foof("s", null); >foof("s", null) : number > : ^^^^^^ >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >"s" : "s" > : ^^^ function foof2(bar: string, x): string; >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >bar : string > : ^^^^^^ >x : any @@ -55,7 +55,7 @@ function foof2(bar: string, x): string; function foof2(bar: string, y): number; >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >y : any @@ -63,7 +63,7 @@ function foof2(bar: string, y): number; function foof2(bar: any): any { return bar }; >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >bar : any > : ^^^ >bar : any @@ -75,7 +75,7 @@ var x2: string = foof2("s", null); >foof2("s", null) : string > : ^^^^^^ >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >"s" : "s" > : ^^^ @@ -85,7 +85,7 @@ var y2: number = foof2("s", null); >foof2("s", null) : string > : ^^^^^^ >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >"s" : "s" > : ^^^ diff --git a/tests/baselines/reference/ambiguousOverloadResolution.types b/tests/baselines/reference/ambiguousOverloadResolution.types index a5e660776a396..183c1cbdd851a 100644 --- a/tests/baselines/reference/ambiguousOverloadResolution.types +++ b/tests/baselines/reference/ambiguousOverloadResolution.types @@ -15,7 +15,7 @@ class B extends A { x: number; } declare function f(p: A, q: B): number; >f : { (p: A, q: B): number; (p: B, q: A): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >p : A > : ^ >q : B @@ -23,7 +23,7 @@ declare function f(p: A, q: B): number; declare function f(p: B, q: A): string; >f : { (p: A, q: B): number; (p: B, q: A): string; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >p : B > : ^ >q : A @@ -39,7 +39,7 @@ var t: number = f(x, x); // Not an error >f(x, x) : number > : ^^^^^^ >f : { (p: A, q: B): number; (p: B, q: A): string; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >x : B > : ^ >x : B diff --git a/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types b/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types index 5ed8dd11a0ea9..b76859f121aea 100644 --- a/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types +++ b/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types @@ -3,7 +3,7 @@ === Class.ts === import { Configurable } from "./Configurable" >Configurable : >(base: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ export class HiddenClass {} >HiddenClass : HiddenClass @@ -15,7 +15,7 @@ export class ActualClass extends Configurable(HiddenClass) {} >Configurable(HiddenClass) : HiddenClass > : ^^^^^^^^^^^ >Configurable : >(base: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >HiddenClass : typeof HiddenClass > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/amdLikeInputDeclarationEmit.types b/tests/baselines/reference/amdLikeInputDeclarationEmit.types index f9a94074040cf..35d9bd98ca570 100644 --- a/tests/baselines/reference/amdLikeInputDeclarationEmit.types +++ b/tests/baselines/reference/amdLikeInputDeclarationEmit.types @@ -36,7 +36,7 @@ declare module "deps/BaseClass" { define("lib/ExtendedClass", ["deps/BaseClass"], >define("lib/ExtendedClass", ["deps/BaseClass"], /** * {typeof import("deps/BaseClass")} * @param {typeof import("deps/BaseClass")} BaseClass * @returns */(BaseClass) => { const ExtendedClass = BaseClass.extends({ f: function() { return "something"; } }); // Exports the module in a way tsc recognize class export const module = {}; module.exports = ExtendedClass return module.exports;}) : any >define : (name: string, modules: string[], ready: (...modules: unknown[]) => T) => any -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >"lib/ExtendedClass" : "lib/ExtendedClass" > : ^^^^^^^^^^^^^^^^^^^ >["deps/BaseClass"] : string[] @@ -61,11 +61,11 @@ define("lib/ExtendedClass", ["deps/BaseClass"], >BaseClass.extends({ f: function() { return "something"; } }) : new () => { f: () => "something"; } & import("deps/BaseClass") > : >BaseClass.extends : (a: A) => new () => A & import("deps/BaseClass") -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >BaseClass : typeof import("deps/BaseClass") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extends : (a: A) => new () => A & import("deps/BaseClass") -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ f: function() { return "something"; } } : { f: () => "something"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/annotatedThisPropertyInitializerDoesntNarrow.types b/tests/baselines/reference/annotatedThisPropertyInitializerDoesntNarrow.types index a21e4a912ff5e..ea5b23724d967 100644 --- a/tests/baselines/reference/annotatedThisPropertyInitializerDoesntNarrow.types +++ b/tests/baselines/reference/annotatedThisPropertyInitializerDoesntNarrow.types @@ -35,7 +35,7 @@ export class C { >mappy(this.assets) : void > : ^^^^ >mappy : (map: { [s: string]: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this.assets : { [assetName: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this diff --git a/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types b/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types index a26fdb8f0edc5..4bf0a1210a044 100644 --- a/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types +++ b/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types @@ -30,13 +30,13 @@ export type Constructor = new (...args: any[]) => T; export function Timestamped(Base: TBase) { >Timestamped : >(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : TBase > : ^^^^^ return class extends Base { >class extends Base { timestamp = Date.now(); } : { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : {} > : ^^ @@ -58,15 +58,15 @@ export function Timestamped(Base: TBase) { === index.ts === import { wrapClass, Timestamped } from "./wrapClass"; >wrapClass : (param: any) => typeof Wrapped -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ >Timestamped : >(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ export default wrapClass(0); >wrapClass(0) : typeof Wrapped > : ^^^^^^^^^^^^^^ >wrapClass : (param: any) => typeof Wrapped -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ @@ -89,7 +89,7 @@ export class TimestampedUser extends Timestamped(User) { >Timestamped(User) : Timestamped.(Anonymous class) & User > : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >Timestamped : >(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >User : typeof User > : ^^^^^^^^^^^ @@ -98,6 +98,6 @@ export class TimestampedUser extends Timestamped(User) { >super() : void > : ^^^^ >super : { new (...args: any[]): Timestamped.(Anonymous class); prototype: Timestamped.(Anonymous class); } & typeof User -> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } } diff --git a/tests/baselines/reference/anonterface.types b/tests/baselines/reference/anonterface.types index 890f0642200a7..2c3dbfb07c97f 100644 --- a/tests/baselines/reference/anonterface.types +++ b/tests/baselines/reference/anonterface.types @@ -23,7 +23,7 @@ module M { >fn(n2) : string > : ^^^^^^ >fn : (n: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >n2 : number > : ^^^^^^ } @@ -45,12 +45,12 @@ var c=new M.C(); c.m(function(n) { return "hello: "+n; },18); >c.m(function(n) { return "hello: "+n; },18) : string > : ^^^^^^ ->c.m : (fn: (n: number) => string, n2: number) => string -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +>c.m : (fn: { (n: number): string; }, n2: number) => string +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c : M.C > : ^^^ ->m : (fn: (n: number) => string, n2: number) => string -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +>m : (fn: { (n: number): string; }, n2: number) => string +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >function(n) { return "hello: "+n; } : (n: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.types b/tests/baselines/reference/anyAssignabilityInInheritance.types index b7523c25390db..42721203786c9 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.types +++ b/tests/baselines/reference/anyAssignabilityInInheritance.types @@ -17,97 +17,97 @@ var a: any; declare function foo2(x: number): number; >foo2 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : number > : ^^^^^^ declare function foo2(x: any): any; >foo2 : { (x: number): number; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo2(a); // any, not a subtype of number so it skips that overload, is a subtype of itself so it picks second (if truly ambiguous it would pick first overload) >r3 : any >foo2(a) : any >foo2 : { (x: number): number; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo3(x: string): string; >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : string > : ^^^^^^ declare function foo3(x: any): any; >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo4(x: boolean): boolean; >foo4 : { (x: boolean): boolean; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : boolean > : ^^^^^^^ declare function foo4(x: any): any; >foo4 : { (x: boolean): boolean; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo5(x: Date): Date; >foo5 : { (x: Date): Date; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : Date > : ^^^^ declare function foo5(x: any): any; >foo5 : { (x: Date): Date; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo6(x: RegExp): RegExp; >foo6 : { (x: RegExp): RegExp; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : RegExp > : ^^^^^^ declare function foo6(x: any): any; >foo6 : { (x: RegExp): RegExp; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo7(x: { bar: number }): { bar: number }; >foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : { bar: number; } > : ^^^^^^^ ^^^ >bar : number @@ -117,32 +117,32 @@ declare function foo7(x: { bar: number }): { bar: number }; declare function foo7(x: any): any; >foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo8(x: number[]): number[]; >foo8 : { (x: number[]): number[]; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : number[] > : ^^^^^^^^ declare function foo8(x: any): any; >foo8 : { (x: number[]): number[]; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any interface I8 { foo: string } @@ -151,20 +151,20 @@ interface I8 { foo: string } declare function foo9(x: I8): I8; >foo9 : { (x: I8): I8; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : I8 > : ^^ declare function foo9(x: any): any; >foo9 : { (x: I8): I8; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any class A { foo: number; } @@ -175,20 +175,20 @@ class A { foo: number; } declare function foo10(x: A): A; >foo10 : { (x: A): A; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : A > : ^ declare function foo10(x: any): any; >foo10 : { (x: A): A; (x: any): any; } -> : ^^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any class A2 { foo: T; } @@ -199,25 +199,25 @@ class A2 { foo: T; } declare function foo11(x: A2): A2; >foo11 : { (x: A2): A2; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : A2 > : ^^^^^^^^^^ declare function foo11(x: any): any; >foo11 : { (x: A2): A2; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo12(x: (x) => number): (x) => number; >foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : (x: any) => number > : ^ ^^^^^^^^^^ >x : any @@ -225,19 +225,19 @@ declare function foo12(x: (x) => number): (x) => number; declare function foo12(x: any): any; >foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; } -> : ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo13(x: (x: T) => T): (x: T) => T; >foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -246,15 +246,15 @@ declare function foo13(x: (x: T) => T): (x: T) => T; > : ^ declare function foo13(x: any): any; ->foo13 : { (x: (x: T) => T): (x: T_1) => T_1; (x: any): any; } -> : ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } +> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any enum E { A } @@ -265,20 +265,20 @@ enum E { A } declare function foo14(x: E): E; >foo14 : { (x: E): E; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : E > : ^ declare function foo14(x: any): any; >foo14 : { (x: E): E; (x: any): any; } -> : ^^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any function f() { } @@ -297,7 +297,7 @@ module f { } declare function foo15(x: typeof f): typeof f; >foo15 : { (x: typeof f): typeof f; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : typeof f > : ^^^^^^^^ >f : typeof f @@ -307,14 +307,14 @@ declare function foo15(x: typeof f): typeof f; declare function foo15(x: any): any; >foo15 : { (x: typeof f): typeof f; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any class CC { baz: string } @@ -335,55 +335,55 @@ module CC { } declare function foo16(x: CC): CC; >foo16 : { (x: CC): CC; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : CC > : ^^ declare function foo16(x: any): any; >foo16 : { (x: CC): CC; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo17(x: Object): Object; >foo17 : { (x: Object): Object; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : Object > : ^^^^^^ declare function foo17(x: any): any; >foo17 : { (x: Object): Object; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any declare function foo18(x: {}): {}; >foo18 : { (x: {}): {}; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >x : {} > : ^^ declare function foo18(x: any): any; >foo18 : { (x: {}): {}; (x: any): any; } -> : ^^^ ^^^^^^^ ^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >a : any diff --git a/tests/baselines/reference/anyIdenticalToItself.types b/tests/baselines/reference/anyIdenticalToItself.types index d1f6e868ddac8..36fdd5196d901 100644 --- a/tests/baselines/reference/anyIdenticalToItself.types +++ b/tests/baselines/reference/anyIdenticalToItself.types @@ -3,19 +3,19 @@ === anyIdenticalToItself.ts === function foo(x: any); >foo : { (x: any): any; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : any > : ^^^ function foo(x: any); >foo : { (x: any): any; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : any > : ^^^ function foo(x: any, y: number) { } >foo : { (x: any): any; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : any > : ^^^ >y : number diff --git a/tests/baselines/reference/anyInferenceAnonymousFunctions.types b/tests/baselines/reference/anyInferenceAnonymousFunctions.types index 197691c5caf17..77833f13ce3fc 100644 --- a/tests/baselines/reference/anyInferenceAnonymousFunctions.types +++ b/tests/baselines/reference/anyInferenceAnonymousFunctions.types @@ -8,11 +8,11 @@ var paired: any[]; paired.reduce(function (a1, a2) { >paired.reduce(function (a1, a2) { return a1.concat({});} , []) : any >paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >paired : any[] > : ^^^^^ >reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >function (a1, a2) { return a1.concat({});} : (a1: any, a2: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >a1 : any @@ -35,11 +35,11 @@ paired.reduce(function (a1, a2) { paired.reduce((b1, b2) => { >paired.reduce((b1, b2) => { return b1.concat({});} , []) : any >paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >paired : any[] > : ^^^^^ >reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >(b1, b2) => { return b1.concat({});} : (b1: any, b2: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >b1 : any @@ -62,11 +62,11 @@ paired.reduce((b1, b2) => { paired.reduce((b3, b4) => b3.concat({}), []); >paired.reduce((b3, b4) => b3.concat({}), []) : any >paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >paired : any[] > : ^^^^^ >reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >(b3, b4) => b3.concat({}) : (b3: any, b4: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >b3 : any @@ -86,11 +86,11 @@ paired.map((c1) => c1.count); >paired.map((c1) => c1.count) : any[] > : ^^^^^ >paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >paired : any[] > : ^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >(c1) => c1.count : (c1: any) => any > : ^ ^^^^^^^^^^^^^ >c1 : any @@ -104,11 +104,11 @@ paired.map(function (c2) { return c2.count; }); >paired.map(function (c2) { return c2.count; }) : any[] > : ^^^^^ >paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >paired : any[] > : ^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >function (c2) { return c2.count; } : (c2: any) => any > : ^ ^^^^^^^^^^^^^ >c2 : any diff --git a/tests/baselines/reference/argsInScope.types b/tests/baselines/reference/argsInScope.types index 9faff638348e2..f84dca6b8375f 100644 --- a/tests/baselines/reference/argsInScope.types +++ b/tests/baselines/reference/argsInScope.types @@ -52,11 +52,11 @@ c.P(1,2,3); >c.P(1,2,3) : void > : ^^^^ >c.P : (ii: number, j: number, k: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >c : C > : ^ >P : (ii: number, j: number, k: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/argumentExpressionContextualTyping.types b/tests/baselines/reference/argumentExpressionContextualTyping.types index 76ff177ff4f93..58703910644b2 100644 --- a/tests/baselines/reference/argumentExpressionContextualTyping.types +++ b/tests/baselines/reference/argumentExpressionContextualTyping.types @@ -190,7 +190,7 @@ baz(tuple); >baz(tuple) : void > : ^^^^ >baz : (x: [string, number, boolean]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >tuple : [string, number, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -198,7 +198,7 @@ baz(["string", 1, true]); >baz(["string", 1, true]) : void > : ^^^^ >baz : (x: [string, number, boolean]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >["string", 1, true] : [string, number, true] > : ^^^^^^^^^^^^^^^^^^^^^^ >"string" : "string" @@ -212,7 +212,7 @@ baz(array); // Error >baz(array) : void > : ^^^^ >baz : (x: [string, number, boolean]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >array : (string | number | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -220,7 +220,7 @@ baz(["string", 1, true, ...array]); // Error >baz(["string", 1, true, ...array]) : void > : ^^^^ >baz : (x: [string, number, boolean]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >["string", 1, true, ...array] : [string, number, true, ...(string | number | boolean)[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"string" : "string" diff --git a/tests/baselines/reference/argumentsAsPropertyName.types b/tests/baselines/reference/argumentsAsPropertyName.types index 9d2cb128a3b0d..034e8faa548ea 100644 --- a/tests/baselines/reference/argumentsAsPropertyName.types +++ b/tests/baselines/reference/argumentsAsPropertyName.types @@ -41,7 +41,7 @@ function myFunction(myType: MyType) { use(myType.arguments[i]); >use(myType.arguments[i]) : any >use : (s: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >myType.arguments[i] : string > : ^^^^^^ >myType.arguments : string[] @@ -64,7 +64,7 @@ function myFunction(myType: MyType) { >[1, 2, 3].forEach(function(j) { use(x); }) : void > : ^^^^ >[1, 2, 3].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -74,14 +74,14 @@ function myFunction(myType: MyType) { >3 : 3 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >function(j) { use(x); } : (j: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >j : number > : ^^^^^^ >use(x) : any >use : (s: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >x : 5 > : ^ } diff --git a/tests/baselines/reference/argumentsAsPropertyName2.types b/tests/baselines/reference/argumentsAsPropertyName2.types index 4c5fa3b32703a..e3a1ccb1f3b58 100644 --- a/tests/baselines/reference/argumentsAsPropertyName2.types +++ b/tests/baselines/reference/argumentsAsPropertyName2.types @@ -31,11 +31,11 @@ function foo() { >[].forEach(function () { i }) : void > : ^^^^ >[].forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >function () { i } : () => void > : ^^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/argumentsObjectCreatesRestForJs.types b/tests/baselines/reference/argumentsObjectCreatesRestForJs.types index ad7a98644d9ce..1a7e10458d431 100644 --- a/tests/baselines/reference/argumentsObjectCreatesRestForJs.types +++ b/tests/baselines/reference/argumentsObjectCreatesRestForJs.types @@ -66,7 +66,7 @@ jsdocced(1); >jsdocced(1) : void > : ^^^^ >jsdocced : (x: number, ...args: any[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/argumentsReferenceInFunction1_Js.types b/tests/baselines/reference/argumentsReferenceInFunction1_Js.types index 83ec7f66d60c2..d3392e8eed0b9 100644 --- a/tests/baselines/reference/argumentsReferenceInFunction1_Js.types +++ b/tests/baselines/reference/argumentsReferenceInFunction1_Js.types @@ -93,11 +93,11 @@ const debuglog = function() { >format.apply(null, arguments) : string > : ^^^^^^ >format.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >format : (f: any, ...args: any[]) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >arguments : IArguments > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types b/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types index 6c687abe5c412..4027490e8b9e5 100644 --- a/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types +++ b/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types @@ -69,7 +69,7 @@ const res1 = fn1(..."hello"); >fn1(..."hello") : readonly any[] > : ^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >..."hello" : any > : ^^^ >"hello" : "hello" @@ -81,7 +81,7 @@ const res2 = fn1(...itNum); >fn1(...itNum) : Iterable > : ^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...itNum : Iterable > : ^^^^^^^^^^^^^^^^ >itNum : Iterable @@ -93,7 +93,7 @@ const res3 = fn1(true, ..."hello"); >fn1(true, ..."hello") : readonly [true, ...any[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >..."hello" : any @@ -107,7 +107,7 @@ const res4 = fn1(true, ...itNum); >fn1(true, ...itNum) : readonly [true, ...Iterable[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...itNum : Iterable @@ -128,7 +128,7 @@ const p1 = foo(..."hello"); >foo(..."hello") : any[] > : ^^^^^ >foo : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >..."hello" : any > : ^^^ >"hello" : "hello" @@ -140,7 +140,7 @@ const p2 = foo(...itNum); >foo(...itNum) : Iterable > : ^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...itNum : Iterable > : ^^^^^^^^^^^^^^^^ >itNum : Iterable @@ -152,7 +152,7 @@ const p3 = foo(true, ..."hello"); >foo(true, ..."hello") : [boolean, ...any[]] > : ^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >..."hello" : any @@ -166,7 +166,7 @@ const p4 = foo(true, ...itNum); >foo(true, ...itNum) : [boolean, ...Iterable[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...itNum : Iterable diff --git a/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types b/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types index 177c527a5dfac..c27ee50812081 100644 --- a/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types +++ b/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types @@ -69,7 +69,7 @@ const res1 = fn1(..."hello"); >fn1(..."hello") : readonly string[] > : ^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >..."hello" : string > : ^^^^^^ >"hello" : "hello" @@ -81,7 +81,7 @@ const res2 = fn1(...itNum); >fn1(...itNum) : readonly number[] > : ^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...itNum : number > : ^^^^^^ >itNum : Iterable @@ -93,7 +93,7 @@ const res3 = fn1(true, ..."hello"); >fn1(true, ..."hello") : readonly [true, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >..."hello" : string @@ -107,7 +107,7 @@ const res4 = fn1(true, ...itNum); >fn1(true, ...itNum) : readonly [true, ...number[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...itNum : number @@ -128,7 +128,7 @@ const p1 = foo(..."hello"); >foo(..."hello") : string[] > : ^^^^^^^^ >foo : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >..."hello" : string > : ^^^^^^ >"hello" : "hello" @@ -140,7 +140,7 @@ const p2 = foo(...itNum); >foo(...itNum) : number[] > : ^^^^^^^^ >foo : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...itNum : number > : ^^^^^^ >itNum : Iterable @@ -152,7 +152,7 @@ const p3 = foo(true, ..."hello"); >foo(true, ..."hello") : [boolean, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >..."hello" : string @@ -166,7 +166,7 @@ const p4 = foo(true, ...itNum); >foo(true, ...itNum) : [boolean, ...number[]] > : ^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...itNum : number diff --git a/tests/baselines/reference/arrayAssignmentTest5.types b/tests/baselines/reference/arrayAssignmentTest5.types index d94477ed4bc06..3a2ab9ce09abd 100644 --- a/tests/baselines/reference/arrayAssignmentTest5.types +++ b/tests/baselines/reference/arrayAssignmentTest5.types @@ -69,11 +69,11 @@ module Test { >this.tokenize(line, state, true) : ILineTokens > : ^^^^^^^^^^^ >this.tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >line : string > : ^^^^^^ >state : IState @@ -107,11 +107,11 @@ module Test { >this.onEnter(line, tokens, offset) : IAction > : ^^^^^^^ >this.onEnter : (line: string, state: IState, offset: number) => IAction -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >onEnter : (line: string, state: IState, offset: number) => IAction -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >line : string > : ^^^^^^ >tokens : IStateToken[] diff --git a/tests/baselines/reference/arrayAugment.types b/tests/baselines/reference/arrayAugment.types index d75cf75fbb834..d9d62a0a52481 100644 --- a/tests/baselines/reference/arrayAugment.types +++ b/tests/baselines/reference/arrayAugment.types @@ -23,11 +23,11 @@ var y = x.split(4); >x.split(4) : string[][] > : ^^^^^^^^^^ >x.split : (parts: number) => string[][] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^ >x : string[] > : ^^^^^^^^ >split : (parts: number) => string[][] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^ >4 : 4 > : ^ diff --git a/tests/baselines/reference/arrayBestCommonTypes.types b/tests/baselines/reference/arrayBestCommonTypes.types index 2d2fa0b473154..363b2e3a023ef 100644 --- a/tests/baselines/reference/arrayBestCommonTypes.types +++ b/tests/baselines/reference/arrayBestCommonTypes.types @@ -27,7 +27,7 @@ module EmptyTypes { public voidIfAny(x: boolean, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >x : boolean > : ^^^^^^^ >y : boolean @@ -35,7 +35,7 @@ module EmptyTypes { public voidIfAny(x: string, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >x : string > : ^^^^^^ >y : boolean @@ -43,7 +43,7 @@ module EmptyTypes { public voidIfAny(x: number, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : number > : ^^^^^^ >y : boolean @@ -51,7 +51,7 @@ module EmptyTypes { public voidIfAny(x: any, y = false): any { return null; } >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >x : any >y : boolean > : ^^^^^^^ @@ -70,11 +70,11 @@ module EmptyTypes { >this.voidIfAny([4, 2][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[4, 2][0] : number > : ^^^^^^ >[4, 2] : number[] @@ -94,11 +94,11 @@ module EmptyTypes { >this.voidIfAny([4, 2, undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[4, 2, undefined][0] : number > : ^^^^^^ >[4, 2, undefined] : number[] @@ -120,11 +120,11 @@ module EmptyTypes { >this.voidIfAny([undefined, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[undefined, 2, 4][0] : number > : ^^^^^^ >[undefined, 2, 4] : number[] @@ -146,11 +146,11 @@ module EmptyTypes { >this.voidIfAny([null, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[null, 2, 4][0] : number > : ^^^^^^ >[null, 2, 4] : number[] @@ -170,11 +170,11 @@ module EmptyTypes { >this.voidIfAny([2, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[2, 4, null][0] : number > : ^^^^^^ >[2, 4, null] : number[] @@ -194,11 +194,11 @@ module EmptyTypes { >this.voidIfAny([undefined, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[undefined, 4, null][0] : number > : ^^^^^^ >[undefined, 4, null] : number[] @@ -218,11 +218,11 @@ module EmptyTypes { >this.voidIfAny(['', "q"][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >['', "q"][0] : string > : ^^^^^^ >['', "q"] : string[] @@ -242,11 +242,11 @@ module EmptyTypes { >this.voidIfAny(['', "q", undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >['', "q", undefined][0] : string > : ^^^^^^ >['', "q", undefined] : string[] @@ -268,11 +268,11 @@ module EmptyTypes { >this.voidIfAny([undefined, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[undefined, "q", ''][0] : string > : ^^^^^^ >[undefined, "q", ''] : string[] @@ -294,11 +294,11 @@ module EmptyTypes { >this.voidIfAny([null, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[null, "q", ''][0] : string > : ^^^^^^ >[null, "q", ''] : string[] @@ -318,11 +318,11 @@ module EmptyTypes { >this.voidIfAny(["q", '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >["q", '', null][0] : string > : ^^^^^^ >["q", '', null] : string[] @@ -342,11 +342,11 @@ module EmptyTypes { >this.voidIfAny([undefined, '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[undefined, '', null][0] : string > : ^^^^^^ >[undefined, '', null] : string[] @@ -366,11 +366,11 @@ module EmptyTypes { >this.voidIfAny([[3, 4], [null]][0][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[[3, 4], [null]][0][0] : number > : ^^^^^^ >[[3, 4], [null]][0] : number[] @@ -709,7 +709,7 @@ module NonEmptyTypes { public voidIfAny(x: boolean, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >x : boolean > : ^^^^^^^ >y : boolean @@ -717,7 +717,7 @@ module NonEmptyTypes { public voidIfAny(x: string, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >x : string > : ^^^^^^ >y : boolean @@ -725,7 +725,7 @@ module NonEmptyTypes { public voidIfAny(x: number, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : number > : ^^^^^^ >y : boolean @@ -733,7 +733,7 @@ module NonEmptyTypes { public voidIfAny(x: any, y = false): any { return null; } >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >x : any >y : boolean > : ^^^^^^^ @@ -752,11 +752,11 @@ module NonEmptyTypes { >this.voidIfAny([4, 2][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[4, 2][0] : number > : ^^^^^^ >[4, 2] : number[] @@ -776,11 +776,11 @@ module NonEmptyTypes { >this.voidIfAny([4, 2, undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[4, 2, undefined][0] : number > : ^^^^^^ >[4, 2, undefined] : number[] @@ -802,11 +802,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[undefined, 2, 4][0] : number > : ^^^^^^ >[undefined, 2, 4] : number[] @@ -828,11 +828,11 @@ module NonEmptyTypes { >this.voidIfAny([null, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[null, 2, 4][0] : number > : ^^^^^^ >[null, 2, 4] : number[] @@ -852,11 +852,11 @@ module NonEmptyTypes { >this.voidIfAny([2, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[2, 4, null][0] : number > : ^^^^^^ >[2, 4, null] : number[] @@ -876,11 +876,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[undefined, 4, null][0] : number > : ^^^^^^ >[undefined, 4, null] : number[] @@ -900,11 +900,11 @@ module NonEmptyTypes { >this.voidIfAny(['', "q"][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >['', "q"][0] : string > : ^^^^^^ >['', "q"] : string[] @@ -924,11 +924,11 @@ module NonEmptyTypes { >this.voidIfAny(['', "q", undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >['', "q", undefined][0] : string > : ^^^^^^ >['', "q", undefined] : string[] @@ -950,11 +950,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[undefined, "q", ''][0] : string > : ^^^^^^ >[undefined, "q", ''] : string[] @@ -976,11 +976,11 @@ module NonEmptyTypes { >this.voidIfAny([null, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[null, "q", ''][0] : string > : ^^^^^^ >[null, "q", ''] : string[] @@ -1000,11 +1000,11 @@ module NonEmptyTypes { >this.voidIfAny(["q", '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >["q", '', null][0] : string > : ^^^^^^ >["q", '', null] : string[] @@ -1024,11 +1024,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[undefined, '', null][0] : string > : ^^^^^^ >[undefined, '', null] : string[] @@ -1048,11 +1048,11 @@ module NonEmptyTypes { >this.voidIfAny([[3, 4], [null]][0][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >[[3, 4], [null]][0][0] : number > : ^^^^^^ >[[3, 4], [null]][0] : number[] diff --git a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types index d9a86a65bf966..2edd398386eef 100644 --- a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types +++ b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types @@ -9,11 +9,11 @@ if (ArrayBuffer.isView(obj)) { >ArrayBuffer.isView(obj) : boolean > : ^^^^^^^ >ArrayBuffer.isView : (arg: any) => arg is ArrayBufferView -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ArrayBuffer : ArrayBufferConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >isView : (arg: any) => arg is ArrayBufferView -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : Object > : ^^^^^^ diff --git a/tests/baselines/reference/arrayConcatMap.types b/tests/baselines/reference/arrayConcatMap.types index c55990a3dfda3..d769d1610ffc6 100644 --- a/tests/baselines/reference/arrayConcatMap.types +++ b/tests/baselines/reference/arrayConcatMap.types @@ -7,7 +7,7 @@ var x = [].concat([{ a: 1 }], [{ a: 2 }]) >[].concat([{ a: 1 }], [{ a: 2 }]) .map(b => b.a) : any[] > : ^^^^^ >[].concat([{ a: 1 }], [{ a: 2 }]) .map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >[].concat([{ a: 1 }], [{ a: 2 }]) : any[] > : ^^^^^ >[].concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } @@ -35,7 +35,7 @@ var x = [].concat([{ a: 1 }], [{ a: 2 }]) .map(b => b.a); >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >b => b.a : (b: any) => any > : ^ ^^^^^^^^^^^^^ >b : any diff --git a/tests/baselines/reference/arrayDestructuringInSwitch1.types b/tests/baselines/reference/arrayDestructuringInSwitch1.types index 419fe161c4e30..476333540e693 100644 --- a/tests/baselines/reference/arrayDestructuringInSwitch1.types +++ b/tests/baselines/reference/arrayDestructuringInSwitch1.types @@ -19,11 +19,11 @@ export function evaluate(expression: Expression): boolean { >Array.isArray(expression) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ >expression : Expression > : ^^^^^^^^^^ @@ -47,11 +47,11 @@ export function evaluate(expression: Expression): boolean { >operands.every((child) => evaluate(child)) : boolean > : ^^^^^^^ >operands.every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S_1, thisArg?: any): this is S_1[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >operands : Expression[] | [Expression] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S_1, thisArg?: any): this is S_1[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >(child) => evaluate(child) : (child: Expression) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >child : Expression @@ -59,7 +59,7 @@ export function evaluate(expression: Expression): boolean { >evaluate(child) : boolean > : ^^^^^^^ >evaluate : (expression: Expression) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >child : Expression > : ^^^^^^^^^^ } @@ -73,7 +73,7 @@ export function evaluate(expression: Expression): boolean { >evaluate(operands[0]) : boolean > : ^^^^^^^ >evaluate : (expression: Expression) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >operands[0] : Expression > : ^^^^^^^^^^ >operands : Expression[] | [Expression] diff --git a/tests/baselines/reference/arrayEvery.types b/tests/baselines/reference/arrayEvery.types index 6f213eabfb4c1..5e748b2e1fbf8 100644 --- a/tests/baselines/reference/arrayEvery.types +++ b/tests/baselines/reference/arrayEvery.types @@ -29,19 +29,19 @@ if (foo.every(isString)) { >foo.every(isString) : boolean > : ^^^^^^^ >foo.every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >foo : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >isString : (x: unknown) => x is string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ foo[0].slice(0); >foo[0].slice(0) : string > : ^^^^^^ >foo[0].slice : (start?: number, end?: number) => string -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >foo[0] : string > : ^^^^^^ >foo : string[] @@ -49,7 +49,7 @@ if (foo.every(isString)) { >0 : 0 > : ^ >slice : (start?: number, end?: number) => string -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ } diff --git a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types index c6b37053a67c4..106ca208f5bf5 100644 --- a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types +++ b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types @@ -53,8 +53,8 @@ function foo(arr: T[], depth: number) { return flat(arr, depth); >flat(arr, depth) : (T | (T extends readonly (infer InnerArr)[] ? InnerArr | (InnerArr extends readonly (infer InnerArr)[] ? any : InnerArr) : T))[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->flat : (arr: A, depth?: D | undefined) => { done: A; recur: A extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] extends infer T_1 ? T_1 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] ? T_1 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] extends infer T_2 ? T_2 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] ? T_2 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] extends infer T_3 ? T_3 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] ? T_3 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] extends infer T_4 ? T_4 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] ? T_4 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] extends infer T_5 ? T_5 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] ? T_5 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] extends infer T_6 ? T_6 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] ? T_6 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] extends infer T_7 ? T_7 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] ? T_7 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] extends infer T_8 ? T_8 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] ? T_8 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] extends infer T_9 ? T_9 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] ? T_9 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] extends infer T_10 ? T_10 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] ? T_10 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] extends infer T_11 ? T_11 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] ? T_11 extends -1 ? "done" : "recur" : never : never] : A; }[D extends -1 ? "done" : "recur"][] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>flat : (arr: A, depth?: D) => { done: A; recur: A extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] extends infer T_1 ? T_1 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] ? T_1 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] extends infer T_2 ? T_2 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] ? T_2 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] extends infer T_3 ? T_3 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] ? T_3 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] extends infer T_4 ? T_4 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] ? T_4 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] extends infer T_5 ? T_5 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] ? T_5 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] extends infer T_6 ? T_6 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] ? T_6 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] extends infer T_7 ? T_7 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] ? T_7 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] extends infer T_8 ? T_8 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] ? T_8 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] extends infer T_9 ? T_9 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] ? T_9 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] extends infer T_10 ? T_10 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] ? T_10 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] extends infer T_11 ? T_11 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] ? T_11 extends -1 ? "done" : "recur" : never : never] : A; }[D extends -1 ? "done" : "recur"][] +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : T[] > : ^^^ >depth : number diff --git a/tests/baselines/reference/arrayFilter.types b/tests/baselines/reference/arrayFilter.types index f2ad6663f54bd..0b9ed107abed3 100644 --- a/tests/baselines/reference/arrayFilter.types +++ b/tests/baselines/reference/arrayFilter.types @@ -35,11 +35,11 @@ foo.filter(x => x.name); //should accepted all possible types not only boolean! >foo.filter(x => x.name) : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >foo.filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^ >foo : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^ >x => x.name : (x: { name: string; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; } diff --git a/tests/baselines/reference/arrayFind.types b/tests/baselines/reference/arrayFind.types index 9ae4d693d23d5..73cde487ad800 100644 --- a/tests/baselines/reference/arrayFind.types +++ b/tests/baselines/reference/arrayFind.types @@ -41,13 +41,13 @@ const foundNumber: number | undefined = arrayOfStringsNumbersAndBooleans.find(is >arrayOfStringsNumbersAndBooleans.find(isNumber) : number > : ^^^^^^ >arrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arrayOfStringsNumbersAndBooleans : (string | number | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isNumber : (x: any) => x is number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ const readonlyArrayOfStringsNumbersAndBooleans = arrayOfStringsNumbersAndBooleans as ReadonlyArray; >readonlyArrayOfStringsNumbersAndBooleans : readonly (string | number | boolean)[] @@ -63,11 +63,11 @@ const readonlyFoundNumber: number | undefined = readonlyArrayOfStringsNumbersAnd >readonlyArrayOfStringsNumbersAndBooleans.find(isNumber) : number > : ^^^^^^ >readonlyArrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >readonlyArrayOfStringsNumbersAndBooleans : readonly (string | number | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isNumber : (x: any) => x is number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/arrayFlatMap.types b/tests/baselines/reference/arrayFlatMap.types index f2d612ee85230..e83619d4144d0 100644 --- a/tests/baselines/reference/arrayFlatMap.types +++ b/tests/baselines/reference/arrayFlatMap.types @@ -17,11 +17,11 @@ array.flatMap((): ReadonlyArray => []); // ok >array.flatMap((): ReadonlyArray => []) : number[] > : ^^^^^^^^ >array.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ >flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >(): ReadonlyArray => [] : () => ReadonlyArray > : ^^^^^^ >[] : undefined[] @@ -31,11 +31,11 @@ readonlyArray.flatMap((): ReadonlyArray => []); // ok >readonlyArray.flatMap((): ReadonlyArray => []) : number[] > : ^^^^^^^^ >readonlyArray.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >readonlyArray : readonly number[] > : ^^^^^^^^^^^^^^^^^ >flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >(): ReadonlyArray => [] : () => ReadonlyArray > : ^^^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/arrayFrom.types b/tests/baselines/reference/arrayFrom.types index 34e56ec7cf505..71485e09f6925 100644 --- a/tests/baselines/reference/arrayFrom.types +++ b/tests/baselines/reference/arrayFrom.types @@ -44,7 +44,7 @@ const inputARand = getEither(inputA, inputALike); >getEither(inputA, inputALike) : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >getEither : (in1: Iterable, in2: ArrayLike) => ArrayLike | Iterable -> : ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >inputA : A[] > : ^^^ >inputALike : ArrayLike @@ -64,11 +64,11 @@ const result1: A[] = Array.from(inputA); >Array.from(inputA) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputA : A[] > : ^^^ @@ -78,11 +78,11 @@ const result2: A[] = Array.from(inputA.values()); >Array.from(inputA.values()) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputA.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ >inputA.values : () => IterableIterator @@ -98,11 +98,11 @@ const result3: B[] = Array.from(inputA.values()); // expect error >Array.from(inputA.values()) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputA.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ >inputA.values : () => IterableIterator @@ -118,11 +118,11 @@ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >Array.from(inputB, ({ b }): A => ({ a: b })) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputB : B[] > : ^^^ >({ b }): A => ({ a: b }) : ({ b }: B) => A @@ -144,11 +144,11 @@ const result5: A[] = Array.from(inputALike); >Array.from(inputALike) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputALike : ArrayLike > : ^^^^^^^^^^^^ @@ -158,11 +158,11 @@ const result6: B[] = Array.from(inputALike); // expect error >Array.from(inputALike) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputALike : ArrayLike > : ^^^^^^^^^^^^ @@ -172,11 +172,11 @@ const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); >Array.from(inputALike, ({ a }): B => ({ b: a })) : B[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputALike : ArrayLike > : ^^^^^^^^^^^^ >({ a }): B => ({ b: a }) : ({ a }: A) => B @@ -198,11 +198,11 @@ const result8: A[] = Array.from(inputARand); >Array.from(inputARand) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputARand : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -212,11 +212,11 @@ const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); >Array.from(inputARand, ({ a }): B => ({ b: a })) : B[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputARand : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ a }): B => ({ b: a }) : ({ a }: A) => B @@ -238,11 +238,11 @@ const result10: A[] = Array.from(new Set()); >Array.from(new Set()) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >new Set() : Set > : ^^^^^^ >Set : SetConstructor @@ -254,11 +254,11 @@ const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); >Array.from(inputASet, ({ a }): B => ({ b: a })) : B[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >inputASet : Set > : ^^^^^^ >({ a }): B => ({ b: a }) : ({ a }: A) => B diff --git a/tests/baselines/reference/arrayFromAsync.types b/tests/baselines/reference/arrayFromAsync.types index bf44bb0a6f5e6..160f66124cc68 100644 --- a/tests/baselines/reference/arrayFromAsync.types +++ b/tests/baselines/reference/arrayFromAsync.types @@ -57,11 +57,11 @@ function * genPromises (n) { >Promise.resolve(i * 2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >i * 2 : number > : ^^^^^^ >i : number @@ -83,11 +83,11 @@ const arrLike = { >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ @@ -97,11 +97,11 @@ const arrLike = { >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >2 : 2 > : ^ @@ -111,11 +111,11 @@ const arrLike = { >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >4 : 4 > : ^ @@ -125,11 +125,11 @@ const arrLike = { >Promise.resolve(6) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >6 : 6 > : ^ @@ -177,11 +177,11 @@ const sameArr1 = await Array.fromAsync(arrLike); >Array.fromAsync(arrLike) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arrLike : { 0: Promise; 1: Promise; 2: Promise; 3: Promise; length: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -193,51 +193,51 @@ const sameArr2 = await Array.fromAsync([Promise.resolve(0), Promise.resolve(2), >Array.fromAsync([Promise.resolve(0), Promise.resolve(2), Promise.resolve(4), Promise.resolve(6)]) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[Promise.resolve(0), Promise.resolve(2), Promise.resolve(4), Promise.resolve(6)] : Promise[] > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >2 : 2 > : ^ >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >4 : 4 > : ^ >Promise.resolve(6) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >6 : 6 > : ^ @@ -249,11 +249,11 @@ const sameArr3 = await Array.fromAsync(genPromises(4)); >Array.fromAsync(genPromises(4)) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >genPromises(4) : Generator, void, unknown> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >genPromises : (n: any) => Generator, void, unknown> @@ -269,11 +269,11 @@ const sameArr4 = await Array.fromAsync(asyncGen(4)); >Array.fromAsync(asyncGen(4)) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen(4) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen : (n: any) => AsyncGenerator @@ -288,19 +288,19 @@ function Data (n) {} Data.fromAsync = Array.fromAsync; >Data.fromAsync = Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Data.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Data : typeof Data > : ^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } > : ^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ const sameArr5 = await Data.fromAsync(asyncGen(4)); >sameArr5 : number[] @@ -310,11 +310,11 @@ const sameArr5 = await Data.fromAsync(asyncGen(4)); >Data.fromAsync(asyncGen(4)) : Promise > : ^^^^^^^^^^^^^^^^^ >Data.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Data : typeof Data > : ^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen(4) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen : (n: any) => AsyncGenerator @@ -330,11 +330,11 @@ const mapArr1 = await Array.fromAsync(asyncGen(4), v => v ** 2); >Array.fromAsync(asyncGen(4), v => v ** 2) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen(4) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen : (n: any) => AsyncGenerator @@ -360,11 +360,11 @@ const mapArr2 = await Array.fromAsync([0,2,4,6], v => Promise.resolve(v ** 2)); >Array.fromAsync([0,2,4,6], v => Promise.resolve(v ** 2)) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[0,2,4,6] : number[] > : ^^^^^^^^ >0 : 0 @@ -382,11 +382,11 @@ const mapArr2 = await Array.fromAsync([0,2,4,6], v => Promise.resolve(v ** 2)); >Promise.resolve(v ** 2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v ** 2 : number > : ^^^^^^ >v : number @@ -402,11 +402,11 @@ const mapArr3 = await Array.fromAsync([0,2,4,6], v => v ** 2); >Array.fromAsync([0,2,4,6], v => v ** 2) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[0,2,4,6] : number[] > : ^^^^^^^^ >0 : 0 @@ -461,11 +461,11 @@ const badArray = await Array.fromAsync(badIterable); >Array.fromAsync(badIterable) : Promise > : ^^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >badIterable : { [Symbol.iterator](): never; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/arrayLiteralContextualType.types b/tests/baselines/reference/arrayLiteralContextualType.types index d4305177348c9..584ba43dd83e1 100644 --- a/tests/baselines/reference/arrayLiteralContextualType.types +++ b/tests/baselines/reference/arrayLiteralContextualType.types @@ -59,7 +59,7 @@ foo([ >foo([ new Giraffe(), new Elephant()]) : void > : ^^^^ >foo : (animals: IAnimal[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >[ new Giraffe(), new Elephant()] : (Giraffe | Elephant)[] > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ bar([ >bar([ new Giraffe(), new Elephant()]) : void > : ^^^^ >bar : (animals: { [n: number]: IAnimal; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >[ new Giraffe(), new Elephant()] : (Giraffe | Elephant)[] > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -116,7 +116,7 @@ foo(arr); // ok because arr is Array not {}[] >foo(arr) : void > : ^^^^ >foo : (animals: IAnimal[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >arr : (Giraffe | Elephant)[] > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -124,7 +124,7 @@ bar(arr); // ok because arr is Array not {}[] >bar(arr) : void > : ^^^^ >bar : (animals: { [n: number]: IAnimal; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >arr : (Giraffe | Elephant)[] > : ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/arrayLiteralInNonVarArgParameter.types b/tests/baselines/reference/arrayLiteralInNonVarArgParameter.types index 9002cc160b6bf..f180e70252842 100644 --- a/tests/baselines/reference/arrayLiteralInNonVarArgParameter.types +++ b/tests/baselines/reference/arrayLiteralInNonVarArgParameter.types @@ -13,7 +13,7 @@ panic([], 'one', 'two'); >panic([], 'one', 'two') : void > : ^^^^ >panic : (val: string[], ...opt: string[]) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >'one' : "one" diff --git a/tests/baselines/reference/arrayLiteralInference.types b/tests/baselines/reference/arrayLiteralInference.types index 15cf7f9d05658..ad1819964faef 100644 --- a/tests/baselines/reference/arrayLiteralInference.types +++ b/tests/baselines/reference/arrayLiteralInference.types @@ -193,7 +193,7 @@ let b1: { x: boolean }[] = foo({ x: true }, { x: false }); >foo({ x: true }, { x: false }) : ({ x: true; } | { x: false; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T[]) => T[] -> : ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^^^^ >{ x: true } : { x: true; } > : ^^^^^^^^^^^^ >x : true @@ -213,7 +213,7 @@ let b2: boolean[][] = foo([true], [false]); >foo([true], [false]) : (true[] | false[])[] > : ^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T[]) => T[] -> : ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^^^^ >[true] : true[] > : ^^^^^^ >true : true diff --git a/tests/baselines/reference/arrayOfFunctionTypes3.types b/tests/baselines/reference/arrayOfFunctionTypes3.types index 367703aa8dc8f..aded9d836c38f 100644 --- a/tests/baselines/reference/arrayOfFunctionTypes3.types +++ b/tests/baselines/reference/arrayOfFunctionTypes3.types @@ -82,23 +82,23 @@ var c: { (x: number): number; (x: any): any; }; var z = [a, b, c]; >z : { (x: number): number; (x: any): any; }[] -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >[a, b, c] : { (x: number): number; (x: any): any; }[] > : ^^ >a : { (x: number): number; (x: string): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >b : { (x: number): number; (x: string): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >c : { (x: number): number; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ var r4 = z[0]; >r4 : { (x: number): number; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >z[0] : { (x: number): number; (x: any): any; } > : >z : { (x: number): number; (x: any): any; }[] -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >0 : 0 > : ^ @@ -106,7 +106,7 @@ var r5 = r4(''); // any not string >r5 : any >r4('') : any >r4 : { (x: number): number; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ @@ -116,7 +116,7 @@ var r5b = r4(1); >r4(1) : number > : ^^^^^^ >r4 : { (x: number): number; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -146,23 +146,23 @@ var c2: { (x: number): number; (x: T): any; }; var z2 = [a2, b2, c2]; >z2 : { (x: number): number; (x: T): any; }[] -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >[a2, b2, c2] : { (x: number): number; (x: T): any; }[] > : ^^ >a2 : { (x: T): number; (x: string): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >b2 : { (x: T): number; (x: string): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >c2 : { (x: number): number; (x: T): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ var r6 = z2[0]; >r6 : { (x: number): number; (x: T): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >z2[0] : { (x: number): number; (x: T): any; } > : >z2 : { (x: number): number; (x: T): any; }[] -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >0 : 0 > : ^ @@ -170,7 +170,7 @@ var r7 = r6(''); // any not string >r7 : any >r6('') : any >r6 : { (x: number): number; (x: T): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/arraySigChecking.types b/tests/baselines/reference/arraySigChecking.types index 39109ec91da90..225f346d482fc 100644 --- a/tests/baselines/reference/arraySigChecking.types +++ b/tests/baselines/reference/arraySigChecking.types @@ -98,7 +98,7 @@ isEmpty([]); >isEmpty([]) : boolean > : ^^^^^^^ >isEmpty : (l: { length: number; }) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -106,7 +106,7 @@ isEmpty(new Array(3)); >isEmpty(new Array(3)) : boolean > : ^^^^^^^ >isEmpty : (l: { length: number; }) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >new Array(3) : any[] > : ^^^^^ >Array : ArrayConstructor @@ -118,7 +118,7 @@ isEmpty(new Array(3)); >isEmpty(new Array(3)) : boolean > : ^^^^^^^ >isEmpty : (l: { length: number; }) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >new Array(3) : string[] > : ^^^^^^^^ >Array : ArrayConstructor @@ -130,7 +130,7 @@ isEmpty(['a']); >isEmpty(['a']) : boolean > : ^^^^^^^ >isEmpty : (l: { length: number; }) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >['a'] : string[] > : ^^^^^^^^ >'a' : "a" diff --git a/tests/baselines/reference/arraySlice.types b/tests/baselines/reference/arraySlice.types index cb1bf25547d19..afa95b1d8db89 100644 --- a/tests/baselines/reference/arraySlice.types +++ b/tests/baselines/reference/arraySlice.types @@ -9,11 +9,11 @@ arr.splice(1, 1); >arr.splice(1, 1) : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >arr.splice : { (start: number, deleteCount?: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } | { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >arr : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >splice : { (start: number, deleteCount?: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } | { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >1 : 1 diff --git a/tests/baselines/reference/arraySpreadInCall.types b/tests/baselines/reference/arraySpreadInCall.types index b5055deb192bc..47a8eb46c3072 100644 --- a/tests/baselines/reference/arraySpreadInCall.types +++ b/tests/baselines/reference/arraySpreadInCall.types @@ -21,7 +21,7 @@ f1(1, 2, 3, 4, ...[5, 6]); >f1(1, 2, 3, 4, ...[5, 6]) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -43,7 +43,7 @@ f1(...[1], 2, 3, 4, 5, 6); >f1(...[1], 2, 3, 4, 5, 6) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >...[1] : number > : ^^^^^^ >[1] : [number] @@ -65,7 +65,7 @@ f1(1, 2, ...[3, 4], 5, 6); >f1(1, 2, ...[3, 4], 5, 6) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -87,7 +87,7 @@ f1(1, 2, ...[3], 4, ...[5, 6]); >f1(1, 2, ...[3], 4, ...[5, 6]) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -113,7 +113,7 @@ f1(...[1, 2], ...[3, 4], ...[5, 6]); >f1(...[1, 2], ...[3, 4], ...[5, 6]) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -143,7 +143,7 @@ f1(...(([1, 2])), ...(((([3, 4])))), ...([5, 6])); >f1(...(([1, 2])), ...(((([3, 4])))), ...([5, 6])) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >...(([1, 2])) : number > : ^^^^^^ >(([1, 2])) : [number, number] @@ -195,7 +195,7 @@ const x21 = f2(...[1, 'foo']) >f2(...[1, 'foo']) : [number, string] > : ^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...[1, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'foo'] : [number, string] @@ -211,7 +211,7 @@ const x22 = f2(true, ...[1, 'foo']) >f2(true, ...[1, 'foo']) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...[1, 'foo'] : string | number @@ -229,7 +229,7 @@ const x23 = f2(...([1, 'foo'])) >f2(...([1, 'foo'])) : [number, string] > : ^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...([1, 'foo']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'foo']) : [number, string] @@ -247,7 +247,7 @@ const x24 = f2(true, ...([1, 'foo'])) >f2(true, ...([1, 'foo'])) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...([1, 'foo']) : string | number @@ -273,7 +273,7 @@ const x31 = f3(...[1, 'foo']) >f3(...[1, 'foo']) : [number, string] > : ^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...[1, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'foo'] : [number, string] @@ -289,7 +289,7 @@ const x32 = f3(true, ...[1, 'foo']) >f3(true, ...[1, 'foo']) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...[1, 'foo'] : string | number @@ -307,7 +307,7 @@ const x33 = f3(...([1, 'foo'])) >f3(...([1, 'foo'])) : [number, string] > : ^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...([1, 'foo']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'foo']) : [number, string] @@ -325,7 +325,7 @@ const x34 = f3(true, ...([1, 'foo'])) >f3(true, ...([1, 'foo'])) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...([1, 'foo']) : string | number @@ -351,7 +351,7 @@ const x41 = f4(...[1, 'foo']) >f4(...[1, 'foo']) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...[1, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'foo'] : [number, string] @@ -367,7 +367,7 @@ const x42 = f4(true, ...[1, 'foo']) >f4(true, ...[1, 'foo']) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...[1, 'foo'] : string | number @@ -385,7 +385,7 @@ const x43 = f4(...([1, 'foo'])) >f4(...([1, 'foo'])) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >...([1, 'foo']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'foo']) : [number, string] @@ -403,7 +403,7 @@ const x44 = f4(true, ...([1, 'foo'])) >f4(true, ...([1, 'foo'])) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >true : true > : ^^^^ >...([1, 'foo']) : string | number @@ -433,11 +433,11 @@ action.run(...[100, 'foo']) // error >action.run(...[100, 'foo']) : unknown > : ^^^^^^^ >action.run : (event?: unknown) => unknown -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^ >action : IAction > : ^^^^^^^ >run : (event?: unknown) => unknown -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^ >...[100, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[100, 'foo'] : [number, string] diff --git a/tests/baselines/reference/arrayToLocaleStringES2015.types b/tests/baselines/reference/arrayToLocaleStringES2015.types index 10a789142f9bb..35edce161032b 100644 --- a/tests/baselines/reference/arrayToLocaleStringES2015.types +++ b/tests/baselines/reference/arrayToLocaleStringES2015.types @@ -25,11 +25,11 @@ str = arr.toLocaleString(); // OK >arr.toLocaleString() : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = arr.toLocaleString('en-US'); // OK >str = arr.toLocaleString('en-US') : string @@ -39,11 +39,11 @@ str = arr.toLocaleString('en-US'); // OK >arr.toLocaleString('en-US') : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -55,11 +55,11 @@ str = arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); // OK >arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -95,11 +95,11 @@ str = dates.toLocaleString(); // OK >dates.toLocaleString() : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = dates.toLocaleString('fr'); // OK >str = dates.toLocaleString('fr') : string @@ -109,11 +109,11 @@ str = dates.toLocaleString('fr'); // OK >dates.toLocaleString('fr') : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'fr' : "fr" > : ^^^^ @@ -125,11 +125,11 @@ str = dates.toLocaleString('fr', { timeZone: 'UTC' }); // OK >dates.toLocaleString('fr', { timeZone: 'UTC' }) : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'fr' : "fr" > : ^^^^ >{ timeZone: 'UTC' } : { timeZone: string; } @@ -165,11 +165,11 @@ str = mixed.toLocaleString(); // OK >mixed.toLocaleString() : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = mixed.toLocaleString('fr'); // OK >str = mixed.toLocaleString('fr') : string @@ -179,11 +179,11 @@ str = mixed.toLocaleString('fr'); // OK >mixed.toLocaleString('fr') : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'fr' : "fr" > : ^^^^ @@ -195,11 +195,11 @@ str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }); // OK >mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'de' : "de" > : ^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -221,7 +221,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >(mixed as ReadonlyArray).toLocaleString('de', { currency: 'EUR', style: 'currency', timeZone: 'UTC' }) : string > : ^^^^^^ >(mixed as ReadonlyArray).toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >(mixed as ReadonlyArray) : readonly (number | Date)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixed as ReadonlyArray : readonly (number | Date)[] @@ -229,7 +229,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'de' : "de" > : ^^^^ >{ currency: 'EUR', style: 'currency', timeZone: 'UTC' } : { currency: string; style: "currency"; timeZone: string; } @@ -265,11 +265,11 @@ str = int8Array.toLocaleString(); // OK >int8Array.toLocaleString() : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = int8Array.toLocaleString('en-US'); // OK >str = int8Array.toLocaleString('en-US') : string @@ -279,11 +279,11 @@ str = int8Array.toLocaleString('en-US'); // OK >int8Array.toLocaleString('en-US') : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -295,11 +295,11 @@ str = int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); >int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -331,11 +331,11 @@ str = uint8Array.toLocaleString(); // OK >uint8Array.toLocaleString() : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = uint8Array.toLocaleString('en-US'); // OK >str = uint8Array.toLocaleString('en-US') : string @@ -345,11 +345,11 @@ str = uint8Array.toLocaleString('en-US'); // OK >uint8Array.toLocaleString('en-US') : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -361,11 +361,11 @@ str = uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -397,11 +397,11 @@ str = uint8ClampedArray.toLocaleString(); // OK >uint8ClampedArray.toLocaleString() : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = uint8ClampedArray.toLocaleString('en-US'); // OK >str = uint8ClampedArray.toLocaleString('en-US') : string @@ -411,11 +411,11 @@ str = uint8ClampedArray.toLocaleString('en-US'); // OK >uint8ClampedArray.toLocaleString('en-US') : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -427,11 +427,11 @@ str = uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: ' >uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -463,11 +463,11 @@ str = int16Array.toLocaleString(); // OK >int16Array.toLocaleString() : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = int16Array.toLocaleString('en-US'); // OK >str = int16Array.toLocaleString('en-US') : string @@ -477,11 +477,11 @@ str = int16Array.toLocaleString('en-US'); // OK >int16Array.toLocaleString('en-US') : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -493,11 +493,11 @@ str = int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -529,11 +529,11 @@ str = uint16Array.toLocaleString(); // OK >uint16Array.toLocaleString() : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = uint16Array.toLocaleString('en-US'); // OK >str = uint16Array.toLocaleString('en-US') : string @@ -543,11 +543,11 @@ str = uint16Array.toLocaleString('en-US'); // OK >uint16Array.toLocaleString('en-US') : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -559,11 +559,11 @@ str = uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -595,11 +595,11 @@ str = int32Array.toLocaleString(); // OK >int32Array.toLocaleString() : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = int32Array.toLocaleString('en-US'); // OK >str = int32Array.toLocaleString('en-US') : string @@ -609,11 +609,11 @@ str = int32Array.toLocaleString('en-US'); // OK >int32Array.toLocaleString('en-US') : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -625,11 +625,11 @@ str = int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -661,11 +661,11 @@ str = uint32Array.toLocaleString(); // OK >uint32Array.toLocaleString() : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = uint32Array.toLocaleString('en-US'); // OK >str = uint32Array.toLocaleString('en-US') : string @@ -675,11 +675,11 @@ str = uint32Array.toLocaleString('en-US'); // OK >uint32Array.toLocaleString('en-US') : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -691,11 +691,11 @@ str = uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -727,11 +727,11 @@ str = float32Array.toLocaleString(); // OK >float32Array.toLocaleString() : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = float32Array.toLocaleString('en-US'); // OK >str = float32Array.toLocaleString('en-US') : string @@ -741,11 +741,11 @@ str = float32Array.toLocaleString('en-US'); // OK >float32Array.toLocaleString('en-US') : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -757,11 +757,11 @@ str = float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -793,11 +793,11 @@ str = float64Array.toLocaleString(); // OK >float64Array.toLocaleString() : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = float64Array.toLocaleString('en-US'); // OK >str = float64Array.toLocaleString('en-US') : string @@ -807,11 +807,11 @@ str = float64Array.toLocaleString('en-US'); // OK >float64Array.toLocaleString('en-US') : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -823,11 +823,11 @@ str = float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } diff --git a/tests/baselines/reference/arrayToLocaleStringES2020.types b/tests/baselines/reference/arrayToLocaleStringES2020.types index 611bbc9e9b182..48dc3a6b311b3 100644 --- a/tests/baselines/reference/arrayToLocaleStringES2020.types +++ b/tests/baselines/reference/arrayToLocaleStringES2020.types @@ -25,11 +25,11 @@ str = arr.toLocaleString(); // OK >arr.toLocaleString() : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = arr.toLocaleString('en-US'); // OK >str = arr.toLocaleString('en-US') : string @@ -39,11 +39,11 @@ str = arr.toLocaleString('en-US'); // OK >arr.toLocaleString('en-US') : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -55,11 +55,11 @@ str = arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); // OK >arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -95,11 +95,11 @@ str = dates.toLocaleString(); // OK >dates.toLocaleString() : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = dates.toLocaleString('fr'); // OK >str = dates.toLocaleString('fr') : string @@ -109,11 +109,11 @@ str = dates.toLocaleString('fr'); // OK >dates.toLocaleString('fr') : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'fr' : "fr" > : ^^^^ @@ -125,11 +125,11 @@ str = dates.toLocaleString('fr', { timeZone: 'UTC' }); // OK >dates.toLocaleString('fr', { timeZone: 'UTC' }) : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'fr' : "fr" > : ^^^^ >{ timeZone: 'UTC' } : { timeZone: string; } @@ -165,11 +165,11 @@ str = mixed.toLocaleString(); // OK >mixed.toLocaleString() : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }); // OK >str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }) : string @@ -179,11 +179,11 @@ str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }); // OK >mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'de' : "de" > : ^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -205,7 +205,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >(mixed as ReadonlyArray).toLocaleString('de', { currency: 'EUR', style: 'currency', timeZone: 'UTC' }) : string > : ^^^^^^ >(mixed as ReadonlyArray).toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >(mixed as ReadonlyArray) : readonly (number | Date)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixed as ReadonlyArray : readonly (number | Date)[] @@ -213,7 +213,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'de' : "de" > : ^^^^ >{ currency: 'EUR', style: 'currency', timeZone: 'UTC' } : { currency: string; style: "currency"; timeZone: string; } @@ -263,11 +263,11 @@ str = bigInts.toLocaleString(); // OK >bigInts.toLocaleString() : string > : ^^^^^^ >bigInts.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >bigInts : bigint[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = bigInts.toLocaleString('en-US'); // OK >str = bigInts.toLocaleString('en-US') : string @@ -277,11 +277,11 @@ str = bigInts.toLocaleString('en-US'); // OK >bigInts.toLocaleString('en-US') : string > : ^^^^^^ >bigInts.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >bigInts : bigint[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -293,11 +293,11 @@ str = bigInts.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); / >bigInts.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigInts.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >bigInts : bigint[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -329,11 +329,11 @@ str = int8Array.toLocaleString(); // OK >int8Array.toLocaleString() : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = int8Array.toLocaleString('en-US'); // OK >str = int8Array.toLocaleString('en-US') : string @@ -343,11 +343,11 @@ str = int8Array.toLocaleString('en-US'); // OK >int8Array.toLocaleString('en-US') : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -359,11 +359,11 @@ str = int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); >int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -395,11 +395,11 @@ str = uint8Array.toLocaleString(); // OK >uint8Array.toLocaleString() : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = uint8Array.toLocaleString('en-US'); // OK >str = uint8Array.toLocaleString('en-US') : string @@ -409,11 +409,11 @@ str = uint8Array.toLocaleString('en-US'); // OK >uint8Array.toLocaleString('en-US') : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -425,11 +425,11 @@ str = uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -461,11 +461,11 @@ str = uint8ClampedArray.toLocaleString(); // OK >uint8ClampedArray.toLocaleString() : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = uint8ClampedArray.toLocaleString('en-US'); // OK >str = uint8ClampedArray.toLocaleString('en-US') : string @@ -475,11 +475,11 @@ str = uint8ClampedArray.toLocaleString('en-US'); // OK >uint8ClampedArray.toLocaleString('en-US') : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -491,11 +491,11 @@ str = uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: ' >uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -527,11 +527,11 @@ str = int16Array.toLocaleString(); // OK >int16Array.toLocaleString() : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = int16Array.toLocaleString('en-US'); // OK >str = int16Array.toLocaleString('en-US') : string @@ -541,11 +541,11 @@ str = int16Array.toLocaleString('en-US'); // OK >int16Array.toLocaleString('en-US') : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -557,11 +557,11 @@ str = int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -593,11 +593,11 @@ str = uint16Array.toLocaleString(); // OK >uint16Array.toLocaleString() : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = uint16Array.toLocaleString('en-US'); // OK >str = uint16Array.toLocaleString('en-US') : string @@ -607,11 +607,11 @@ str = uint16Array.toLocaleString('en-US'); // OK >uint16Array.toLocaleString('en-US') : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -623,11 +623,11 @@ str = uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -659,11 +659,11 @@ str = int32Array.toLocaleString(); // OK >int32Array.toLocaleString() : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = int32Array.toLocaleString('en-US'); // OK >str = int32Array.toLocaleString('en-US') : string @@ -673,11 +673,11 @@ str = int32Array.toLocaleString('en-US'); // OK >int32Array.toLocaleString('en-US') : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -689,11 +689,11 @@ str = int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -725,11 +725,11 @@ str = uint32Array.toLocaleString(); // OK >uint32Array.toLocaleString() : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = uint32Array.toLocaleString('en-US'); // OK >str = uint32Array.toLocaleString('en-US') : string @@ -739,11 +739,11 @@ str = uint32Array.toLocaleString('en-US'); // OK >uint32Array.toLocaleString('en-US') : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -755,11 +755,11 @@ str = uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -791,11 +791,11 @@ str = float32Array.toLocaleString(); // OK >float32Array.toLocaleString() : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = float32Array.toLocaleString('en-US'); // OK >str = float32Array.toLocaleString('en-US') : string @@ -805,11 +805,11 @@ str = float32Array.toLocaleString('en-US'); // OK >float32Array.toLocaleString('en-US') : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -821,11 +821,11 @@ str = float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -857,11 +857,11 @@ str = float64Array.toLocaleString(); // OK >float64Array.toLocaleString() : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ str = float64Array.toLocaleString('en-US'); // OK >str = float64Array.toLocaleString('en-US') : string @@ -871,11 +871,11 @@ str = float64Array.toLocaleString('en-US'); // OK >float64Array.toLocaleString('en-US') : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -887,11 +887,11 @@ str = float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -923,11 +923,11 @@ str = bigInt64Array.toLocaleString(); // OK >bigInt64Array.toLocaleString() : string > : ^^^^^^ >bigInt64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigInt64Array : BigInt64Array > : ^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ str = bigInt64Array.toLocaleString('en-US'); // OK >str = bigInt64Array.toLocaleString('en-US') : string @@ -937,11 +937,11 @@ str = bigInt64Array.toLocaleString('en-US'); // OK >bigInt64Array.toLocaleString('en-US') : string > : ^^^^^^ >bigInt64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigInt64Array : BigInt64Array > : ^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -953,11 +953,11 @@ str = bigInt64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >bigInt64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigInt64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigInt64Array : BigInt64Array > : ^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -989,11 +989,11 @@ str = bigIntUint64Array.toLocaleString(); // OK >bigIntUint64Array.toLocaleString() : string > : ^^^^^^ >bigIntUint64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigIntUint64Array : BigUint64Array > : ^^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ str = bigIntUint64Array.toLocaleString('en-US'); // OK >str = bigIntUint64Array.toLocaleString('en-US') : string @@ -1003,11 +1003,11 @@ str = bigIntUint64Array.toLocaleString('en-US'); // OK >bigIntUint64Array.toLocaleString('en-US') : string > : ^^^^^^ >bigIntUint64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigIntUint64Array : BigUint64Array > : ^^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -1019,11 +1019,11 @@ str = bigIntUint64Array.toLocaleString('en-US', { style: 'currency', currency: ' >bigIntUint64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigIntUint64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigIntUint64Array : BigUint64Array > : ^^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } diff --git a/tests/baselines/reference/arrowFunctionContexts.types b/tests/baselines/reference/arrowFunctionContexts.types index 6fdd2bd73e059..b2e439cd45142 100644 --- a/tests/baselines/reference/arrowFunctionContexts.types +++ b/tests/baselines/reference/arrowFunctionContexts.types @@ -49,11 +49,11 @@ window.setTimeout(() => null, 100); >window.setTimeout(() => null, 100) : number > : ^^^^^^ >window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >100 : 100 @@ -73,7 +73,7 @@ var obj = (n: number) => ''; var obj: { (n: number): string; }; // OK >obj : (n: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >n : number > : ^^^^^^ @@ -91,7 +91,7 @@ var arr = [(n: number) => '']; var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) >arr : ((n: number) => string)[] -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^ >n : number > : ^^^^^^ @@ -202,11 +202,11 @@ module M2 { >window.setTimeout(() => null, 100) : number > : ^^^^^^ >window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >100 : 100 @@ -226,7 +226,7 @@ module M2 { var obj: { (n: number): string; }; // OK >obj : (n: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >n : number > : ^^^^^^ @@ -244,7 +244,7 @@ module M2 { var arr: { (n: number): string; }[]; // Incorrect error here (bug 829597) >arr : ((n: number) => string)[] -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^ >n : number > : ^^^^^^ @@ -319,7 +319,7 @@ var generic1 = (n: T) => [n]; var generic1: { (n: T): T[] }; // Incorrect error, Bug 829597 >generic1 : (n: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >n : T > : ^ @@ -337,7 +337,7 @@ var generic2 = (n: T) => { return [n]; }; var generic2: { (n: T): T[] }; >generic2 : (n: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >n : T > : ^ diff --git a/tests/baselines/reference/arrowFunctionErrorSpan.types b/tests/baselines/reference/arrowFunctionErrorSpan.types index 999fde686751d..9b125e6961a6b 100644 --- a/tests/baselines/reference/arrowFunctionErrorSpan.types +++ b/tests/baselines/reference/arrowFunctionErrorSpan.types @@ -12,7 +12,7 @@ f(() => { }); >f(() => { }) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >() => { } : () => void > : ^^^^^^^^^^ @@ -21,7 +21,7 @@ f(() => { >f(() => {}) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -32,7 +32,7 @@ f(() => { >f(() => {}) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -43,7 +43,7 @@ f(() >f(() => { }) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >() => { } : () => void > : ^^^^^^^^^^ @@ -54,7 +54,7 @@ f((a, >f((a, b, c, d) => { }) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(a, b, c, d) => { } : (a: any, b: any, c: any, d: any) => void > : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ >a : any @@ -77,7 +77,7 @@ f(/* >f(/* */() => { }) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ */() => { }); >() => { } : () => void @@ -88,7 +88,7 @@ f(/* >f(/* */() => { }) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ */() => { }); >() => { } : () => void @@ -99,7 +99,7 @@ f(/* >f(/* */() => { }) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ */() => { >() => { } : () => void @@ -112,7 +112,7 @@ f( // comment 1 >f( // comment 1 // comment 2 () => // comment 3 { // comment 4 } // comment 5) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ // comment 2 () => @@ -131,7 +131,7 @@ f(_ => 1 + >f(_ => 1 + 2) : void > : ^^^^ >f : (a: () => number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >_ => 1 + 2 : (_: any) => number > : ^ ^^^^^^^^^^^^^^^^ >_ : any diff --git a/tests/baselines/reference/arrowFunctionExpressions.types b/tests/baselines/reference/arrowFunctionExpressions.types index d84ae02d49335..88166a14f735f 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.types +++ b/tests/baselines/reference/arrowFunctionExpressions.types @@ -18,7 +18,7 @@ var a = (p: string) => p.length; var a = (p: string) => { return p.length; } >a : (p: string) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >(p: string) => { return p.length; } : (p: string) => number > : ^ ^^ ^^^^^^^^^^^ >p : string @@ -271,13 +271,13 @@ var e = arrrr()(3)()(4); >arrrr()(3)()(4) : number > : ^^^^^^ >arrrr()(3)() : (n: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >arrrr()(3) : () => (n: number) => number -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^ >arrrr() : (m: number) => () => (n: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >arrrr : () => (m: number) => () => (n: number) => number -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >3 : 3 > : ^ >4 : 4 @@ -314,19 +314,19 @@ function someFn() { >arr(3)(4).toExponential() : string > : ^^^^^^ >arr(3)(4).toExponential : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >arr(3)(4) : number > : ^^^^^^ >arr(3) : (p: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >arr : (n: number) => (p: number) => number -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ >3 : 3 > : ^ >4 : 4 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ } // Arrow function used in function @@ -352,15 +352,15 @@ function someOtherFn() { >arr(4).charAt(0) : string > : ^^^^^^ >arr(4).charAt : (pos: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >arr(4) : string > : ^^^^^^ >arr : (n: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >4 : 4 > : ^ >charAt : (pos: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >0 : 0 > : ^ } @@ -423,7 +423,7 @@ var f = (n: string) => { >fn(4) : () => string > : ^^^^^^^^^^^^ >fn : (x: number) => () => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ >4 : 4 > : ^ } @@ -435,7 +435,7 @@ var g = f('')(); >f('') : () => string > : ^^^^^^^^^^^^ >f : (n: string) => () => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ >'' : "" > : ^^ @@ -477,7 +477,7 @@ function someOuterFn() { } return arr; >arr : (n: string) => () => () => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ } var h = someOuterFn()('')()(); >h : number @@ -489,9 +489,9 @@ var h = someOuterFn()('')()(); >someOuterFn()('') : () => () => number > : ^^^^^^^^^^^^^^^^^^ >someOuterFn() : (n: string) => () => () => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >someOuterFn : () => (n: string) => () => () => number -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >'' : "" > : ^^ @@ -499,11 +499,11 @@ h.toExponential(); >h.toExponential() : string > : ^^^^^^ >h.toExponential : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >h : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ // Arrow function used in try/catch/finally in function function tryCatchFn() { diff --git a/tests/baselines/reference/arrowFunctionJSDocAnnotation.types b/tests/baselines/reference/arrowFunctionJSDocAnnotation.types index 4f220385fee0e..4c8bbacebc9df 100644 --- a/tests/baselines/reference/arrowFunctionJSDocAnnotation.types +++ b/tests/baselines/reference/arrowFunctionJSDocAnnotation.types @@ -17,7 +17,7 @@ const x = identity( >x : any >identity( /** * @param {number} param * @returns {number=} */ param => param) : any >identity : (v: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ /** * @param {number} param diff --git a/tests/baselines/reference/asOperator3.types b/tests/baselines/reference/asOperator3.types index 94a5d45c17d2f..3aa9f17b2c7e4 100644 --- a/tests/baselines/reference/asOperator3.types +++ b/tests/baselines/reference/asOperator3.types @@ -88,7 +88,7 @@ var g = tag `Hello ${123} World` as string; > : ^^^^^^ >tag `Hello ${123} World` : any >tag : (...x: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^ >`Hello ${123} World` : string > : ^^^^^^ >123 : 123 @@ -101,7 +101,7 @@ var h = tag `Hello` as string; > : ^^^^^^ >tag `Hello` : any >tag : (...x: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^ >`Hello` : "Hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/asOperatorASI.types b/tests/baselines/reference/asOperatorASI.types index c2822de52d9f8..cd70c5203d9bc 100644 --- a/tests/baselines/reference/asOperatorASI.types +++ b/tests/baselines/reference/asOperatorASI.types @@ -21,7 +21,7 @@ var x = 10 as `Hello world`; // should not error >as `Hello world` : any >as : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^ >`Hello world` : "Hello world" > : ^^^^^^^^^^^^^ @@ -35,7 +35,7 @@ var y = 20 as(Foo); // should emit >as(Foo) : any >as : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/assertionFunctionWildcardImport1.types b/tests/baselines/reference/assertionFunctionWildcardImport1.types index 85b95ef5038e2..edcbefa024299 100644 --- a/tests/baselines/reference/assertionFunctionWildcardImport1.types +++ b/tests/baselines/reference/assertionFunctionWildcardImport1.types @@ -30,7 +30,7 @@ ts.Debug.assert(true); >ts.Debug.assert(true) : void > : ^^^^ >ts.Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >ts.Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >ts : typeof ts @@ -38,7 +38,7 @@ ts.Debug.assert(true); >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ @@ -46,11 +46,11 @@ Debug.assert(true); >Debug.assert(true) : void > : ^^^^ >Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ @@ -73,7 +73,7 @@ ts.Debug.assert(true); >ts.Debug.assert(true) : void > : ^^^^ >ts.Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >ts.Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >ts : typeof ts @@ -81,7 +81,7 @@ ts.Debug.assert(true); >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ @@ -89,11 +89,11 @@ Debug.assert(true); >Debug.assert(true) : void > : ^^^^ >Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ diff --git a/tests/baselines/reference/assertionFunctionWildcardImport2.types b/tests/baselines/reference/assertionFunctionWildcardImport2.types index e8f5d567da6a2..b74240fbf1d94 100644 --- a/tests/baselines/reference/assertionFunctionWildcardImport2.types +++ b/tests/baselines/reference/assertionFunctionWildcardImport2.types @@ -34,7 +34,7 @@ function isNonNullable(obj: T): asserts obj is NonNullable { export { isNonNullable >isNonNullable : (obj: T) => asserts obj is NonNullable -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }; @@ -53,11 +53,11 @@ function test(obj: string | null): void { >asserts.isNonNullable(obj) : void > : ^^^^ >asserts.isNonNullable : (obj: T) => asserts obj is NonNullable -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asserts : typeof asserts > : ^^^^^^^^^^^^^^ >isNonNullable : (obj: T) => asserts obj is NonNullable -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : string | null > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types b/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types index 864986d72e770..deb93da51bc93 100644 --- a/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types +++ b/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types @@ -56,7 +56,7 @@ assertEqual(animal.type, 'cat' as const); >assertEqual(animal.type, 'cat' as const) : void > : ^^^^ >assertEqual : (value: any, type: T) => asserts value is T -> : ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >animal.type : "cat" | "dog" > : ^^^^^^^^^^^^^ >animal : Animal @@ -96,7 +96,7 @@ assertEqual(animalOrUndef?.type, 'cat' as const); >assertEqual(animalOrUndef?.type, 'cat' as const) : void > : ^^^^ >assertEqual : (value: any, type: T) => asserts value is T -> : ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >animalOrUndef?.type : "cat" | "dog" | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >animalOrUndef : Animal | undefined diff --git a/tests/baselines/reference/assertionTypePredicates1.types b/tests/baselines/reference/assertionTypePredicates1.types index 3073552c0a909..e810ca3cdb8cc 100644 --- a/tests/baselines/reference/assertionTypePredicates1.types +++ b/tests/baselines/reference/assertionTypePredicates1.types @@ -59,7 +59,7 @@ function f01(x: unknown) { >assert(typeof x === "string") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -89,7 +89,7 @@ function f01(x: unknown) { >assert(x instanceof Error) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >x instanceof Error : boolean > : ^^^^^^^ >x : unknown @@ -117,7 +117,7 @@ function f01(x: unknown) { >assert(typeof x === "boolean" || typeof x === "number") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >typeof x === "boolean" || typeof x === "number" : boolean > : ^^^^^^^ >typeof x === "boolean" : boolean @@ -138,12 +138,12 @@ function f01(x: unknown) { > : ^^^^^^^^ x.toLocaleString; ->x.toLocaleString : ((locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined) => string) | (() => string) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x.toLocaleString : ((locales?: string | string[], options?: Intl.NumberFormatOptions) => string) | (() => string) +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | boolean > : ^^^^^^^^^^^^^^^^ ->toLocaleString : ((locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined) => string) | (() => string) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>toLocaleString : ((locales?: string | string[], options?: Intl.NumberFormatOptions) => string) | (() => string) +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } if (!!true) { >!!true : true @@ -157,11 +157,11 @@ function f01(x: unknown) { >assert(isArrayOfStrings(x)) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >isArrayOfStrings(x) : boolean > : ^^^^^^^ >isArrayOfStrings : (value: unknown) => value is string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >x : unknown > : ^^^^^^^ @@ -189,7 +189,7 @@ function f01(x: unknown) { >assertIsArrayOfStrings(x) : void > : ^^^^ >assertIsArrayOfStrings : (value: unknown) => asserts value is string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : unknown > : ^^^^^^^ @@ -217,7 +217,7 @@ function f01(x: unknown) { >assertIsArrayOfStrings(false) : void > : ^^^^ >assertIsArrayOfStrings : (value: unknown) => asserts value is string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >false : false > : ^^^^^ @@ -237,7 +237,7 @@ function f01(x: unknown) { >assert(x === undefined || typeof x === "string") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >x === undefined || typeof x === "string" : boolean > : ^^^^^^^ >x === undefined : boolean @@ -263,7 +263,7 @@ function f01(x: unknown) { >assertDefined(x) : void > : ^^^^ >assertDefined : (value: T) => asserts value is NonNullable -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -283,7 +283,7 @@ function f01(x: unknown) { >assert(false) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >false : false > : ^^^^^ @@ -303,7 +303,7 @@ function f01(x: unknown) { >assert(false && x === undefined) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >false && x === undefined : false > : ^^^^^ >false : false @@ -339,7 +339,7 @@ function f02(x: string | undefined) { >assert(x) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -363,7 +363,7 @@ function f02(x: string | undefined) { >assert(x !== undefined) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >x !== undefined : boolean > : ^^^^^^^ >x : string | undefined @@ -391,7 +391,7 @@ function f02(x: string | undefined) { >assertDefined(x) : void > : ^^^^ >assertDefined : (value: T) => asserts value is NonNullable -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -419,7 +419,7 @@ function f03(x: string | undefined, assert: (value: unknown) => asserts value) { >assert(x) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -468,12 +468,12 @@ function f10(x: string | undefined) { Debug.assert(x); >Debug.assert(x) : void > : ^^^^ ->Debug.assert : (value: unknown, message?: string | undefined) => asserts value -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Debug.assert : (value: unknown, message?: string) => asserts value +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ ->assert : (value: unknown, message?: string | undefined) => asserts value -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>assert : (value: unknown, message?: string) => asserts value +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -496,12 +496,12 @@ function f10(x: string | undefined) { Debug.assert(x !== undefined); >Debug.assert(x !== undefined) : void > : ^^^^ ->Debug.assert : (value: unknown, message?: string | undefined) => asserts value -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Debug.assert : (value: unknown, message?: string) => asserts value +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ ->assert : (value: unknown, message?: string | undefined) => asserts value -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>assert : (value: unknown, message?: string) => asserts value +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >x !== undefined : boolean > : ^^^^^^^ >x : string | undefined @@ -529,11 +529,11 @@ function f10(x: string | undefined) { >Debug.assertDefined(x) : void > : ^^^^ >Debug.assertDefined : (value: T) => asserts value is NonNullable -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >assertDefined : (value: T) => asserts value is NonNullable -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -556,12 +556,12 @@ function f10(x: string | undefined) { Debug.assert(false); >Debug.assert(false) : void > : ^^^^ ->Debug.assert : (value: unknown, message?: string | undefined) => asserts value -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Debug.assert : (value: unknown, message?: string) => asserts value +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ ->assert : (value: unknown, message?: string | undefined) => asserts value -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>assert : (value: unknown, message?: string) => asserts value +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >false : false > : ^^^^^ @@ -665,11 +665,11 @@ class Test { >this.assert(typeof x === "string") : void > : ^^^^ >this.assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -733,11 +733,11 @@ class Test { >this.assert(false) : void > : ^^^^ >this.assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >false : false > : ^^^^^ @@ -776,11 +776,11 @@ class Derived extends Test { >super.assert(typeof x === "string") : void > : ^^^^ >super.assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >super : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -808,11 +808,11 @@ class Derived extends Test { >super.assert(false) : void > : ^^^^ >super.assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >super : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >false : false > : ^^^^^ @@ -935,7 +935,7 @@ function f20(x: unknown) { >assert(typeof x === "string") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -947,19 +947,19 @@ function f20(x: unknown) { const a = [assert]; >a : ((value: unknown) => asserts value)[] -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >[assert] : ((value: unknown) => asserts value)[] > : ^ ^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ a[0](typeof x === "string"); // Error >a[0](typeof x === "string") : void > : ^^^^ >a[0] : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >a : ((value: unknown) => asserts value)[] -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >typeof x === "string" : boolean @@ -983,11 +983,11 @@ function f20(x: unknown) { >t1.assert(typeof x === "string") : void > : ^^^^ >t1.assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >t1 : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -1009,11 +1009,11 @@ function f20(x: unknown) { >t2.assert(typeof x === "string") : void > : ^^^^ >t2.assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >t2 : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" diff --git a/tests/baselines/reference/assertionTypePredicates2.types b/tests/baselines/reference/assertionTypePredicates2.types index e6a8e8f909cd5..a45516436a359 100644 --- a/tests/baselines/reference/assertionTypePredicates2.types +++ b/tests/baselines/reference/assertionTypePredicates2.types @@ -66,7 +66,7 @@ export const main = () => { >foo(a) : void > : ^^^^ >foo : (a: A) => asserts a is B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ >a : A > : ^ diff --git a/tests/baselines/reference/assertionsAndNonReturningFunctions.types b/tests/baselines/reference/assertionsAndNonReturningFunctions.types index 9482ae8c1f34f..4cbad34aa450f 100644 --- a/tests/baselines/reference/assertionsAndNonReturningFunctions.types +++ b/tests/baselines/reference/assertionsAndNonReturningFunctions.types @@ -135,7 +135,7 @@ function f1(x) { >assert2(typeof x === "string") : void > : ^^^^ >assert2 : (check: boolean) => asserts check -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -165,7 +165,7 @@ function f1(x) { >assertIsString(x) : void > : ^^^^ >assertIsString : (x: unknown) => asserts x is string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/assignFromStringInterface2.types b/tests/baselines/reference/assignFromStringInterface2.types index 9a9bb5cb3424c..089fb85d63604 100644 --- a/tests/baselines/reference/assignFromStringInterface2.types +++ b/tests/baselines/reference/assignFromStringInterface2.types @@ -58,19 +58,19 @@ interface NotString { match(regexp: string): RegExpMatchArray; >match : { (regexp: string): RegExpMatchArray; (regexp: RegExp): RegExpMatchArray; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >regexp : string > : ^^^^^^ match(regexp: RegExp): RegExpMatchArray; >match : { (regexp: string): RegExpMatchArray; (regexp: RegExp): RegExpMatchArray; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ replace(searchValue: string, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >searchValue : string > : ^^^^^^ >replaceValue : string @@ -78,7 +78,7 @@ interface NotString { replace(searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >searchValue : string > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -90,7 +90,7 @@ interface NotString { replace(searchValue: RegExp, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : string @@ -98,7 +98,7 @@ interface NotString { replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -110,13 +110,13 @@ interface NotString { search(regexp: string): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >regexp : string > : ^^^^^^ search(regexp: RegExp): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ @@ -130,7 +130,7 @@ interface NotString { split(separator: string, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ >separator : string > : ^^^^^^ >limit : number @@ -138,7 +138,7 @@ interface NotString { split(separator: RegExp, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : RegExp > : ^^^^^^ >limit : number diff --git a/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.types b/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.types index a451683f6cf61..fec2c84589667 100644 --- a/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.types +++ b/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.types @@ -17,7 +17,7 @@ fn((a, b) => true); >fn((a, b) => true) : void > : ^^^^ >fn : (cb: IResultCallback) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(a, b) => true : (a: any, b: any) => boolean > : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : any @@ -31,7 +31,7 @@ fn(function (a, b) { return true; }) >fn(function (a, b) { return true; }) : void > : ^^^^ >fn : (cb: IResultCallback) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >function (a, b) { return true; } : (a: any, b: any) => boolean > : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : any diff --git a/tests/baselines/reference/assignToFn.types b/tests/baselines/reference/assignToFn.types index 507148c0459ac..db1bf189a28a5 100644 --- a/tests/baselines/reference/assignToFn.types +++ b/tests/baselines/reference/assignToFn.types @@ -31,11 +31,11 @@ module M { >x.f="hello" : "hello" > : ^^^^^^^ >x.f : (n: number) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >x : I > : ^ >f : (n: number) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } diff --git a/tests/baselines/reference/assignToPrototype1.types b/tests/baselines/reference/assignToPrototype1.types index f2377b309a77c..c211672b50570 100644 --- a/tests/baselines/reference/assignToPrototype1.types +++ b/tests/baselines/reference/assignToPrototype1.types @@ -18,7 +18,7 @@ Point.prototype.add = function(dx, dy) { >Point.prototype.add = function(dx, dy) {} : (dx: number, dy: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >Point.prototype.add : (dx: number, dy: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >Point.prototype : Point > : ^^^^^ >Point : typeof Point @@ -26,7 +26,7 @@ Point.prototype.add = function(dx, dy) { >prototype : Point > : ^^^^^ >add : (dx: number, dy: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >function(dx, dy) {} : (dx: number, dy: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >dx : number diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.types b/tests/baselines/reference/assigningFromObjectToAnythingElse.types index 443ef2cb89272..feb99b14d4c4d 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.types +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.types @@ -22,12 +22,12 @@ var a: String = Object.create(""); > : ^^^^^^ >Object.create("") : any > : ^^^ ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >"" : "" > : ^^ @@ -36,12 +36,12 @@ var c: String = Object.create(1); > : ^^^^^^ >Object.create(1) : any > : ^^^ ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/assignmentCompatBug2.types b/tests/baselines/reference/assignmentCompatBug2.types index 278184dbb6791..3a33b45941f1a 100644 --- a/tests/baselines/reference/assignmentCompatBug2.types +++ b/tests/baselines/reference/assignmentCompatBug2.types @@ -65,7 +65,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0,} : { f: (n: number) => number; g: (s: string) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0,} : { f: (n: number) => number; g: (s: string) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -101,7 +101,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; },} : { f: (n: number) => number; g: (s: string) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; },} : { f: (n: number) => number; g: (s: string) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -131,7 +131,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, m: 0,} : { f: (n: number) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >{ f: (n) => { return 0; }, m: 0,} : { f: (n: number) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -157,7 +157,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; m: number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; m: number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ @@ -207,7 +207,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; }, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatBug3.types b/tests/baselines/reference/assignmentCompatBug3.types index e1dce0f5f0633..1a1bafcc64670 100644 --- a/tests/baselines/reference/assignmentCompatBug3.types +++ b/tests/baselines/reference/assignmentCompatBug3.types @@ -37,11 +37,11 @@ function makePoint(x: number, y: number) { >Math.sqrt(x*x+y*y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >x*x+y*y : number > : ^^^^^^ >x*x : number @@ -90,14 +90,14 @@ foo(x); >foo(x) : void > : ^^^^ >foo : (test: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : any foo(x + y); >foo(x + y) : void > : ^^^^ >foo : (test: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x + y : any >x : any >y : any diff --git a/tests/baselines/reference/assignmentCompatBug5.types b/tests/baselines/reference/assignmentCompatBug5.types index c4fc56b7ce63f..61f3aa0fdd266 100644 --- a/tests/baselines/reference/assignmentCompatBug5.types +++ b/tests/baselines/reference/assignmentCompatBug5.types @@ -13,7 +13,7 @@ foo1({ b: 5 }); >foo1({ b: 5 }) : void > : ^^^^ >foo1 : (x: { a: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{ b: 5 } : { b: number; } > : ^^^^^^^^^^^^^^ >b : number @@ -31,7 +31,7 @@ foo2(["s", "t"]); >foo2(["s", "t"]) : void > : ^^^^ >foo2 : (x: number[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >["s", "t"] : string[] > : ^^^^^^^^ >"s" : "s" @@ -51,7 +51,7 @@ foo3((s:string) => { }); >foo3((s:string) => { }) : void > : ^^^^ >foo3 : (x: (n: number) => number) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(s:string) => { } : (s: string) => void > : ^ ^^ ^^^^^^^^^ >s : string @@ -61,7 +61,7 @@ foo3((n) => { return; }); >foo3((n) => { return; }) : void > : ^^^^ >foo3 : (x: (n: number) => number) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(n) => { return; } : (n: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types b/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types index 5cb03496b5021..4ff88697136bf 100644 --- a/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types +++ b/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types @@ -15,7 +15,7 @@ foo({ id: 1234 }); // Ok >foo({ id: 1234 }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{ id: 1234 } : { id: number; } > : ^^^^^^^^^^^^^^^ >id : number @@ -27,7 +27,7 @@ foo({ id: 1234, name: "hello" }); // Ok >foo({ id: 1234, name: "hello" }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{ id: 1234, name: "hello" } : { id: number; name: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : number @@ -43,7 +43,7 @@ foo({ id: 1234, name: false }); // Error, name of wrong type >foo({ id: 1234, name: false }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{ id: 1234, name: false } : { id: number; name: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : number @@ -59,7 +59,7 @@ foo({ name: "hello" }); // Error, id required but missing >foo({ name: "hello" }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{ name: "hello" } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string diff --git a/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.types b/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.types index 5fa1f073aa41d..2210501e5686b 100644 --- a/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.types +++ b/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.types @@ -32,7 +32,7 @@ Biz(new Foo()); >Biz(new Foo()) : void > : ^^^^ >Biz : (map: IHandlerMap) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >new Foo() : Foo > : ^^^ >Foo : typeof Foo diff --git a/tests/baselines/reference/assignmentCompatOnNew.types b/tests/baselines/reference/assignmentCompatOnNew.types index e51b5f0088ac4..d765b3f08c38a 100644 --- a/tests/baselines/reference/assignmentCompatOnNew.types +++ b/tests/baselines/reference/assignmentCompatOnNew.types @@ -14,8 +14,8 @@ function bar(x: {new(): Foo;}){} bar(Foo); // Error, but should be allowed >bar(Foo) : void > : ^^^^ ->bar : (x: new () => Foo) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : (x: { new (): Foo; }) => void +> : ^ ^^ ^^^^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.types b/tests/baselines/reference/assignmentCompatWithCallSignatures.types index d1615bb0ee2e5..67f18805a814b 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.types @@ -20,17 +20,17 @@ var a: { (x: number): void }; t = a; >t = a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >t : T > : ^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ a = t; >a = t : T > : ^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >t : T > : ^ @@ -59,27 +59,27 @@ t = s; t = a2; >t = a2 : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >t : T > : ^ >a2 : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ a = s; >a = s : S > : ^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >s : S > : ^ a = a2; >a = a2 : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a2 : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ t = (x: T) => 1; >t = (x: T) => 1 : (x: T) => number @@ -119,7 +119,7 @@ a = (x: T) => 1; >a = (x: T) => 1 : (x: T) => number > : ^ ^^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(x: T) => 1 : (x: T) => number > : ^ ^^ ^^ ^^^^^^^^^^^ >x : T @@ -131,7 +131,7 @@ a = () => 1; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -141,7 +141,7 @@ a = function (x: number) { return ''; } >a = function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -175,11 +175,11 @@ t = s2; t = a3; >t = a3 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >t : T > : ^ >a3 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -209,23 +209,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a3 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -237,7 +237,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types index 172c871621c08..57c39a0e4e32b 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types @@ -24,17 +24,17 @@ var a: { f(x: number): void }; t = a; >t = a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >t : T > : ^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ a = t; >a = t : T > : ^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >t : T > : ^ @@ -67,27 +67,27 @@ t = s; t = a2; >t = a2 : { f(x: number): string; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^ >t : T > : ^ >a2 : { f(x: number): string; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^ a = s; >a = s : S > : ^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >s : S > : ^ a = a2; >a = a2 : { f(x: number): string; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >a2 : { f(x: number): string; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^ t = { f: () => 1 }; >t = { f: () => 1 } : { f: () => number; } @@ -153,7 +153,7 @@ a = { f: () => 1 } >a = { f: () => 1 } : { f: () => number; } > : ^^^^^^^^^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >{ f: () => 1 } : { f: () => number; } > : ^^^^^^^^^^^^^^^^^^^^ >f : () => number @@ -167,7 +167,7 @@ a = { f: (x: T) => 1 }; >a = { f: (x: T) => 1 } : { f: (x: T) => number; } > : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >{ f: (x: T) => 1 } : { f: (x: T) => number; } > : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >f : (x: T) => number @@ -183,7 +183,7 @@ a = { f: function (x: number) { return ''; } } >a = { f: function (x: number) { return ''; } } : { f: (x: number) => string; } > : ^^^^^^ ^^ ^^^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >{ f: function (x: number) { return ''; } } : { f: (x: number) => string; } > : ^^^^^^ ^^ ^^^^^^^^^^^^^^ >f : (x: number) => string @@ -222,7 +222,7 @@ a = () => 1; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -232,7 +232,7 @@ a = function (x: number) { return ''; } >a = function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -270,11 +270,11 @@ t = s2; t = a3; >t = a3 : { f(x: string): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >t : T > : ^ >a3 : { f(x: string): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -304,23 +304,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : { f(x: string): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >a3 : { f(x: string): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -332,7 +332,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types index 5fe140ce5da53..45ece30a72527 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types @@ -240,19 +240,19 @@ var b: (x: T) => T[]; a = b; // ok >a = b : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a : (x: number) => number[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ >b : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b = a; // ok >b = a : (x: number) => number[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ >b : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a : (x: number) => number[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ var b2: (x: T) => string[]; >b2 : (x: T) => string[] @@ -262,19 +262,19 @@ var b2: (x: T) => string[]; a2 = b2; // ok >a2 = b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : (x: number) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ >b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ b2 = a2; // ok >b2 = a2 : (x: number) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ >b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : (x: number) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ var b3: (x: T) => T; >b3 : (x: T) => T @@ -284,19 +284,19 @@ var b3: (x: T) => T; a3 = b3; // ok >a3 = b3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >a3 : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >b3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ b3 = a3; // ok >b3 = a3 : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >b3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >a3 : (x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ var b4: (x: T, y: U) => T; >b4 : (x: T, y: U) => T @@ -308,19 +308,19 @@ var b4: (x: T, y: U) => T; a4 = b4; // ok >a4 = b4 : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >a4 : (x: string, y: number) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ b4 = a4; // ok >b4 = a4 : (x: string, y: number) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >a4 : (x: string, y: number) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T @@ -332,19 +332,19 @@ var b5: (x: (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >a5 : (x: (arg: string) => number) => string -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ b5 = a5; // ok >b5 = a5 : (x: (arg: string) => number) => string -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >a5 : (x: (arg: string) => number) => string -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T @@ -356,19 +356,19 @@ var b6: (x: (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : (x: (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ b6 = a6; // ok >b6 = a6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ var b7: (x: (arg: T) => U) => (r: T) => U; >b7 : (x: (arg: T) => U) => (r: T) => U @@ -382,19 +382,19 @@ var b7: (x: (arg: T) => U) => (r: T) => U; a7 = b7; // ok >a7 = b7 : (x: (arg: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ b7 = a7; // ok >b7 = a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U @@ -412,19 +412,19 @@ var b8: (x: (arg: T) => U, y: (arg2: T) => U) a8 = b8; // ok >a8 = b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ b8 = a8; // ok >b8 = a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U @@ -446,19 +446,19 @@ var b9: (x: (arg: T) => U, y: (arg2: { foo: s a9 = b9; // ok >a9 = b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ b9 = a9; // ok >b9 = a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ var b10: (...x: T[]) => T; >b10 : (...x: T[]) => T @@ -468,19 +468,19 @@ var b10: (...x: T[]) => T; a10 = b10; // ok >a10 = b10 : (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a10 : (...x: Derived[]) => Derived -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^ >b10 : (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ b10 = a10; // ok >b10 = a10 : (...x: Derived[]) => Derived -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^ >b10 : (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a10 : (...x: Derived[]) => Derived -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^ var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T @@ -492,19 +492,19 @@ var b11: (x: T, y: T) => T; a11 = b11; // ok >a11 = b11 : (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ b11 = a11; // ok >b11 = a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ var b12: >(x: Array, y: T) => Array; >b12 : (x: Array, y: T) => Array @@ -515,20 +515,20 @@ var b12: >(x: Array, y: T) => Array; > : ^ a12 = b12; // ok ->a12 = b12 : (x: Base[], y: T) => Derived[] -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ->a12 : (x: Base[], y: Derived2[]) => Derived[] -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b12 : (x: Base[], y: T) => Derived[] -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +>a12 = b12 : (x: Array, y: T) => Derived[] +> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a12 : (x: Array, y: Array) => Derived[] +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 : (x: Array, y: T) => Derived[] +> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ b12 = a12; // ok ->b12 = a12 : (x: Base[], y: Derived2[]) => Derived[] -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b12 : (x: Base[], y: T) => Derived[] -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ->a12 : (x: Base[], y: Derived2[]) => Derived[] -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b12 = a12 : (x: Array, y: Array) => Derived[] +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 : (x: Array, y: T) => Derived[] +> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a12 : (x: Array, y: Array) => Derived[] +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ var b13: >(x: Array, y: T) => T; >b13 : (x: Array, y: T) => T @@ -539,20 +539,20 @@ var b13: >(x: Array, y: T) => T; > : ^ a13 = b13; // ok ->a13 = b13 : (x: Base[], y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ->a13 : (x: Base[], y: Derived[]) => Derived[] -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ->b13 : (x: Base[], y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ +>a13 = b13 : (x: Array, y: T) => T +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a13 : (x: Array, y: Array) => Derived[] +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b13 : (x: Array, y: T) => T +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ b13 = a13; // ok ->b13 = a13 : (x: Base[], y: Derived[]) => Derived[] -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ->b13 : (x: Base[], y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ->a13 : (x: Base[], y: Derived[]) => Derived[] -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +>b13 = a13 : (x: Array, y: Array) => Derived[] +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b13 : (x: Array, y: T) => T +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a13 : (x: Array, y: Array) => Derived[] +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ var b14: (x: { a: T; b: T }) => T; >b14 : (x: { a: T; b: T; }) => T @@ -566,19 +566,19 @@ var b14: (x: { a: T; b: T }) => T; a14 = b14; // ok >a14 = b14 : (x: { a: T; b: T; }) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >a14 : (x: { a: string; b: number; }) => Object -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b14 : (x: { a: T; b: T; }) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ b14 = a14; // ok >b14 = a14 : (x: { a: string; b: number; }) => Object -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b14 : (x: { a: T; b: T; }) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >a14 : (x: { a: string; b: number; }) => Object -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ var b15: (x: T) => T[]; >b15 : (x: T) => T[] @@ -588,19 +588,19 @@ var b15: (x: T) => T[]; a15 = b15; // ok >a15 = b15 : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a15 : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b15 : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b15 = a15; // ok >b15 = a15 : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b15 : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a15 : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ var b16: (x: T) => number[]; >b16 : (x: T) => number[] @@ -610,19 +610,19 @@ var b16: (x: T) => number[]; a16 = b16; // ok >a16 = b16 : (x: T) => number[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b16 : (x: T) => number[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ b16 = a16; // ok >b16 = a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b16 : (x: T) => number[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ var b17: (x: (a: T) => T) => T[]; // ok >b17 : (x: (a: T) => T) => T[] @@ -634,19 +634,19 @@ var b17: (x: (a: T) => T) => T[]; // ok a17 = b17; // ok >a17 = b17 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b17 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b17 = a17; // ok >b17 = a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b17 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ var b18: (x: (a: T) => T) => T[]; >b18 : (x: (a: T) => T) => T[] @@ -658,17 +658,17 @@ var b18: (x: (a: T) => T) => T[]; a18 = b18; // ok >a18 = b18 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b18 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b18 = a18; // ok >b18 = a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b18 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types index f531310d69095..8ce6f291942eb 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types @@ -194,19 +194,19 @@ module Errors { a2 = b2; >a2 = b2 : (x: T) => U[] -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^^^^ >a2 : (x: number) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ >b2 : (x: T) => U[] -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^^^^ b2 = a2; >b2 = a2 : (x: number) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ >b2 : (x: T) => U[] -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^^^^ >a2 : (x: number) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ var b7: (x: (arg: T) => U) => (r: T) => V; >b7 : (x: (arg: T) => U) => (r: T) => V @@ -220,19 +220,19 @@ module Errors { a7 = b7; >a7 = b7 : (x: (arg: T) => U) => (r: T) => V -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => V -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ b7 = a7; >b7 = a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => V -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U @@ -252,19 +252,19 @@ module Errors { a8 = b8; // error, { foo: number } and Base are incompatible >a8 = b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ b8 = a8; // error, { foo: number } and Base are incompatible >b8 = a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ var b10: (...x: T[]) => T; @@ -275,19 +275,19 @@ module Errors { a10 = b10; >a10 = b10 : (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a10 : (...x: Base[]) => Base -> : ^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >b10 : (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ b10 = a10; >b10 = a10 : (...x: Base[]) => Base -> : ^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >b10 : (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a10 : (...x: Base[]) => Base -> : ^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T @@ -299,19 +299,19 @@ module Errors { a11 = b11; >a11 = b11 : (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ b11 = a11; >b11 = a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ var b12: >(x: Array, y: Array) => T; >b12 : (x: Array, y: Array) => T @@ -322,20 +322,20 @@ module Errors { > : ^^^^^^ a12 = b12; ->a12 = b12 : (x: Base[], y: Base[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->a12 : (x: Base[], y: Derived2[]) => Derived[] -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b12 : (x: Base[], y: Base[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ +>a12 = b12 : (x: Array, y: Array) => T +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a12 : (x: Array, y: Array) => Derived[] +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 : (x: Array, y: Array) => T +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ b12 = a12; ->b12 = a12 : (x: Base[], y: Derived2[]) => Derived[] -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b12 : (x: Base[], y: Base[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->a12 : (x: Base[], y: Derived2[]) => Derived[] -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b12 = a12 : (x: Array, y: Array) => Derived[] +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 : (x: Array, y: Array) => T +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a12 : (x: Array, y: Array) => Derived[] +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ var b15: (x: { a: T; b: T }) => T; >b15 : (x: { a: T; b: T; }) => T @@ -349,19 +349,19 @@ module Errors { a15 = b15; >a15 = b15 : (x: { a: T; b: T; }) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b15 : (x: { a: T; b: T; }) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ b15 = a15; >b15 = a15 : (x: { a: string; b: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b15 : (x: { a: T; b: T; }) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ var b15a: (x: { a: T; b: T }) => number; >b15a : (x: { a: T; b: T; }) => number @@ -375,19 +375,19 @@ module Errors { a15 = b15a; >a15 = b15a : (x: { a: T; b: T; }) => number -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b15a : (x: { a: T; b: T; }) => number -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ b15a = a15; >b15a = a15 : (x: { a: string; b: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b15a : (x: { a: T; b: T; }) => number -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ var b16: (x: (a: T) => T) => T[]; >b16 : (x: (a: T) => T) => T[] @@ -399,19 +399,19 @@ module Errors { a16 = b16; >a16 = b16 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ >b16 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b16 = a16; >b16 = a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ >b16 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ var b17: (x: (a: T) => T) => any[]; >b17 : (x: (a: T) => T) => any[] @@ -423,19 +423,19 @@ module Errors { a17 = b17; >a17 = b17 : (x: (a: T) => T) => any[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->a17 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ +>a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b17 : (x: (a: T) => T) => any[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ b17 = a17; ->b17 = a17 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +>b17 = a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b17 : (x: (a: T) => T) => any[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->a17 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ +>a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ } module WithGenericSignaturesInBaseType { @@ -457,19 +457,19 @@ module Errors { a2 = b2; >a2 = b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ b2 = a2; >b2 = a2 : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ // target type has generic call signature var a3: (x: T) => string[]; @@ -486,18 +486,18 @@ module Errors { a3 = b3; >a3 = b3 : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a3 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >b3 : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b3 = a3; >b3 = a3 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >b3 : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a3 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ } } diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types index 58aa796a7e801..c31fc6e6560a1 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types @@ -166,19 +166,19 @@ var b: (x: T) => T[]; a = b; // ok >a = b : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b = a; // ok >b = a : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ var b2: (x: T) => string[]; >b2 : (x: T) => string[] @@ -188,19 +188,19 @@ var b2: (x: T) => string[]; a2 = b2; // ok >a2 = b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ b2 = a2; // ok >b2 = a2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ var b3: (x: T) => T; >b3 : (x: T) => T @@ -210,19 +210,19 @@ var b3: (x: T) => T; a3 = b3; // ok >a3 = b3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >a3 : (x: T) => void -> : ^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >b3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ b3 = a3; // ok >b3 = a3 : (x: T) => void -> : ^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >b3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >a3 : (x: T) => void -> : ^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string @@ -234,19 +234,19 @@ var b4: (x: T, y: U) => string; a4 = b4; // ok >a4 = b4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ b4 = a4; // ok >b4 = a4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T @@ -258,19 +258,19 @@ var b5: (x: (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >a5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ b5 = a5; // ok >b5 = a5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >a5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T @@ -282,19 +282,19 @@ var b6: (x: (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : (x: (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a6 : (x: (arg: T) => Derived) => T -> : ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ b6 = a6; // ok >b6 = a6 : (x: (arg: T) => Derived) => T -> : ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a6 : (x: (arg: T) => Derived) => T -> : ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -312,19 +312,19 @@ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok >a11 = b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ b11 = a11; // ok >b11 = a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ var b15: (x: { a: U; b: V; }) => U[]; >b15 : (x: { a: U; b: V; }) => U[] @@ -338,19 +338,19 @@ var b15: (x: { a: U; b: V; }) => U[]; a15 = b15; // ok, T = U, T = V >a15 = b15 : (x: { a: U; b: V; }) => U[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ >a15 : (x: { a: T; b: T; }) => T[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b15 : (x: { a: U; b: V; }) => U[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ b15 = a15; // ok >b15 = a15 : (x: { a: T; b: T; }) => T[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b15 : (x: { a: U; b: V; }) => U[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ >a15 : (x: { a: T; b: T; }) => T[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] @@ -364,19 +364,19 @@ var b16: (x: { a: T; b: T }) => T[]; a15 = b16; // ok >a15 = b16 : (x: { a: T; b: T; }) => T[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a15 : (x: { a: T; b: T; }) => T[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b16 : (x: { a: T; b: T; }) => T[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b15 = a16; // ok >b15 = a16 : (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >b15 : (x: { a: U; b: V; }) => U[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ var b17: (x: (a: T) => T) => T[]; >b17 : (x: (a: T) => T) => T[] @@ -388,19 +388,19 @@ var b17: (x: (a: T) => T) => T[]; a17 = b17; // ok >a17 = b17 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b17 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b17 = a17; // ok >b17 = a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b17 : (x: (a: T) => T) => T[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ var b18: (x: (a: T) => T) => any[]; >b18 : (x: (a: T) => T) => any[] @@ -412,17 +412,17 @@ var b18: (x: (a: T) => T) => any[]; a18 = b18; // ok >a18 = b18 : (x: (a: T) => T) => any[] -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ->a18 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ +>a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b18 : (x: (a: T) => T) => any[] -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ b18 = a18; // ok ->b18 = a18 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +>b18 = a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b18 : (x: (a: T) => T) => any[] -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ->a18 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ +>a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types index 31d89bac2b82d..378ae62ce743e 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types @@ -123,27 +123,27 @@ var b: (x: T) => T[]; x.a = b; >x.a = b : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >x.a : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >x : A > : ^ >a : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b = x.a; >b = x.a : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >x.a : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >x : A > : ^ >a : (x: T) => T[] -> : ^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ var b2: (x: T) => string[]; >b2 : (x: T) => string[] @@ -153,27 +153,27 @@ var b2: (x: T) => string[]; x.a2 = b2; >x.a2 = b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >x.a2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >x : A > : ^ >a2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ b2 = x.a2; >b2 = x.a2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >b2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >x.a2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ >x : A > : ^ >a2 : (x: T) => string[] -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^ var b3: (x: T) => T; >b3 : (x: T) => T @@ -183,27 +183,27 @@ var b3: (x: T) => T; x.a3 = b3; >x.a3 = b3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >x.a3 : (x: T) => void -> : ^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >x : A > : ^ >a3 : (x: T) => void -> : ^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >b3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ b3 = x.a3; >b3 = x.a3 : (x: T) => void -> : ^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >b3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >x.a3 : (x: T) => void -> : ^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >x : A > : ^ >a3 : (x: T) => void -> : ^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string @@ -215,27 +215,27 @@ var b4: (x: T, y: U) => string; x.a4 = b4; >x.a4 = b4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x.a4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : A > : ^ >a4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ b4 = x.a4; >b4 = x.a4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x.a4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : A > : ^ >a4 : (x: T, y: U) => string -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T @@ -247,27 +247,27 @@ var b5: (x: (arg: T) => U) => T; x.a5 = b5; >x.a5 = b5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >x.a5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >x : A > : ^ >a5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ b5 = x.a5; >b5 = x.a5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >x.a5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ >x : A > : ^ >a5 : (x: (arg: T) => U) => T -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -285,27 +285,27 @@ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; >x.a11 = b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x.a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : A > : ^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ b11 = x.a11; >b11 = x.a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x.a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : A > : ^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] @@ -319,25 +319,25 @@ var b16: (x: { a: T; b: T }) => T[]; x.a16 = b16; >x.a16 = b16 : (x: { a: T; b: T; }) => T[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >x.a16 : (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >x : A > : ^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >b16 : (x: { a: T; b: T; }) => T[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ b16 = x.a16; >b16 = x.a16 : (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >b16 : (x: { a: T; b: T; }) => T[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >x.a16 : (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >x : A > : ^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types index 114e47d9cddc1..8b69f63655466 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types @@ -100,63 +100,63 @@ var a: () => number; a = b.a2; // ok >a = b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >a : () => number > : ^^^^^^^^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ a = b.a3; // error >a = b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >a : () => number > : ^^^^^^^^^^^^ >b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ a = b.a4; // error >a = b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a : () => number > : ^^^^^^^^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ a = b.a5; // ok >a = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a : () => number > : ^^^^^^^^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a = b.a6; // error >a = b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a : () => number > : ^^^^^^^^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ var a2: (x?: number) => number; >a2 : (x?: number) => number @@ -168,7 +168,7 @@ var a2: (x?: number) => number; >a2 = () => 1 : () => number > : ^^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -178,7 +178,7 @@ var a2: (x?: number) => number; >a2 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -190,7 +190,7 @@ var a2: (x?: number) => number; >a2 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -202,7 +202,7 @@ var a2: (x?: number) => number; >a2 = b.a : () => number > : ^^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b.a : () => number > : ^^^^^^^^^^^^ >b : Base @@ -212,63 +212,63 @@ var a2: (x?: number) => number; a2 = b.a2; // ok >a2 = b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ a2 = b.a3; // ok, same number of params >a2 = b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ a2 = b.a4; // ok, excess params are optional in b.a3 >a2 = b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ a2 = b.a5; // ok >a2 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a2 = b.a6; // error >a2 = b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ var a3: (x: number) => number; >a3 : (x: number) => number @@ -280,7 +280,7 @@ var a3: (x: number) => number; >a3 = () => 1 : () => number > : ^^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -290,7 +290,7 @@ var a3: (x: number) => number; >a3 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -302,7 +302,7 @@ var a3: (x: number) => number; >a3 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -314,7 +314,7 @@ var a3: (x: number) => number; >a3 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -328,7 +328,7 @@ var a3: (x: number) => number; >a3 = b.a : () => number > : ^^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b.a : () => number > : ^^^^^^^^^^^^ >b : Base @@ -338,63 +338,63 @@ var a3: (x: number) => number; a3 = b.a2; // ok >a3 = b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ a3 = b.a3; // ok >a3 = b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ a3 = b.a4; // ok >a3 = b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ a3 = b.a5; // ok >a3 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a3 = b.a6; // error >a3 = b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ var a4: (x: number, y?: number) => number; >a4 : (x: number, y?: number) => number @@ -408,7 +408,7 @@ var a4: (x: number, y?: number) => number; >a4 = () => 1 : () => number > : ^^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -418,7 +418,7 @@ var a4: (x: number, y?: number) => number; >a4 = (x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >(x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -432,7 +432,7 @@ var a4: (x: number, y?: number) => number; >a4 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -444,7 +444,7 @@ var a4: (x: number, y?: number) => number; >a4 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -458,7 +458,7 @@ var a4: (x: number, y?: number) => number; >a4 = b.a : () => number > : ^^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a : () => number > : ^^^^^^^^^^^^ >b : Base @@ -468,63 +468,63 @@ var a4: (x: number, y?: number) => number; a4 = b.a2; // ok >a4 = b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ a4 = b.a3; // ok >a4 = b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ a4 = b.a4; // ok >a4 = b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ a4 = b.a5; // ok >a4 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a4 = b.a6; // ok, same number of params >a4 = b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ var a5: (x?: number, y?: number) => number; >a5 : (x?: number, y?: number) => number @@ -538,7 +538,7 @@ var a5: (x?: number, y?: number) => number; >a5 = () => 1 : () => number > : ^^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -548,7 +548,7 @@ var a5: (x?: number, y?: number) => number; >a5 = (x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >(x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -562,7 +562,7 @@ var a5: (x?: number, y?: number) => number; >a5 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -574,7 +574,7 @@ var a5: (x?: number, y?: number) => number; >a5 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -588,7 +588,7 @@ var a5: (x?: number, y?: number) => number; >a5 = b.a : () => number > : ^^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a : () => number > : ^^^^^^^^^^^^ >b : Base @@ -598,61 +598,61 @@ var a5: (x?: number, y?: number) => number; a5 = b.a2; // ok >a5 = b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ a5 = b.a3; // ok, fewer params in b.a3 >a5 = b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ a5 = b.a4; // ok, same number of params >a5 = b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ a5 = b.a5; // ok >a5 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a5 = b.a6; // ok, same number of params >a5 = b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types index 7bd831fcf32d1..fd6cb626730c5 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types @@ -49,7 +49,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -59,7 +59,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^ >(...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >args : number[] @@ -71,7 +71,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (...args: string[]) => 1 : (...args: string[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^ >(...args: string[]) => 1 : (...args: string[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >args : string[] @@ -83,7 +83,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -95,7 +95,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x?: number, y?: number, z?: number) => 1 : (x?: number, y?: number, z?: number) => number > : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^ >(x?: number, y?: number, z?: number) => 1 : (x?: number, y?: number, z?: number) => number > : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -111,7 +111,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -123,7 +123,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x?: string) => 1 : (x?: string) => number > : ^ ^^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^ >(x?: string) => 1 : (x?: string) => number > : ^ ^^^ ^^^^^^^^^^^ >x : string @@ -144,7 +144,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = () => 1 : () => number > : ^^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -154,7 +154,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >(...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >args : number[] @@ -166,7 +166,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -178,7 +178,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -190,7 +190,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, ...args: number[]) => 1 : (x: number, ...args: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number, ...args: number[]) => 1 : (x: number, ...args: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number @@ -204,7 +204,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number @@ -218,7 +218,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -232,7 +232,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -256,7 +256,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = () => 1 : () => number > : ^^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -266,7 +266,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -278,7 +278,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -290,7 +290,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number, y: string) => 1 : (x: number, y: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number, y: string) => 1 : (x: number, y: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -304,7 +304,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number, y?: number, z?: number) => 1 : (x: number, y?: number, z?: number) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number, y?: number, z?: number) => 1 : (x: number, y?: number, z?: number) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -320,7 +320,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number, ...z: number[]) => 1 : (x: number, ...z: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number, ...z: number[]) => 1 : (x: number, ...z: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number @@ -334,7 +334,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: string, y?: string, z?: string) => 1 : (x: string, y?: string, z?: string) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: string, y?: string, z?: string) => 1 : (x: string, y?: string, z?: string) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : string @@ -360,7 +360,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = () => 1 : () => number > : ^^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -370,7 +370,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -384,7 +384,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -396,7 +396,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -410,7 +410,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x?: number, y?: string) => 1 : (x?: number, y?: string) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x?: number, y?: string) => 1 : (x?: number, y?: string) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -424,7 +424,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ >(x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types index 273ac03c13a88..dbb556a024263 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types @@ -20,17 +20,17 @@ var a: { new (x: number): void }; t = a; >t = a : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >t : T > : ^ >a : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ a = t; >a = t : T > : ^ >a : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >t : T > : ^ @@ -59,27 +59,27 @@ t = s; t = a2; >t = a2 : new (x: number) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >t : T > : ^ >a2 : new (x: number) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ a = s; >a = s : S > : ^ >a : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >s : S > : ^ a = a2; >a = a2 : new (x: number) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >a2 : new (x: number) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ interface S2 { (x: string): void; @@ -107,11 +107,11 @@ t = s2; t = a3; >t = a3 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >t : T > : ^ >a3 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -141,23 +141,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >a3 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -169,7 +169,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types index cdc19115ddfca..6e735aa9c151e 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types @@ -24,17 +24,17 @@ var a: { f: new (x: number) => void }; t = a; >t = a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >t : T > : ^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ a = t; >a = t : T > : ^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >t : T > : ^ @@ -67,27 +67,27 @@ t = s; t = a2; >t = a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >t : T > : ^ >a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ a = s; >a = s : S > : ^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >s : S > : ^ a = a2; >a = a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ // errors t = () => 1; @@ -116,7 +116,7 @@ a = () => 1; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -126,7 +126,7 @@ a = function (x: number) { return ''; } >a = function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -164,11 +164,11 @@ t = s2; t = a3; >t = a3 : { f(x: string): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >t : T > : ^ >a3 : { f(x: string): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -198,23 +198,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : { f(x: string): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >a3 : { f(x: string): void; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -226,7 +226,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types index e075a93cb0246..7342a01553955 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types @@ -240,19 +240,19 @@ var b: new (x: T) => T[]; a = b; // ok >a = b : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a : new (x: number) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^ >b : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b = a; // ok >b = a : new (x: number) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^ >b : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a : new (x: number) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^ var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] @@ -262,19 +262,19 @@ var b2: new (x: T) => string[]; a2 = b2; // ok >a2 = b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ b2 = a2; // ok >b2 = a2 : new (x: number) => string[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^ var b3: new (x: T) => T; >b3 : new (x: T) => T @@ -284,19 +284,19 @@ var b3: new (x: T) => T; a3 = b3; // ok >a3 = b3 : new (x: T) => T -> : ^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >a3 : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >b3 : new (x: T) => T -> : ^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ b3 = a3; // ok >b3 = a3 : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >b3 : new (x: T) => T -> : ^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >a3 : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ var b4: new (x: T, y: U) => T; >b4 : new (x: T, y: U) => T @@ -308,19 +308,19 @@ var b4: new (x: T, y: U) => T; a4 = b4; // ok >a4 = b4 : new (x: T, y: U) => T -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >a4 : new (x: string, y: number) => string -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : new (x: T, y: U) => T -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ b4 = a4; // ok >b4 = a4 : new (x: string, y: number) => string -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : new (x: T, y: U) => T -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >a4 : new (x: string, y: number) => string -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T @@ -332,19 +332,19 @@ var b5: new (x: (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >a5 : new (x: (arg: string) => number) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ b5 = a5; // ok >b5 = a5 : new (x: (arg: string) => number) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >a5 : new (x: (arg: string) => number) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ var b6: new (x: (arg: T) => U) => T; >b6 : new (x: (arg: T) => U) => T @@ -356,19 +356,19 @@ var b6: new (x: (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a6 : new (x: (arg: Base) => Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >b6 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ b6 = a6; // ok >b6 = a6 : new (x: (arg: Base) => Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >b6 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a6 : new (x: (arg: Base) => Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ var b7: new (x: (arg: T) => U) => (r: T) => U; >b7 : new (x: (arg: T) => U) => (r: T) => U @@ -382,19 +382,19 @@ var b7: new (x: (arg: T) => U) => (r: T) => U a7 = b7; // ok >a7 = b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ b7 = a7; // ok >b7 = a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U @@ -412,19 +412,19 @@ var b8: new (x: (arg: T) => U, y: (arg2: T) = a8 = b8; // ok >a8 = b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ b8 = a8; // ok >b8 = a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U @@ -446,19 +446,19 @@ var b9: new (x: (arg: T) => U, y: (arg2: { fo a9 = b9; // ok >a9 = b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ b9 = a9; // ok >b9 = a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ var b10: new (...x: T[]) => T; >b10 : new (...x: T[]) => T @@ -468,19 +468,19 @@ var b10: new (...x: T[]) => T; a10 = b10; // ok >a10 = b10 : new (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ b10 = a10; // ok >b10 = a10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T @@ -492,19 +492,19 @@ var b11: new (x: T, y: T) => T; a11 = b11; // ok >a11 = b11 : new (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ b11 = a11; // ok >b11 = a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ var b12: new >(x: Array, y: T) => Array; >b12 : new (x: Array, y: T) => Array @@ -515,20 +515,20 @@ var b12: new >(x: Array, y: T) => Array; > : ^ a12 = b12; // ok ->a12 = b12 : new (x: Base[], y: T) => Derived[] -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ->a12 : new (x: Base[], y: Derived2[]) => Derived[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b12 : new (x: Base[], y: T) => Derived[] -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +>a12 = b12 : new (x: Array, y: T) => Derived[] +> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a12 : new (x: Array, y: Array) => Derived[] +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 : new (x: Array, y: T) => Derived[] +> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ b12 = a12; // ok ->b12 = a12 : new (x: Base[], y: Derived2[]) => Derived[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b12 : new (x: Base[], y: T) => Derived[] -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ->a12 : new (x: Base[], y: Derived2[]) => Derived[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b12 = a12 : new (x: Array, y: Array) => Derived[] +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 : new (x: Array, y: T) => Derived[] +> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a12 : new (x: Array, y: Array) => Derived[] +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ var b13: new >(x: Array, y: T) => T; >b13 : new (x: Array, y: T) => T @@ -539,20 +539,20 @@ var b13: new >(x: Array, y: T) => T; > : ^ a13 = b13; // ok ->a13 = b13 : new (x: Base[], y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ->a13 : new (x: Base[], y: Derived[]) => Derived[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ->b13 : new (x: Base[], y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ +>a13 = b13 : new (x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a13 : new (x: Array, y: Array) => Derived[] +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b13 : new (x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ b13 = a13; // ok ->b13 = a13 : new (x: Base[], y: Derived[]) => Derived[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ->b13 : new (x: Base[], y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ->a13 : new (x: Base[], y: Derived[]) => Derived[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +>b13 = a13 : new (x: Array, y: Array) => Derived[] +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b13 : new (x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a13 : new (x: Array, y: Array) => Derived[] +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ var b14: new (x: { a: T; b: T }) => T; >b14 : new (x: { a: T; b: T; }) => T @@ -566,19 +566,19 @@ var b14: new (x: { a: T; b: T }) => T; a14 = b14; // ok >a14 = b14 : new (x: { a: T; b: T; }) => T -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >a14 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b14 : new (x: { a: T; b: T; }) => T -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ b14 = a14; // ok >b14 = a14 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b14 : new (x: { a: T; b: T; }) => T -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >a14 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ var b15: new (x: T) => T[]; >b15 : new (x: T) => T[] @@ -588,19 +588,19 @@ var b15: new (x: T) => T[]; a15 = b15; // ok >a15 = b15 : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a15 : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b15 : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b15 = a15; // ok >b15 = a15 : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b15 : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a15 : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ var b16: new (x: T) => number[]; >b16 : new (x: T) => number[] @@ -610,19 +610,19 @@ var b16: new (x: T) => number[]; a16 = b16; // ok >a16 = b16 : new (x: T) => number[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b16 : new (x: T) => number[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ b16 = a16; // ok >b16 = a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b16 : new (x: T) => number[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ var b17: new (x: new (a: T) => T) => T[]; // ok >b17 : new (x: new (a: T) => T) => T[] @@ -634,19 +634,19 @@ var b17: new (x: new (a: T) => T) => T[]; // ok a17 = b17; // ok >a17 = b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } -> : ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b17 = a17; // ok >b17 = a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } -> : ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } -> : ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ var b18: new (x: new (a: T) => T) => T[]; >b18 : new (x: new (a: T) => T) => T[] @@ -658,17 +658,17 @@ var b18: new (x: new (a: T) => T) => T[]; a18 = b18; // ok >a18 = b18 : new (x: new (a: T) => T) => T[] -> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b18 : new (x: new (a: T) => T) => T[] -> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b18 = a18; // ok >b18 = a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b18 : new (x: new (a: T) => T) => T[] -> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types index 6604ae1ed8c01..0a78edf13e980 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types @@ -194,19 +194,19 @@ module Errors { a2 = b2; // ok >a2 = b2 : new (x: T) => U[] -> : ^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^ >b2 : new (x: T) => U[] -> : ^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ b2 = a2; // ok >b2 = a2 : new (x: number) => string[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^ >b2 : new (x: T) => U[] -> : ^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^ var b7: new (x: (arg: T) => U) => (r: T) => V; >b7 : new (x: (arg: T) => U) => (r: T) => V @@ -220,19 +220,19 @@ module Errors { a7 = b7; // ok >a7 = b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ b7 = a7; // ok >b7 = a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U @@ -252,19 +252,19 @@ module Errors { a8 = b8; // error, type mismatch >a8 = b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ b8 = a8; // error >b8 = a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ var b10: new (...x: T[]) => T; @@ -275,19 +275,19 @@ module Errors { a10 = b10; // ok >a10 = b10 : new (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a10 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ b10 = a10; // ok >b10 = a10 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a10 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^^^^^ var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T @@ -299,19 +299,19 @@ module Errors { a11 = b11; // ok >a11 = b11 : new (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ b11 = a11; // ok >b11 = a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ var b12: new >(x: Array, y: Array) => T; >b12 : new (x: Array, y: Array) => T @@ -322,20 +322,20 @@ module Errors { > : ^^^^^^ a12 = b12; // ok ->a12 = b12 : new (x: Base[], y: Base[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->a12 : new (x: Base[], y: Derived2[]) => Derived[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b12 : new (x: Base[], y: Base[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ +>a12 = b12 : new (x: Array, y: Array) => T +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a12 : new (x: Array, y: Array) => Derived[] +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 : new (x: Array, y: Array) => T +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ b12 = a12; // ok ->b12 = a12 : new (x: Base[], y: Derived2[]) => Derived[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b12 : new (x: Base[], y: Base[]) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->a12 : new (x: Base[], y: Derived2[]) => Derived[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b12 = a12 : new (x: Array, y: Array) => Derived[] +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 : new (x: Array, y: Array) => T +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a12 : new (x: Array, y: Array) => Derived[] +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ var b15: new (x: { a: T; b: T }) => T; >b15 : new (x: { a: T; b: T; }) => T @@ -349,19 +349,19 @@ module Errors { a15 = b15; // ok >a15 = b15 : new (x: { a: T; b: T; }) => T -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b15 : new (x: { a: T; b: T; }) => T -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ b15 = a15; // ok >b15 = a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b15 : new (x: { a: T; b: T; }) => T -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ var b15a: new (x: { a: T; b: T }) => number; >b15a : new (x: { a: T; b: T; }) => number @@ -375,19 +375,19 @@ module Errors { a15 = b15a; // ok >a15 = b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ b15a = a15; // ok >b15a = a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ var b16: new (x: (a: T) => T) => T[]; >b16 : new (x: (a: T) => T) => T[] @@ -399,19 +399,19 @@ module Errors { a16 = b16; // error >a16 = b16 : new (x: (a: T) => T) => T[] -> : ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ >b16 : new (x: (a: T) => T) => T[] -> : ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b16 = a16; // error >b16 = a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ >b16 : new (x: (a: T) => T) => T[] -> : ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ var b17: new (x: (a: T) => T) => any[]; >b17 : new (x: (a: T) => T) => any[] @@ -423,19 +423,19 @@ module Errors { a17 = b17; // error >a17 = b17 : new (x: (a: T) => T) => any[] -> : ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->a17 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +>a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b17 : new (x: (a: T) => T) => any[] -> : ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^ b17 = a17; // error ->b17 = a17 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +>b17 = a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b17 : new (x: (a: T) => T) => any[] -> : ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->a17 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +>a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ } module WithGenericSignaturesInBaseType { @@ -457,19 +457,19 @@ module Errors { a2 = b2; // ok >a2 = b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ b2 = a2; // ok >b2 = a2 : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ // target type has generic call signature var a3: new (x: T) => string[]; @@ -486,18 +486,18 @@ module Errors { a3 = b3; // ok >a3 = b3 : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a3 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >b3 : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b3 = a3; // ok >b3 = a3 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >b3 : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a3 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ } } diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types index b3b627efbcda5..8189c331a8080 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types @@ -166,19 +166,19 @@ var b: new (x: T) => T[]; a = b; // ok >a = b : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >b : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b = a; // ok >b = a : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >b : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] @@ -188,19 +188,19 @@ var b2: new (x: T) => string[]; a2 = b2; // ok >a2 = b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ b2 = a2; // ok >b2 = a2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >a2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ var b3: new (x: T) => T; >b3 : new (x: T) => T @@ -210,19 +210,19 @@ var b3: new (x: T) => T; a3 = b3; // ok >a3 = b3 : new (x: T) => T -> : ^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >a3 : new (x: T) => void -> : ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ >b3 : new (x: T) => T -> : ^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ b3 = a3; // ok >b3 = a3 : new (x: T) => void -> : ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ >b3 : new (x: T) => T -> : ^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >a3 : new (x: T) => void -> : ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string @@ -234,19 +234,19 @@ var b4: new (x: T, y: U) => string; a4 = b4; // ok >a4 = b4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ b4 = a4; // ok >b4 = a4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ var b5: new (x: new (arg: T) => U) => T; >b5 : new (x: new (arg: T) => U) => T @@ -258,19 +258,19 @@ var b5: new (x: new (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : new (x: new (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >a5 : new (x: new (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >b5 : new (x: new (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ b5 = a5; // ok >b5 = a5 : new (x: new (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >b5 : new (x: new (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >a5 : new (x: new (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ var b6: new (x: new (arg: T) => U) => T; >b6 : new (x: new (arg: T) => U) => T @@ -282,19 +282,19 @@ var b6: new (x: new (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : new (x: new (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ >b6 : new (x: new (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ b6 = a6; // ok >b6 = a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ >b6 : new (x: new (arg: T) => U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ >a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -312,19 +312,19 @@ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok >a11 = b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ b11 = a11; // ok >b11 = a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ var b15: new (x: { a: U; b: V; }) => U[]; >b15 : new (x: { a: U; b: V; }) => U[] @@ -338,19 +338,19 @@ var b15: new (x: { a: U; b: V; }) => U[]; a15 = b15; // ok >a15 = b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ >a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ b15 = a15; // ok >b15 = a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ >a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] @@ -364,19 +364,19 @@ var b16: new (x: { a: T; b: T }) => T[]; a15 = b16; // ok >a15 = b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b15 = a16; // ok >b15 = a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ var b17: new (x: new (a: T) => T) => T[]; >b17 : new (x: new (a: T) => T) => T[] @@ -388,19 +388,19 @@ var b17: new (x: new (a: T) => T) => T[]; a17 = b17; // ok >a17 = b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b17 = a17; // ok >b17 = a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ var b18: new (x: new (a: T) => T) => any[]; >b18 : new (x: new (a: T) => T) => any[] @@ -412,17 +412,17 @@ var b18: new (x: new (a: T) => T) => any[]; a18 = b18; // ok >a18 = b18 : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ->a18 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^ +>a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b18 : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^ b18 = a18; // ok ->b18 = a18 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +>b18 = a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b18 : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ->a18 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^ +>a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types index 868db27089e67..39fa6083f9702 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types @@ -123,27 +123,27 @@ var b: new (x: T) => T[]; x.a = b; >x.a = b : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >x.a : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >x : A > : ^ >a : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >b : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b = x.a; >b = x.a : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >b : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >x.a : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >x : A > : ^ >a : new (x: T) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] @@ -153,27 +153,27 @@ var b2: new (x: T) => string[]; x.a2 = b2; >x.a2 = b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >x.a2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >x : A > : ^ >a2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ b2 = x.a2; >b2 = x.a2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >x.a2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >x : A > : ^ >a2 : new (x: T) => string[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ var b3: new (x: T) => T; >b3 : new (x: T) => T @@ -183,27 +183,27 @@ var b3: new (x: T) => T; x.a3 = b3; >x.a3 = b3 : new (x: T) => T -> : ^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >x.a3 : new (x: T) => void -> : ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ >x : A > : ^ >a3 : new (x: T) => void -> : ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ >b3 : new (x: T) => T -> : ^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ b3 = x.a3; >b3 = x.a3 : new (x: T) => void -> : ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ >b3 : new (x: T) => T -> : ^^^^^^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^ >x.a3 : new (x: T) => void -> : ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ >x : A > : ^ >a3 : new (x: T) => void -> : ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string @@ -215,27 +215,27 @@ var b4: new (x: T, y: U) => string; x.a4 = b4; >x.a4 = b4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x.a4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : A > : ^ >a4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ b4 = x.a4; >b4 = x.a4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x.a4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : A > : ^ >a4 : new (x: T, y: U) => string -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T @@ -247,27 +247,27 @@ var b5: new (x: (arg: T) => U) => T; x.a5 = b5; >x.a5 = b5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >x.a5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >x : A > : ^ >a5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ b5 = x.a5; >b5 = x.a5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >x.a5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ >x : A > : ^ >a5 : new (x: (arg: T) => U) => T -> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -285,27 +285,27 @@ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; >x.a11 = b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x.a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : A > : ^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ b11 = x.a11; >b11 = x.a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x.a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : A > : ^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] @@ -319,25 +319,25 @@ var b16: new (x: { a: T; b: T }) => T[]; x.a16 = b16; >x.a16 = b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >x.a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >x : A > : ^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ b16 = x.a16; >b16 = x.a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >x.a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >x : A > : ^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types index f1f7f1157a5bc..d165a50f6c9dc 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types @@ -66,63 +66,63 @@ var a: new () => number; a = b.a2; // ok >a = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >a : new () => number > : ^^^^^^^^^^^^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ a = b.a3; // error >a = b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >a : new () => number > : ^^^^^^^^^^^^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ a = b.a4; // error >a = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a : new () => number > : ^^^^^^^^^^^^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ a = b.a5; // ok >a = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a : new () => number > : ^^^^^^^^^^^^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a = b.a6; // error >a = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a : new () => number > : ^^^^^^^^^^^^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ var a2: new (x?: number) => number; >a2 : new (x?: number) => number @@ -134,7 +134,7 @@ var a2: new (x?: number) => number; >a2 = b.a : new () => number > : ^^^^^^^^^^^^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b.a : new () => number > : ^^^^^^^^^^^^^^^^ >b : Base @@ -144,63 +144,63 @@ var a2: new (x?: number) => number; a2 = b.a2; // ok >a2 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ a2 = b.a3; // ok >a2 = b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ a2 = b.a4; // ok >a2 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ a2 = b.a5; // ok >a2 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a2 = b.a6; // error >a2 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ var a3: new (x: number) => number; >a3 : new (x: number) => number @@ -212,7 +212,7 @@ var a3: new (x: number) => number; >a3 = b.a : new () => number > : ^^^^^^^^^^^^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b.a : new () => number > : ^^^^^^^^^^^^^^^^ >b : Base @@ -222,63 +222,63 @@ var a3: new (x: number) => number; a3 = b.a2; // ok >a3 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ a3 = b.a3; // ok >a3 = b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ a3 = b.a4; // ok >a3 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ a3 = b.a5; // ok >a3 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a3 = b.a6; // error >a3 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ var a4: new (x: number, y?: number) => number; >a4 : new (x: number, y?: number) => number @@ -292,7 +292,7 @@ var a4: new (x: number, y?: number) => number; >a4 = b.a : new () => number > : ^^^^^^^^^^^^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a : new () => number > : ^^^^^^^^^^^^^^^^ >b : Base @@ -302,63 +302,63 @@ var a4: new (x: number, y?: number) => number; a4 = b.a2; // ok >a4 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ a4 = b.a3; // ok >a4 = b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ a4 = b.a4; // ok >a4 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ a4 = b.a5; // ok >a4 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a4 = b.a6; // ok >a4 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ var a5: new (x?: number, y?: number) => number; >a5 : new (x?: number, y?: number) => number @@ -372,7 +372,7 @@ var a5: new (x?: number, y?: number) => number; >a5 = b.a : new () => number > : ^^^^^^^^^^^^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a : new () => number > : ^^^^^^^^^^^^^^^^ >b : Base @@ -382,61 +382,61 @@ var a5: new (x?: number, y?: number) => number; a5 = b.a2; // ok >a5 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^^ a5 = b.a3; // ok >a5 = b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^ a5 = b.a4; // ok >a5 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ a5 = b.a5; // ok >a5 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ a5 = b.a6; // ok >a5 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types index 5a7d6bb0cd362..5c2e6e12f5905 100644 --- a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types +++ b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types @@ -435,7 +435,7 @@ namespace GH30170 { > : ^^^^^^^^^^^^^ function drawWithColor(currentColor: 'blue' | 'yellow' | undefined) { ->drawWithColor : (currentColor: 'blue' | 'yellow' | undefined) => void +>drawWithColor : (currentColor: "blue" | "yellow" | undefined) => void > : ^ ^^ ^^^^^^^^^ >currentColor : "blue" | "yellow" > : ^^^^^^^^^^^^^^^^^ @@ -444,7 +444,7 @@ namespace GH30170 { >draw({ color: currentColor }) : void > : ^^^^ >draw : (val: Blue | Yellow) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{ color: currentColor } : { color: "blue" | "yellow"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >color : "blue" | "yellow" @@ -611,7 +611,7 @@ namespace GH15907 { >dispatchAction({ type : (active? 'disactivate' : 'activate') }) : void > : ^^^^ >dispatchAction : (action: Action) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{ type : (active? 'disactivate' : 'activate') } : { type: "activate" | "disactivate"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >type : "activate" | "disactivate" diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types index eabcf3dd95b2f..750fc350bb0dd 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types @@ -21,17 +21,17 @@ var g: (x: T[]) => void f = g; // ok >f = g : (x: T[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >f : (x: S) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >g : (x: T[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ g = f; // ok >g = f : (x: S) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >g : (x: T[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >f : (x: S) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types index 91f34c0470618..9058f3e31b128 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types @@ -37,9 +37,9 @@ var h: (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U } g = h // ok >g = h : (x: T) => (y: S) => (f: (x: T) => (y: S) => U) => U -> : ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ >g : (x: T) => (y: S) => I -> : ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >h : (x: T) => (y: S) => (f: (x: T) => (y: S) => U) => U -> : ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types index e5d03188ecc1b..6e14dcb050c43 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types @@ -24,17 +24,17 @@ var y: >>(z: T) => void // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway x = y >x = y : >>(z: T) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >x : >(z: T) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >y : >>(z: T) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ y = x >y = x : >(z: T) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >y : >>(z: T) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >x : >(z: T) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types index 2b4e5719acf2e..96c0851e8fc2e 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types @@ -93,11 +93,11 @@ module ClassTypeParam { >this.a2 = () => null : () => any > : ^^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -105,11 +105,11 @@ module ClassTypeParam { >this.a2 = (x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >x : T @@ -119,11 +119,11 @@ module ClassTypeParam { >this.a2 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -133,11 +133,11 @@ module ClassTypeParam { >this.a3 = () => null : () => any > : ^^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -145,11 +145,11 @@ module ClassTypeParam { >this.a3 = (x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >x : T @@ -159,11 +159,11 @@ module ClassTypeParam { >this.a3 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -173,11 +173,11 @@ module ClassTypeParam { >this.a3 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -189,11 +189,11 @@ module ClassTypeParam { >this.a4 = () => null : () => any > : ^^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -201,11 +201,11 @@ module ClassTypeParam { >this.a4 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -217,11 +217,11 @@ module ClassTypeParam { >this.a4 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -231,11 +231,11 @@ module ClassTypeParam { >this.a4 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -248,11 +248,11 @@ module ClassTypeParam { >this.a5 = () => null : () => any > : ^^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -260,11 +260,11 @@ module ClassTypeParam { >this.a5 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -276,11 +276,11 @@ module ClassTypeParam { >this.a5 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -290,11 +290,11 @@ module ClassTypeParam { >this.a5 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -481,11 +481,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a : () => T > : ^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -497,11 +497,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -513,11 +513,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -529,11 +529,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -545,11 +545,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -561,11 +561,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a : () => T > : ^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -577,11 +577,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -593,11 +593,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -609,11 +609,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -625,11 +625,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -641,11 +641,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a : () => T > : ^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -657,11 +657,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -673,11 +673,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -689,11 +689,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -705,11 +705,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -721,11 +721,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a : () => T > : ^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -737,11 +737,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -753,11 +753,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -769,11 +769,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -785,11 +785,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -889,11 +889,11 @@ module GenericSignaturesValid { >this.a2 = () => null : () => any > : ^^^^^^^^^^^^ >this.a2 : (x?: T) => T -> : ^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -901,11 +901,11 @@ module GenericSignaturesValid { >this.a2 = (x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >x : T @@ -915,11 +915,11 @@ module GenericSignaturesValid { >this.a2 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -929,11 +929,11 @@ module GenericSignaturesValid { >this.a3 = () => null : () => any > : ^^^^^^^^^^^^ >this.a3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -941,11 +941,11 @@ module GenericSignaturesValid { >this.a3 = (x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >x : T @@ -955,11 +955,11 @@ module GenericSignaturesValid { >this.a3 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -969,11 +969,11 @@ module GenericSignaturesValid { >this.a3 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -985,11 +985,11 @@ module GenericSignaturesValid { >this.a4 = () => null : () => any > : ^^^^^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -997,11 +997,11 @@ module GenericSignaturesValid { >this.a4 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -1013,11 +1013,11 @@ module GenericSignaturesValid { >this.a4 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -1027,11 +1027,11 @@ module GenericSignaturesValid { >this.a4 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -1044,11 +1044,11 @@ module GenericSignaturesValid { >this.a5 = () => null : () => any > : ^^^^^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^^^^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^^^^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -1056,11 +1056,11 @@ module GenericSignaturesValid { >this.a5 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^^^^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^^^^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -1072,11 +1072,11 @@ module GenericSignaturesValid { >this.a5 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^^^^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^^^^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -1086,11 +1086,11 @@ module GenericSignaturesValid { >this.a5 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^^^^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^^^^ ^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >x : T diff --git a/tests/baselines/reference/assignmentCompatWithOverloads.types b/tests/baselines/reference/assignmentCompatWithOverloads.types index 0b4d1ba9335b2..3c278773146ea 100644 --- a/tests/baselines/reference/assignmentCompatWithOverloads.types +++ b/tests/baselines/reference/assignmentCompatWithOverloads.types @@ -21,19 +21,19 @@ function f3(x: number): number { return null; } function f4(x: string): string; >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >x : string > : ^^^^^^ function f4(x: number): number; >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ function f4(x: any): any { return undefined; } >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >x : any > : ^^^ >undefined : undefined @@ -47,35 +47,35 @@ var g: (s1: string) => number; g = f1; // OK >g = f1 : (x: string) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >g : (s1: string) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >f1 : (x: string) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ g = f2; // Error >g = f2 : (x: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >g : (s1: string) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >f2 : (x: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ g = f3; // Error >g = f3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >g : (s1: string) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >f3 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ g = f4; // Error >g = f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >g : (s1: string) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ class C { >C : C @@ -100,7 +100,7 @@ d = C; // Error >d = C : typeof C > : ^^^^^^^^ >d : new (x: number) => void -> : ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ >C : typeof C > : ^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatability24.types b/tests/baselines/reference/assignmentCompatability24.types index 7f875ce80464d..5479470206599 100644 --- a/tests/baselines/reference/assignmentCompatability24.types +++ b/tests/baselines/reference/assignmentCompatability24.types @@ -43,7 +43,7 @@ module __test2__ { export var __val__obj = obj; >__val__obj : (a: Tstring) => Tstring -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ >obj : (a: Tstring) => Tstring > : } @@ -51,11 +51,11 @@ __test2__.__val__obj = __test1__.__val__obj4 >__test2__.__val__obj = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__obj : (a: Tstring) => Tstring -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__obj : (a: Tstring) => Tstring -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability33.types b/tests/baselines/reference/assignmentCompatability33.types index 3c90215d8f851..30fd5d41fa69d 100644 --- a/tests/baselines/reference/assignmentCompatability33.types +++ b/tests/baselines/reference/assignmentCompatability33.types @@ -37,7 +37,7 @@ module __test2__ { export var __val__obj = obj; >__val__obj : (a: Tstring) => Tstring -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ >obj : (a: Tstring) => Tstring > : } @@ -45,11 +45,11 @@ __test2__.__val__obj = __test1__.__val__obj4 >__test2__.__val__obj = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__obj : (a: Tstring) => Tstring -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__obj : (a: Tstring) => Tstring -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability34.types b/tests/baselines/reference/assignmentCompatability34.types index 237e2e59dc6f6..0b1a0086bbfb4 100644 --- a/tests/baselines/reference/assignmentCompatability34.types +++ b/tests/baselines/reference/assignmentCompatability34.types @@ -37,7 +37,7 @@ module __test2__ { export var __val__obj = obj; >__val__obj : (a: Tnumber) => Tnumber -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ >obj : (a: Tnumber) => Tnumber > : } @@ -45,11 +45,11 @@ __test2__.__val__obj = __test1__.__val__obj4 >__test2__.__val__obj = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__obj : (a: Tnumber) => Tnumber -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__obj : (a: Tnumber) => Tnumber -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability37.types b/tests/baselines/reference/assignmentCompatability37.types index 4c8303982220a..d65575ef43677 100644 --- a/tests/baselines/reference/assignmentCompatability37.types +++ b/tests/baselines/reference/assignmentCompatability37.types @@ -37,7 +37,7 @@ module __test2__ { export var __val__aa = aa; >__val__aa : new (param: Tnumber) => any -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >aa : new (param: Tnumber) => any > : } @@ -45,11 +45,11 @@ __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : new (param: Tnumber) => any -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : new (param: Tnumber) => any -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability38.types b/tests/baselines/reference/assignmentCompatability38.types index 8318fb5dfccec..6ecf0294a73e1 100644 --- a/tests/baselines/reference/assignmentCompatability38.types +++ b/tests/baselines/reference/assignmentCompatability38.types @@ -37,7 +37,7 @@ module __test2__ { export var __val__aa = aa; >__val__aa : new (param: Tstring) => any -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >aa : new (param: Tstring) => any > : } @@ -45,11 +45,11 @@ __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : new (param: Tstring) => any -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : new (param: Tstring) => any -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability46.types b/tests/baselines/reference/assignmentCompatability46.types index f96d057965099..43fb76bafaa95 100644 --- a/tests/baselines/reference/assignmentCompatability46.types +++ b/tests/baselines/reference/assignmentCompatability46.types @@ -11,7 +11,7 @@ fn([1, 2, 3]) >fn([1, 2, 3]) : void > : ^^^^ >fn : (x: never) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -25,7 +25,7 @@ fn({ a: 1, b: 2 }) >fn({ a: 1, b: 2 }) : void > : ^^^^ >fn : (x: never) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{ a: 1, b: 2 } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.types b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.types index dad4d1f05242d..373280795d952 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.types +++ b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.types @@ -74,7 +74,7 @@ fn(''); >fn('') : void > : ^^^^ >fn : (c: Applicable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >'' : "" > : ^^ @@ -82,7 +82,7 @@ fn(['']); >fn(['']) : void > : ^^^^ >fn : (c: Applicable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >[''] : string[] > : ^^^^^^^^ >'' : "" @@ -92,7 +92,7 @@ fn(4); >fn(4) : void > : ^^^^ >fn : (c: Applicable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >4 : 4 > : ^ @@ -100,7 +100,7 @@ fn({}); >fn({}) : void > : ^^^^ >fn : (c: Applicable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{} : {} > : ^^ @@ -110,7 +110,7 @@ fn(a => { }); >fn(a => { }) : void > : ^^^^ >fn : (c: Applicable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a => { } : (a: any) => void > : ^ ^^^^^^^^^^^^^^ >a : any diff --git a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.types b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.types index fcb146577b43d..967a4e7e3c086 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.types +++ b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.types @@ -74,7 +74,7 @@ fn(''); >fn('') : void > : ^^^^ >fn : (c: Callable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >'' : "" > : ^^ @@ -82,7 +82,7 @@ fn(['']); >fn(['']) : void > : ^^^^ >fn : (c: Callable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >[''] : string[] > : ^^^^^^^^ >'' : "" @@ -92,7 +92,7 @@ fn(4); >fn(4) : void > : ^^^^ >fn : (c: Callable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >4 : 4 > : ^ @@ -100,7 +100,7 @@ fn({}); >fn({}) : void > : ^^^^ >fn : (c: Callable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{} : {} > : ^^ @@ -110,7 +110,7 @@ fn(a => { }); >fn(a => { }) : void > : ^^^^ >fn : (c: Callable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a => { } : (a: any) => void > : ^ ^^^^^^^^^^^^^^ >a : any diff --git a/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types b/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types index 2f938e1bd6e11..ff1c05974454d 100644 --- a/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types +++ b/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types @@ -37,7 +37,7 @@ function bar(key: K) { >foo(mappedObject[key]) : { foo: { x: string; }; }[K] > : ^^^ >foo : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >mappedObject[key] : { foo: { x: string; }; }[K] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mappedObject : { foo: { x: string; }; } diff --git a/tests/baselines/reference/assignmentNonObjectTypeConstraints.types b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types index 819141b46aa13..e9f80e7a29855 100644 --- a/tests/baselines/reference/assignmentNonObjectTypeConstraints.types +++ b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types @@ -28,7 +28,7 @@ foo(5); >foo(5) : void > : ^^^^ >foo : (x: T) => void -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >5 : 5 > : ^ @@ -36,7 +36,7 @@ foo(E.A); >foo(E.A) : void > : ^^^^ >foo : (x: T) => void -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >E.A : E.A > : ^^^ >E : typeof E @@ -71,7 +71,7 @@ bar(new A); >bar(new A) : void > : ^^^^ >bar : (x: T) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >new A : A > : ^ >A : typeof A @@ -81,7 +81,7 @@ bar(new B); >bar(new B) : void > : ^^^^ >bar : (x: T) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >new B : B > : ^ >B : typeof B diff --git a/tests/baselines/reference/assignmentStricterConstraints.types b/tests/baselines/reference/assignmentStricterConstraints.types index 282059c798424..ae649fc395b4c 100644 --- a/tests/baselines/reference/assignmentStricterConstraints.types +++ b/tests/baselines/reference/assignmentStricterConstraints.types @@ -32,17 +32,17 @@ var g = function (x: T, y: S): void { } g = f >g = f : (x: T, y: S) => void -> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >g : (x: T, y: S) => void -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >f : (x: T, y: S) => void -> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ g(1, "") >g(1, "") : void > : ^^^^ >g : (x: T, y: S) => void -> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >"" : "" diff --git a/tests/baselines/reference/assignmentToAnyArrayRestParameters.types b/tests/baselines/reference/assignmentToAnyArrayRestParameters.types index 595f5f8836b32..b01efd8328ce7 100644 --- a/tests/baselines/reference/assignmentToAnyArrayRestParameters.types +++ b/tests/baselines/reference/assignmentToAnyArrayRestParameters.types @@ -30,7 +30,7 @@ function foo( >args : any > : ^^^ >fa : (s: string, ...args: string[]) => string -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ const f2: (...args: any[]) => string = fa; >f2 : (...args: any[]) => string @@ -38,7 +38,7 @@ function foo( >args : any[] > : ^^^^^ >fa : (s: string, ...args: string[]) => string -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ const f3: (...args: any) => string = fb; >f3 : (...args: any) => string @@ -46,7 +46,7 @@ function foo( >args : any > : ^^^ >fb : (s: string, ...args: T) => string -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ const f4: (...args: any[]) => string = fb; >f4 : (...args: any[]) => string @@ -54,7 +54,7 @@ function foo( >args : any[] > : ^^^^^ >fb : (s: string, ...args: T) => string -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ } function bar() { diff --git a/tests/baselines/reference/asyncArrowFunction11_es5.types b/tests/baselines/reference/asyncArrowFunction11_es5.types index 0fb8372f92a17..a4418b183758e 100644 --- a/tests/baselines/reference/asyncArrowFunction11_es5.types +++ b/tests/baselines/reference/asyncArrowFunction11_es5.types @@ -20,11 +20,11 @@ class A { >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ const obj = { ["a"]: () => this }; // computed property name after `await` triggers case >obj : { a: () => this; } diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types index d9c98b0852312..c63c97437f6f1 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types @@ -21,11 +21,11 @@ class C { >await other.apply(this, arguments) : any >other.apply(this, arguments) : any >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >this : this > : ^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types index 06950264c5fe8..05ac0e3c2203f 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types @@ -23,11 +23,11 @@ class C { >other.apply(this, arguments) : any > : ^^^ >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >this : this > : ^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types index 0ffc1d856afaf..397be4bec1ad3 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types @@ -21,11 +21,11 @@ class C { >await other.apply(this, arguments) : any >other.apply(this, arguments) : any >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >this : this > : ^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncArrowFunction_allowJs.types b/tests/baselines/reference/asyncArrowFunction_allowJs.types index e588ffda4940f..ecf9f7d9cca0e 100644 --- a/tests/baselines/reference/asyncArrowFunction_allowJs.types +++ b/tests/baselines/reference/asyncArrowFunction_allowJs.types @@ -37,9 +37,9 @@ const c = async () => { /** @type {function(function(): string): void} */ const f = (p) => {} >f : (arg0: () => string) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^ >(p) => {} : (p: () => string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ >p : () => string > : ^^^^^^^^^^^^ @@ -48,7 +48,7 @@ f(async () => { >f(async () => { return 0}) : void > : ^^^^ >f : (arg0: () => string) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^ >async () => { return 0} : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types b/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types index 4c800f579fb7f..3e87e176efd94 100644 --- a/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types +++ b/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types @@ -13,7 +13,7 @@ f(v => v ? [0] : Promise.reject()); >f(v => v ? [0] : Promise.reject()) : void > : ^^^^ >f : (cb: (v: boolean) => [0] | PromiseLike<[0]>) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >v => v ? [0] : Promise.reject() : (v: boolean) => [0] | Promise<[0]> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -29,17 +29,17 @@ f(v => v ? [0] : Promise.reject()); >Promise.reject() : Promise<[0]> > : ^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ f(async v => v ? [0] : Promise.reject()); >f(async v => v ? [0] : Promise.reject()) : void > : ^^^^ >f : (cb: (v: boolean) => [0] | PromiseLike<[0]>) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >async v => v ? [0] : Promise.reject() : (v: boolean) => Promise<[0]> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -55,11 +55,11 @@ f(async v => v ? [0] : Promise.reject()); >Promise.reject() : Promise<[0]> > : ^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ declare function g(cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">): void; >g : (cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">) => void @@ -73,7 +73,7 @@ g(v => v ? "contextuallyTypable" : Promise.reject()); >g(v => v ? "contextuallyTypable" : Promise.reject()) : void > : ^^^^ >g : (cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >v => v ? "contextuallyTypable" : Promise.reject() : (v: boolean) => "contextuallyTypable" | Promise<"contextuallyTypable"> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -87,17 +87,17 @@ g(v => v ? "contextuallyTypable" : Promise.reject()); >Promise.reject() : Promise<"contextuallyTypable"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ g(async v => v ? "contextuallyTypable" : Promise.reject()); >g(async v => v ? "contextuallyTypable" : Promise.reject()) : void > : ^^^^ >g : (cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >async v => v ? "contextuallyTypable" : Promise.reject() : (v: boolean) => Promise<"contextuallyTypable"> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -111,11 +111,11 @@ g(async v => v ? "contextuallyTypable" : Promise.reject()); >Promise.reject() : Promise<"contextuallyTypable"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ type MyCallback = (thing: string) => void; >MyCallback : MyCallback @@ -135,7 +135,7 @@ h(v => v ? (abc) => { } : Promise.reject()); >h(v => v ? (abc) => { } : Promise.reject()) : void > : ^^^^ >h : (cb: (v: boolean) => MyCallback | PromiseLike) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >v => v ? (abc) => { } : Promise.reject() : (v: boolean) => ((abc: string) => void) | Promise > : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -151,17 +151,17 @@ h(v => v ? (abc) => { } : Promise.reject()); >Promise.reject() : Promise > : ^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ h(async v => v ? (def) => { } : Promise.reject()); >h(async v => v ? (def) => { } : Promise.reject()) : void > : ^^^^ >h : (cb: (v: boolean) => MyCallback | PromiseLike) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >async v => v ? (def) => { } : Promise.reject() : (v: boolean) => Promise void)> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -177,11 +177,11 @@ h(async v => v ? (def) => { } : Promise.reject()); >Promise.reject() : Promise > : ^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ // repro from #29196 const increment: ( diff --git a/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types index 726c51f821a99..089d60658f226 100644 --- a/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types @@ -23,11 +23,11 @@ class C { >other.apply(this, arguments) : any > : ^^^ >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ >this : any > : ^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncFunctionReturnType.types b/tests/baselines/reference/asyncFunctionReturnType.types index 5222e50dbf427..09d967f6e7577 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.types +++ b/tests/baselines/reference/asyncFunctionReturnType.types @@ -64,11 +64,11 @@ async function fIndexedTypeForPromiseOfStringProp(obj: Obj): PromisePromise.resolve(obj.stringProp) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.stringProp : string > : ^^^^^^ >obj : Obj @@ -87,11 +87,11 @@ async function fIndexedTypeForExplicitPromiseOfStringProp(obj: Obj): PromisePromise.resolve(obj.stringProp) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.stringProp : string > : ^^^^^^ >obj : Obj @@ -124,11 +124,11 @@ async function fIndexedTypeForPromiseOfAnyProp(obj: Obj): PromisePromise.resolve(obj.anyProp) : Promise > : ^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.anyProp : any >obj : Obj > : ^^^ @@ -146,11 +146,11 @@ async function fIndexedTypeForExplicitPromiseOfAnyProp(obj: Obj): PromisePromise.resolve(obj.anyProp) : Promise > : ^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.anyProp : any >obj : Obj > : ^^^ @@ -183,11 +183,11 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: >Promise.resolve(obj.stringProp) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.stringProp : string > : ^^^^^^ >obj : TObj @@ -206,11 +206,11 @@ async function fGenericIndexedTypeForExplicitPromiseOfStringPropPromise.resolve(obj.stringProp) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.stringProp : string > : ^^^^^^ >obj : TObj @@ -243,11 +243,11 @@ async function fGenericIndexedTypeForPromiseOfAnyProp(obj: TOb >Promise.resolve(obj.anyProp) : Promise > : ^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.anyProp : any >obj : TObj > : ^^^^ @@ -265,11 +265,11 @@ async function fGenericIndexedTypeForExplicitPromiseOfAnyProp( >Promise.resolve(obj.anyProp) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.anyProp : any >obj : TObj > : ^^^^ @@ -306,11 +306,11 @@ async function fGenericIndexedTypeForPromiseOfKPropPromise.resolve(obj[key]) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj[key] : TObj[K] > : ^^^^^^^ >obj : TObj @@ -331,11 +331,11 @@ async function fGenericIndexedTypeForExplicitPromiseOfKPropPromise.resolve(obj[key]) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj[key] : TObj[K] > : ^^^^^^^ >obj : TObj diff --git a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types index 8c0eeb1621c04..1e77f35283adc 100644 --- a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types +++ b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types @@ -4,8 +4,8 @@ declare namespace Windows.Foundation { interface IPromise { then(success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U_1) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_2) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_3) | undefined, error?: ((error: any) => U_3) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ >success : ((value: TResult) => IPromise) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -18,8 +18,8 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: ((value: TResult) => U_2) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_3) | undefined, error?: ((error: any) => U_3) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } -> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ >success : ((value: TResult) => IPromise) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -32,8 +32,8 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U_2) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: ((value: TResult) => U_3) | undefined, error?: ((error: any) => U_3) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } -> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ >success : ((value: TResult) => U) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -46,8 +46,8 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U_2) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_3) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : ((value: TResult) => U) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -129,7 +129,7 @@ async function sample2(x?: number) { >resolve1(x) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve1 : (value: T) => Promise -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -141,7 +141,7 @@ async function sample2(x?: number) { >resolve2(x) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve2 : (value: T) => Windows.Foundation.IPromise -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/asyncMethodWithSuper_es6.types b/tests/baselines/reference/asyncMethodWithSuper_es6.types index b7c86bc27cf87..ed8de4ce3ba00 100644 --- a/tests/baselines/reference/asyncMethodWithSuper_es6.types +++ b/tests/baselines/reference/asyncMethodWithSuper_es6.types @@ -856,11 +856,11 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super.method('') : any >super.method : (x: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >super : Base > : ^^^^ >method : (x: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >'' : "" > : ^^ @@ -897,7 +897,7 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super["method"]('') : any >super["method"] : (x: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >super : Base > : ^^^^ >"method" : "method" @@ -938,11 +938,11 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super.method('') : any >super.method : (x: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >super : typeof Base > : ^^^^^^^^^^^ >method : (x: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >'' : "" > : ^^ @@ -979,7 +979,7 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super["method"]('') : any >super["method"] : (x: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >super : typeof Base > : ^^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types index 385be5f846b47..7b01f22a4642f 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types @@ -17,7 +17,7 @@ const x = async i => await someOtherFunction(i) >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >i : any const x1 = async (i) => await someOtherFunction(i); @@ -31,6 +31,6 @@ const x1 = async (i) => await someOtherFunction(i); >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >i : any diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types index db83974f1abb0..80ec0db4246a7 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types @@ -17,7 +17,7 @@ const x = async i => await someOtherFunction(i) >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >i : any const x1 = async (i) => await someOtherFunction(i); @@ -31,6 +31,6 @@ const x1 = async (i) => await someOtherFunction(i); >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >i : any diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types index f930e26444733..cb41715e08ac5 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types @@ -17,7 +17,7 @@ const x = async i => await someOtherFunction(i) >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >i : any const x1 = async (i) => await someOtherFunction(i); @@ -31,6 +31,6 @@ const x1 = async (i) => await someOtherFunction(i); >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >i : any diff --git a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types index 1fcc53b2d7e1d..b7dc12e13099f 100644 --- a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types +++ b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types @@ -17,7 +17,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ accessor a: any; >a : any @@ -25,7 +25,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ static accessor b: any; >b : any @@ -38,7 +38,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ accessor #a: any; >#a : any @@ -46,7 +46,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ static accessor #b: any; >#b : any diff --git a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types index 1fcc53b2d7e1d..b7dc12e13099f 100644 --- a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types +++ b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types @@ -17,7 +17,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ accessor a: any; >a : any @@ -25,7 +25,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ static accessor b: any; >b : any @@ -38,7 +38,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ accessor #a: any; >#a : any @@ -46,7 +46,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ static accessor #b: any; >#b : any diff --git a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types index 1fcc53b2d7e1d..b7dc12e13099f 100644 --- a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types +++ b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types @@ -17,7 +17,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ accessor a: any; >a : any @@ -25,7 +25,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ static accessor b: any; >b : any @@ -38,7 +38,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ accessor #a: any; >#a : any @@ -46,7 +46,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ static accessor #b: any; >#b : any diff --git a/tests/baselines/reference/autoLift2.types b/tests/baselines/reference/autoLift2.types index dccac6be3ea39..5629313362a82 100644 --- a/tests/baselines/reference/autoLift2.types +++ b/tests/baselines/reference/autoLift2.types @@ -61,7 +61,7 @@ class A >[1, 2].forEach((p) => this.foo) : void > : ^^^^ >[1, 2].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -69,7 +69,7 @@ class A >2 : 2 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >(p) => this.foo : (p: number) => any > : ^ ^^^^^^^^^^^^^^^^ >p : number @@ -85,7 +85,7 @@ class A >[1, 2].forEach((p) => this.bar) : void > : ^^^^ >[1, 2].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -93,7 +93,7 @@ class A >2 : 2 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >(p) => this.bar : (p: number) => any > : ^ ^^^^^^^^^^^^^^^^ >p : number diff --git a/tests/baselines/reference/autolift3.types b/tests/baselines/reference/autolift3.types index 99d915c91847d..74a7b1344387e 100644 --- a/tests/baselines/reference/autolift3.types +++ b/tests/baselines/reference/autolift3.types @@ -64,11 +64,11 @@ class B { >fso.toString() : string > : ^^^^^^ >fso.toString : (radix?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >fso : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ } } })(); diff --git a/tests/baselines/reference/autolift4.types b/tests/baselines/reference/autolift4.types index 811adb0662671..bffe2caaff22d 100644 --- a/tests/baselines/reference/autolift4.types +++ b/tests/baselines/reference/autolift4.types @@ -20,11 +20,11 @@ class Point { >Math.sqrt(this.x*this.x + this.y*this.y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >this.x*this.x + this.y*this.y : number > : ^^^^^^ >this.x*this.x : number @@ -104,11 +104,11 @@ class Point3D extends Point { >Math.sqrt(this.x*this.x + this.y*this.y + this.z*this.m) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >this.x*this.x + this.y*this.y + this.z*this.m : number > : ^^^^^^ >this.x*this.x + this.y*this.y : number diff --git a/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types b/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types index a4e64cfd4fe88..e0a7e8a8611b6 100644 --- a/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types +++ b/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types @@ -35,11 +35,11 @@ class Howl { >console.log(name, fn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >name : "unlock" > : ^^^^^^^^ >fn : () => void @@ -67,11 +67,11 @@ const instance = new Howl({ >instance.once("unlock", () => {}) : void > : ^^^^ >instance.once : (name: "unlock", fn: () => void) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >instance : Howl > : ^^^^ >once : (name: "unlock", fn: () => void) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >"unlock" : "unlock" > : ^^^^^^^^ >() => {} : () => void diff --git a/tests/baselines/reference/awaitCallExpression1_es2017.types b/tests/baselines/reference/awaitCallExpression1_es2017.types index 81b81f28b1822..ff5a47b2d8a47 100644 --- a/tests/baselines/reference/awaitCallExpression1_es2017.types +++ b/tests/baselines/reference/awaitCallExpression1_es2017.types @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression1_es5.types b/tests/baselines/reference/awaitCallExpression1_es5.types index 50e08c45ba3c4..dcb15f257868e 100644 --- a/tests/baselines/reference/awaitCallExpression1_es5.types +++ b/tests/baselines/reference/awaitCallExpression1_es5.types @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression1_es6.types b/tests/baselines/reference/awaitCallExpression1_es6.types index da2e2992a27f6..2e77882260a4e 100644 --- a/tests/baselines/reference/awaitCallExpression1_es6.types +++ b/tests/baselines/reference/awaitCallExpression1_es6.types @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression2_es2017.types b/tests/baselines/reference/awaitCallExpression2_es2017.types index 973263ba8d145..3d3af159f2788 100644 --- a/tests/baselines/reference/awaitCallExpression2_es2017.types +++ b/tests/baselines/reference/awaitCallExpression2_es2017.types @@ -77,7 +77,7 @@ async function func(): Promise { >fn(await p, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise diff --git a/tests/baselines/reference/awaitCallExpression2_es5.types b/tests/baselines/reference/awaitCallExpression2_es5.types index 08f38417212a8..a89be88ddb8cc 100644 --- a/tests/baselines/reference/awaitCallExpression2_es5.types +++ b/tests/baselines/reference/awaitCallExpression2_es5.types @@ -77,7 +77,7 @@ async function func(): Promise { >fn(await p, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise diff --git a/tests/baselines/reference/awaitCallExpression2_es6.types b/tests/baselines/reference/awaitCallExpression2_es6.types index 7d331ee5f304c..39f949106073a 100644 --- a/tests/baselines/reference/awaitCallExpression2_es6.types +++ b/tests/baselines/reference/awaitCallExpression2_es6.types @@ -77,7 +77,7 @@ async function func(): Promise { >fn(await p, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise diff --git a/tests/baselines/reference/awaitCallExpression3_es2017.types b/tests/baselines/reference/awaitCallExpression3_es2017.types index 694268a0dc268..e0af66e1dfebf 100644 --- a/tests/baselines/reference/awaitCallExpression3_es2017.types +++ b/tests/baselines/reference/awaitCallExpression3_es2017.types @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, await p, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean diff --git a/tests/baselines/reference/awaitCallExpression3_es5.types b/tests/baselines/reference/awaitCallExpression3_es5.types index 9c5b598fef107..37ee77b2cfb36 100644 --- a/tests/baselines/reference/awaitCallExpression3_es5.types +++ b/tests/baselines/reference/awaitCallExpression3_es5.types @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, await p, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean diff --git a/tests/baselines/reference/awaitCallExpression3_es6.types b/tests/baselines/reference/awaitCallExpression3_es6.types index ab2d77c128744..d6940a217e797 100644 --- a/tests/baselines/reference/awaitCallExpression3_es6.types +++ b/tests/baselines/reference/awaitCallExpression3_es6.types @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, await p, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean diff --git a/tests/baselines/reference/awaitCallExpression4_es2017.types b/tests/baselines/reference/awaitCallExpression4_es2017.types index 68f31b31f376d..ae4ea63e0ee3a 100644 --- a/tests/baselines/reference/awaitCallExpression4_es2017.types +++ b/tests/baselines/reference/awaitCallExpression4_es2017.types @@ -77,11 +77,11 @@ async function func(): Promise { >(await pfn)(a, a, a) : void > : ^^^^ >(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> -> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression4_es5.types b/tests/baselines/reference/awaitCallExpression4_es5.types index c93e0b77c2bde..827aafd07a5c1 100644 --- a/tests/baselines/reference/awaitCallExpression4_es5.types +++ b/tests/baselines/reference/awaitCallExpression4_es5.types @@ -77,11 +77,11 @@ async function func(): Promise { >(await pfn)(a, a, a) : void > : ^^^^ >(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> -> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression4_es6.types b/tests/baselines/reference/awaitCallExpression4_es6.types index e41d4125cf566..8c39562a013a9 100644 --- a/tests/baselines/reference/awaitCallExpression4_es6.types +++ b/tests/baselines/reference/awaitCallExpression4_es6.types @@ -77,11 +77,11 @@ async function func(): Promise { >(await pfn)(a, a, a) : void > : ^^^^ >(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> -> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression5_es2017.types b/tests/baselines/reference/awaitCallExpression5_es2017.types index 8c2bbd1eeeafa..30ca06fdff4d1 100644 --- a/tests/baselines/reference/awaitCallExpression5_es2017.types +++ b/tests/baselines/reference/awaitCallExpression5_es2017.types @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression5_es5.types b/tests/baselines/reference/awaitCallExpression5_es5.types index 483b27e38e402..4ed35571153a7 100644 --- a/tests/baselines/reference/awaitCallExpression5_es5.types +++ b/tests/baselines/reference/awaitCallExpression5_es5.types @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression5_es6.types b/tests/baselines/reference/awaitCallExpression5_es6.types index 31f68a62d9c3a..ac45e317d28c3 100644 --- a/tests/baselines/reference/awaitCallExpression5_es6.types +++ b/tests/baselines/reference/awaitCallExpression5_es6.types @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression6_es2017.types b/tests/baselines/reference/awaitCallExpression6_es2017.types index e2d856ca6dc1a..1f7d3954ef6db 100644 --- a/tests/baselines/reference/awaitCallExpression6_es2017.types +++ b/tests/baselines/reference/awaitCallExpression6_es2017.types @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(await p, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise diff --git a/tests/baselines/reference/awaitCallExpression6_es5.types b/tests/baselines/reference/awaitCallExpression6_es5.types index ba83a9b19eb9e..983ba9f3fe11e 100644 --- a/tests/baselines/reference/awaitCallExpression6_es5.types +++ b/tests/baselines/reference/awaitCallExpression6_es5.types @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(await p, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise diff --git a/tests/baselines/reference/awaitCallExpression6_es6.types b/tests/baselines/reference/awaitCallExpression6_es6.types index 1e8420bbe63cf..7f22836931893 100644 --- a/tests/baselines/reference/awaitCallExpression6_es6.types +++ b/tests/baselines/reference/awaitCallExpression6_es6.types @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(await p, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise diff --git a/tests/baselines/reference/awaitCallExpression7_es2017.types b/tests/baselines/reference/awaitCallExpression7_es2017.types index 1a392e089b39a..e65f9a1b687b9 100644 --- a/tests/baselines/reference/awaitCallExpression7_es2017.types +++ b/tests/baselines/reference/awaitCallExpression7_es2017.types @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, await p, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean diff --git a/tests/baselines/reference/awaitCallExpression7_es5.types b/tests/baselines/reference/awaitCallExpression7_es5.types index 76b2b8631e76c..390e123cdf1c8 100644 --- a/tests/baselines/reference/awaitCallExpression7_es5.types +++ b/tests/baselines/reference/awaitCallExpression7_es5.types @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, await p, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean diff --git a/tests/baselines/reference/awaitCallExpression7_es6.types b/tests/baselines/reference/awaitCallExpression7_es6.types index 05f3773906dc5..e24dfba11e962 100644 --- a/tests/baselines/reference/awaitCallExpression7_es6.types +++ b/tests/baselines/reference/awaitCallExpression7_es6.types @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, await p, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean diff --git a/tests/baselines/reference/awaitCallExpression8_es2017.types b/tests/baselines/reference/awaitCallExpression8_es2017.types index fa9f86c4367a7..00bc0c5401f82 100644 --- a/tests/baselines/reference/awaitCallExpression8_es2017.types +++ b/tests/baselines/reference/awaitCallExpression8_es2017.types @@ -77,15 +77,15 @@ async function func(): Promise { >(await po).fn(a, a, a) : void > : ^^^^ >(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression8_es5.types b/tests/baselines/reference/awaitCallExpression8_es5.types index c6a020f8fa495..44044ddf85bbe 100644 --- a/tests/baselines/reference/awaitCallExpression8_es5.types +++ b/tests/baselines/reference/awaitCallExpression8_es5.types @@ -77,15 +77,15 @@ async function func(): Promise { >(await po).fn(a, a, a) : void > : ^^^^ >(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpression8_es6.types b/tests/baselines/reference/awaitCallExpression8_es6.types index a20c0ef9e0002..5d001492a47e3 100644 --- a/tests/baselines/reference/awaitCallExpression8_es6.types +++ b/tests/baselines/reference/awaitCallExpression8_es6.types @@ -77,15 +77,15 @@ async function func(): Promise { >(await po).fn(a, a, a) : void > : ^^^^ >(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : boolean > : ^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types index 2b32f7257f420..1bf2f739fb4fd 100644 --- a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types +++ b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types @@ -15,11 +15,11 @@ function foo() { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/awaitedType.types b/tests/baselines/reference/awaitedType.types index 60de42d009d3d..a3f3704459a35 100644 --- a/tests/baselines/reference/awaitedType.types +++ b/tests/baselines/reference/awaitedType.types @@ -179,11 +179,11 @@ async function main() { >Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : Promise<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ] : [number | Promise<1> | PromiseLike<1>, string | Promise<"2"> | PromiseLike<"2">, true | Promise | PromiseLike] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -191,7 +191,7 @@ async function main() { >MaybePromise(1) : 1 | Promise<1> | PromiseLike<1> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -199,7 +199,7 @@ async function main() { >MaybePromise('2') : "2" | Promise<"2"> | PromiseLike<"2"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >'2' : "2" > : ^^^ @@ -207,7 +207,7 @@ async function main() { >MaybePromise(true) : true | Promise | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ @@ -564,7 +564,7 @@ async function f17_usage() { >f17(async () => 123 as const) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^ >f17 : Promise>(fn: T) => Promise> -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >async () => 123 as const : () => Promise<123> > : ^^^^^^^^^^^^^^^^^^ >123 as const : 123 @@ -697,7 +697,7 @@ async function findManyWrapper< >findMany(args) : CheckSelect, Promise<2>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >findMany : (args: T_1) => CheckSelect, Promise<2>> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : T > : ^ @@ -718,7 +718,7 @@ async function mainFindMany() { >findManyWrapper({ select: "foo", include: "bar", }) : Promise<"Please either choose `select` or `include`"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >findManyWrapper : (args: T) => Promise, Promise<2>>> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ select: "foo", include: "bar", } : { select: string; include: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -743,7 +743,7 @@ async function mainFindMany() { >findManyWrapper({}) : Promise> > : ^^^^^^^^^^^^^^^^^^^ >findManyWrapper : (args: T) => Promise, Promise<2>>> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{} : {} > : ^^ @@ -755,7 +755,7 @@ async function mainFindMany() { >findManyWrapper({ select: "foo" }) : Promise> > : ^^^^^^^^^^^^^^^^^^^ >findManyWrapper : (args: T) => Promise, Promise<2>>> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ select: "foo" } : { select: string; } > : ^^^^^^^^^^^^^^^^^^^ >select : string @@ -771,7 +771,7 @@ async function mainFindMany() { >findManyWrapper({ include: "bar" }) : Promise> > : ^^^^^^^^^^^^^^^^^^^ >findManyWrapper : (args: T) => Promise, Promise<2>>> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ include: "bar" } : { include: string; } > : ^^^^^^^^^^^^^^^^^^^^ >include : string @@ -793,11 +793,11 @@ async function mainFindMany() { >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ @@ -805,19 +805,19 @@ async function mainFindMany() { >Promise.all(promises).then((results) => { const first = results[0] const second = results[1] // error }) : Promise > : ^^^^^^^^^^^^^ >Promise.all(promises).then : (onfulfilled?: (value: [number]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all(promises) : Promise<[number]> > : ^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >promises : readonly [Promise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: [number]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(results) => { const first = results[0] const second = results[1] // error } : (results: [number]) => void > : ^ ^^^^^^^^^^^^^^^^^^^ >results : [number] @@ -858,11 +858,11 @@ async function test40330() { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -880,11 +880,11 @@ async function test40330() { >Promise.all([ promiseNumber, ...[promiseVoid()] ]) : Promise<[number, ...void[]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[ promiseNumber, ...[promiseVoid()] ] : [Promise, ...Promise[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/awaitedTypeJQuery.types b/tests/baselines/reference/awaitedTypeJQuery.types index 0c8c990b4f0b4..dd8a78e68eba7 100644 --- a/tests/baselines/reference/awaitedTypeJQuery.types +++ b/tests/baselines/reference/awaitedTypeJQuery.types @@ -11,8 +11,8 @@ interface PromiseBase { thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -74,8 +74,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -122,8 +122,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ BRP = never, BJP = never, BNP = never, CRP = never, CJP = never, CNP = never, @@ -155,8 +155,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -203,8 +203,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -236,8 +236,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, diff --git a/tests/baselines/reference/awaitedTypeStrictNull.types b/tests/baselines/reference/awaitedTypeStrictNull.types index f4410a7eeeaae..3991d6f0d0aeb 100644 --- a/tests/baselines/reference/awaitedTypeStrictNull.types +++ b/tests/baselines/reference/awaitedTypeStrictNull.types @@ -180,11 +180,11 @@ async function main() { >Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : Promise<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ] : [number | Promise<1> | PromiseLike<1>, string | Promise<"2"> | PromiseLike<"2">, true | Promise | PromiseLike] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -192,7 +192,7 @@ async function main() { >MaybePromise(1) : 1 | Promise<1> | PromiseLike<1> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -200,7 +200,7 @@ async function main() { >MaybePromise('2') : "2" | Promise<"2"> | PromiseLike<"2"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >'2' : "2" > : ^^^ @@ -208,7 +208,7 @@ async function main() { >MaybePromise(true) : true | Promise | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ diff --git a/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types b/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types index 8375fa6ac9052..d47e71297b3dd 100644 --- a/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types +++ b/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types @@ -27,7 +27,7 @@ const result = canYouInferThis(() => ({ >canYouInferThis(() => ({ a: { BLAH: 33 }, b: x => { }})) : { BLAH: number; } > : >canYouInferThis : (fn: () => Foo) => A -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >() => ({ a: { BLAH: 33 }, b: x => { }}) : () => { a: { BLAH: number; }; b: (x: { BLAH: number; }) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ a: { BLAH: 33 }, b: x => { }}) : { a: { BLAH: number; }; b: (x: { BLAH: number; }) => void; } @@ -77,7 +77,7 @@ goofus((a: string) => ({ dog() { return a; } })); >goofus((a: string) => ({ dog() { return a; } })) : void > : ^^^^ >goofus : (f: (...args: ARGS) => any) => void -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >(a: string) => ({ dog() { return a; } }) : (a: string) => { dog(): string; } > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >a : string @@ -95,7 +95,7 @@ goofus((a: string) => ({ dog: function() { return a; } })); >goofus((a: string) => ({ dog: function() { return a; } })) : void > : ^^^^ >goofus : (f: (...args: ARGS) => any) => void -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >(a: string) => ({ dog: function() { return a; } }) : (a: string) => { dog: () => string; } > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/badThisBinding.types b/tests/baselines/reference/badThisBinding.types index 2b6d4e6caf35d..9759d94996110 100644 --- a/tests/baselines/reference/badThisBinding.types +++ b/tests/baselines/reference/badThisBinding.types @@ -19,14 +19,14 @@ class Greeter { foo(() => { >foo(() => { bar(() => { var x = this; }); }) : any >foo : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >() => { bar(() => { var x = this; }); } : () => void > : ^^^^^^^^^^ bar(() => { >bar(() => { var x = this; }) : any >bar : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >() => { var x = this; } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/baseConstraintOfDecorator.types b/tests/baselines/reference/baseConstraintOfDecorator.types index 7b5a2043241da..af53209e6591e 100644 --- a/tests/baselines/reference/baseConstraintOfDecorator.types +++ b/tests/baselines/reference/baseConstraintOfDecorator.types @@ -39,7 +39,7 @@ export function classExtender(superClass: TFunction, _instanceModifie >_instanceModifier(this, args) : void > : ^^^^ >_instanceModifier : (instance: any, args: any[]) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >args : any[] @@ -94,7 +94,7 @@ export function classExtender2 MyCl >_instanceModifier(this, args) : void > : ^^^^ >_instanceModifier : (instance: any, args: any[]) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >args : any[] diff --git a/tests/baselines/reference/bestChoiceType.types b/tests/baselines/reference/bestChoiceType.types index 7f9269f226546..1a589d635fe28 100644 --- a/tests/baselines/reference/bestChoiceType.types +++ b/tests/baselines/reference/bestChoiceType.types @@ -7,7 +7,7 @@ >(''.match(/ /) || []).map(s => s.toLowerCase()) : any[] > : ^^^^^ >(''.match(/ /) || []).map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >(''.match(/ /) || []) : RegExpMatchArray | [] > : ^^^^^^^^^^^^^^^^^^^^^ >''.match(/ /) || [] : RegExpMatchArray | [] @@ -15,17 +15,17 @@ >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >/ / : RegExp > : ^^^^^^ >[] : [] > : ^^ >map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >s => s.toLowerCase() : (s: any) => any > : ^ ^^^^^^^^^^^^^ >s : any @@ -48,11 +48,11 @@ function f1() { >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >/ / : RegExp > : ^^^^^^ @@ -72,11 +72,11 @@ function f1() { >y.map(s => s.toLowerCase()) : any[] > : ^^^^^ >y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >y : RegExpMatchArray | [] > : ^^^^^^^^^^^^^^^^^^^^^ >map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >s => s.toLowerCase() : (s: any) => any > : ^ ^^^^^^^^^^^^^ >s : any @@ -98,11 +98,11 @@ function f2() { >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >/ / : RegExp > : ^^^^^^ @@ -124,11 +124,11 @@ function f2() { >y.map(s => s.toLowerCase()) : any[] > : ^^^^^ >y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >y : RegExpMatchArray | never[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >s => s.toLowerCase() : (s: any) => any > : ^ ^^^^^^^^^^^^^ >s : any diff --git a/tests/baselines/reference/bestCommonTypeOfTuple.types b/tests/baselines/reference/bestCommonTypeOfTuple.types index acdd38b69210c..e7f4b4a967dc8 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple.types @@ -61,15 +61,15 @@ var t4: [E1, E2, number]; // no error t1 = [f1, f2]; >t1 = [f1, f2] : [(x: number) => string, (x: number) => number] -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >t1 : [(x: number) => string, (x: number) => number] -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >[f1, f2] : [(x: number) => string, (x: number) => number] -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >f1 : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >f2 : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ t2 = [E1.one, E2.two]; >t2 = [E1.one, E2.two] : [E1, E2] @@ -131,7 +131,7 @@ var e1 = t1[2]; // {} >t1[2] : undefined > : ^^^^^^^^^ >t1 : [(x: number) => string, (x: number) => number] -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/betterErrorForUnionCall.types b/tests/baselines/reference/betterErrorForUnionCall.types index df3f39b6da3dd..88b908ee6c949 100644 --- a/tests/baselines/reference/betterErrorForUnionCall.types +++ b/tests/baselines/reference/betterErrorForUnionCall.types @@ -29,7 +29,7 @@ fnUnion(""); >fnUnion("") : any > : ^^^ >fnUnion : { a: string; } | ((a: string) => void) -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ >"" : "" > : ^^ @@ -45,7 +45,7 @@ fnUnion2(""); >fnUnion2("") : any > : ^^^ >fnUnion2 : ((a: T) => void) | ((a: string) => void) -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/bigint64ArraySubarray.types b/tests/baselines/reference/bigint64ArraySubarray.types index 9399226d65289..f59e9e7e31fd1 100644 --- a/tests/baselines/reference/bigint64ArraySubarray.types +++ b/tests/baselines/reference/bigint64ArraySubarray.types @@ -19,21 +19,21 @@ function bigInt64ArraySubarray() { >arr.subarray() : BigInt64Array > : ^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >arr : BigInt64Array > : ^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ arr.subarray(0); >arr.subarray(0) : BigInt64Array > : ^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >arr : BigInt64Array > : ^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ @@ -41,11 +41,11 @@ function bigInt64ArraySubarray() { >arr.subarray(0, 10) : BigInt64Array > : ^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >arr : BigInt64Array > : ^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >10 : 10 diff --git a/tests/baselines/reference/bigintWithLib.types b/tests/baselines/reference/bigintWithLib.types index d2b624021556b..71d7e3ffc7f34 100644 --- a/tests/baselines/reference/bigintWithLib.types +++ b/tests/baselines/reference/bigintWithLib.types @@ -40,11 +40,11 @@ bigintVal = BigInt.asIntN(8, 0xFFFFn); >BigInt.asIntN(8, 0xFFFFn) : bigint > : ^^^^^^ >BigInt.asIntN : (bits: number, int: bigint) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >BigInt : BigIntConstructor > : ^^^^^^^^^^^^^^^^^ >asIntN : (bits: number, int: bigint) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >8 : 8 > : ^ >0xFFFFn : 65535n @@ -58,11 +58,11 @@ bigintVal = BigInt.asUintN(8, 0xFFFFn); >BigInt.asUintN(8, 0xFFFFn) : bigint > : ^^^^^^ >BigInt.asUintN : (bits: number, int: bigint) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >BigInt : BigIntConstructor > : ^^^^^^^^^^^^^^^^^ >asUintN : (bits: number, int: bigint) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >8 : 8 > : ^ >0xFFFFn : 65535n @@ -88,11 +88,11 @@ let stringVal: string = bigintVal.toString(); >bigintVal.toString() : string > : ^^^^^^ >bigintVal.toString : (radix?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ stringVal = bigintVal.toString(2); >stringVal = bigintVal.toString(2) : string @@ -102,11 +102,11 @@ stringVal = bigintVal.toString(2); >bigintVal.toString(2) : string > : ^^^^^^ >bigintVal.toString : (radix?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >2 : 2 > : ^ @@ -118,11 +118,11 @@ stringVal = bigintVal.toLocaleString(); >bigintVal.toLocaleString() : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ stringVal = bigintVal.toLocaleString('de-DE'); >stringVal = bigintVal.toLocaleString('de-DE') : string @@ -132,11 +132,11 @@ stringVal = bigintVal.toLocaleString('de-DE'); >bigintVal.toLocaleString('de-DE') : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ @@ -148,11 +148,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency' }); >bigintVal.toLocaleString('de-DE', { style: 'currency' }) : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency' } : { style: string; } @@ -170,11 +170,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EU >bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -489,11 +489,11 @@ dataView.setBigInt64(1, -1n); >dataView.setBigInt64(1, -1n) : void > : ^^^^ >dataView.setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >-1n : -1n @@ -505,11 +505,11 @@ dataView.setBigInt64(1, -1n, true); >dataView.setBigInt64(1, -1n, true) : void > : ^^^^ >dataView.setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >-1n : -1n @@ -523,11 +523,11 @@ dataView.setBigInt64(1, -1); // should error >dataView.setBigInt64(1, -1) : void > : ^^^^ >dataView.setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >-1 : -1 @@ -539,11 +539,11 @@ dataView.setBigUint64(2, 123n); >dataView.setBigUint64(2, 123n) : void > : ^^^^ >dataView.setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >2 : 2 > : ^ >123n : 123n @@ -553,11 +553,11 @@ dataView.setBigUint64(2, 123n, true); >dataView.setBigUint64(2, 123n, true) : void > : ^^^^ >dataView.setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >2 : 2 > : ^ >123n : 123n @@ -569,11 +569,11 @@ dataView.setBigUint64(2, 123); // should error >dataView.setBigUint64(2, 123) : void > : ^^^^ >dataView.setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >2 : 2 > : ^ >123 : 123 @@ -587,11 +587,11 @@ bigintVal = dataView.getBigInt64(1); >dataView.getBigInt64(1) : bigint > : ^^^^^^ >dataView.getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >1 : 1 > : ^ @@ -603,11 +603,11 @@ bigintVal = dataView.getBigInt64(1, true); >dataView.getBigInt64(1, true) : bigint > : ^^^^^^ >dataView.getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >1 : 1 > : ^ >true : true @@ -621,11 +621,11 @@ bigintVal = dataView.getBigUint64(2); >dataView.getBigUint64(2) : bigint > : ^^^^^^ >dataView.getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >2 : 2 > : ^ @@ -637,11 +637,11 @@ bigintVal = dataView.getBigUint64(2, true); >dataView.getBigUint64(2, true) : bigint > : ^^^^^^ >dataView.getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >2 : 2 > : ^ >true : true @@ -679,7 +679,7 @@ new Intl.NumberFormat("fr").format(3000n); >new Intl.NumberFormat("fr").format(3000n) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -691,7 +691,7 @@ new Intl.NumberFormat("fr").format(3000n); >"fr" : "fr" > : ^^^^ >format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >3000n : 3000n > : ^^^^^ @@ -699,7 +699,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >new Intl.NumberFormat("fr").format(bigintVal) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -711,7 +711,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >"fr" : "fr" > : ^^^^ >format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >bigintVal : bigint > : ^^^^^^ diff --git a/tests/baselines/reference/bigintWithoutLib.types b/tests/baselines/reference/bigintWithoutLib.types index 531aff18e6b59..bd6505f206f78 100644 --- a/tests/baselines/reference/bigintWithoutLib.types +++ b/tests/baselines/reference/bigintWithoutLib.types @@ -654,7 +654,7 @@ new Intl.NumberFormat("fr").format(3000n); >new Intl.NumberFormat("fr").format(3000n) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : (value: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -666,7 +666,7 @@ new Intl.NumberFormat("fr").format(3000n); >"fr" : "fr" > : ^^^^ >format : (value: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >3000n : 3000n > : ^^^^^ @@ -674,7 +674,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >new Intl.NumberFormat("fr").format(bigintVal) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : (value: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -686,7 +686,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >"fr" : "fr" > : ^^^^ >format : (value: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >bigintVal : bigint > : ^^^^^^ diff --git a/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types b/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types index be1b88cd6ef2e..978f91c12d7f2 100644 --- a/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types +++ b/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types @@ -107,29 +107,29 @@ const funcs1 = { }; type TFuncs1 = typeof funcs1; >TFuncs1 : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >funcs1 : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ declare function useReduxDispatch1>(destructuring: Destructuring): T; >useReduxDispatch1 : void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }>>(destructuring: Destructuring) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ >destructuring : Destructuring<{ funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }, T> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ const {} = useReduxDispatch1( >useReduxDispatch1( (d, f) => ({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), })) : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useReduxDispatch1 : void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }>>(destructuring: Destructuring<{ funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }, T>) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useReduxDispatch1 : void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }>>(destructuring: Destructuring) => T +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ (d, f) => ({ >(d, f) => ({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), }) : (d: Dispatch, f: { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }) => { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >d : Dispatch > : ^^^^^^^^^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), }) : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), } : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } @@ -149,11 +149,11 @@ const {} = useReduxDispatch1( >f.funcA(...p) : void > : ^^^^ >f.funcA : (a: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >funcA : (a: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >...p : boolean > : ^^^^^^^ >p : [a: boolean] @@ -173,11 +173,11 @@ const {} = useReduxDispatch1( >f.funcB(...p) : void > : ^^^^ >f.funcB : (b: string, bb: string) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >funcB : (b: string, bb: string) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >...p : string > : ^^^^^^ >p : [b: string, bb: string] @@ -197,11 +197,11 @@ const {} = useReduxDispatch1( >f.funcC(...p) : void > : ^^^^ >f.funcC : (c: number, cc: number, ccc: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >funcC : (c: number, cc: number, ccc: boolean) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >...p : number | boolean > : ^^^^^^^^^^^^^^^^ >p : [c: number, cc: number, ccc: boolean] diff --git a/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types b/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types index 4135ec98f32d5..ca2450227cbfa 100644 --- a/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types +++ b/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types @@ -15,7 +15,7 @@ const _ = pick(['b'], { a: 'a', b: 'b' }); // T: "b" >pick(['b'], { a: 'a', b: 'b' }) : Pick<{ a: string; b: string; }, "b"> > : ^^^^^ ^^^^^^ >pick : (keys: T[], obj?: O) => Pick -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >['b'] : "b"[] > : ^^^^^ >'b' : "b" @@ -35,7 +35,7 @@ const { } = pick(['b'], { a: 'a', b: 'b' }); // T: "b" | "a" ??? (before fix) >pick(['b'], { a: 'a', b: 'b' }) : Pick<{ a: string; b: string; }, "b"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pick : (keys: T[], obj?: O) => Pick -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >['b'] : "b"[] > : ^^^^^ >'b' : "b" diff --git a/tests/baselines/reference/bindingPatternInParameter01.types b/tests/baselines/reference/bindingPatternInParameter01.types index 22d5e41b26076..af202bd94976b 100644 --- a/tests/baselines/reference/bindingPatternInParameter01.types +++ b/tests/baselines/reference/bindingPatternInParameter01.types @@ -27,11 +27,11 @@ nestedArray.forEach(([[a, b]]) => { >nestedArray.forEach(([[a, b]]) => { console.log(a, b);}) : void > : ^^^^ >nestedArray.forEach : (callbackfn: (value: number[][], index: number, array: number[][][]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >nestedArray : number[][][] > : ^^^^^^^^^^^^ >forEach : (callbackfn: (value: number[][], index: number, array: number[][][]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >([[a, b]]) => { console.log(a, b);} : ([[a, b]]: number[][]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -43,11 +43,11 @@ nestedArray.forEach(([[a, b]]) => { >console.log(a, b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >a : number > : ^^^^^^ >b : number diff --git a/tests/baselines/reference/bitwiseNotOperatorWithStringType.types b/tests/baselines/reference/bitwiseNotOperatorWithStringType.types index 24c674f424db7..d7bfedf4b0ef7 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithStringType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithStringType.types @@ -198,11 +198,11 @@ var ResultIsNumber12 = ~STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types index f86c655741f0a..412dcd2dca8af 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types @@ -45,7 +45,7 @@ declare function use(n: number): void; >use(++i) : void > : ^^^^ >use : (n: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >++i : number > : ^^^^^^ >i : number diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types index 3fd012f6809de..33989fec6734f 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types @@ -70,7 +70,7 @@ foo(10); >foo(10) : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >10 : 10 > : ^^ @@ -78,5 +78,5 @@ foo(); // not ok - needs number >foo() : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types index 194228dce6370..5820765d029d3 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types @@ -70,7 +70,7 @@ foo(10); >foo(10) : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >10 : 10 > : ^^ @@ -78,5 +78,5 @@ foo(); // not ok - needs number >foo() : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationStrictES5.types b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationStrictES5.types index f088344983245..940f990526e45 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationStrictES5.types +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationStrictES5.types @@ -60,7 +60,7 @@ function foo(a: number) { >foo(10) : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >10 : 10 > : ^^ @@ -68,13 +68,13 @@ function foo(a: number) { >foo() : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ } foo(10); >foo(10) : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >10 : 10 > : ^^ @@ -82,5 +82,5 @@ foo(); // not ok - needs number >foo() : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationStrictES6.types b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationStrictES6.types index 9ddef04647555..b826a5f8b8f6d 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationStrictES6.types +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationStrictES6.types @@ -60,7 +60,7 @@ function foo(a: number) { >foo(10) : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >10 : 10 > : ^^ @@ -68,13 +68,13 @@ function foo(a: number) { >foo() : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ } foo(10); >foo(10) : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >10 : 10 > : ^^ @@ -82,5 +82,5 @@ foo(); // not ok - needs number >foo() : void > : ^^^^ >foo : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types b/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types index 321fb5d602f84..d6aec03d7489b 100644 --- a/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types +++ b/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types @@ -347,11 +347,11 @@ function foo15() { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >a : number > : ^^^^^^ @@ -359,11 +359,11 @@ function foo15() { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/bluebirdStaticThis.types b/tests/baselines/reference/bluebirdStaticThis.types index 15f18aa3bc40c..6e40ccb8cda62 100644 --- a/tests/baselines/reference/bluebirdStaticThis.types +++ b/tests/baselines/reference/bluebirdStaticThis.types @@ -27,7 +27,7 @@ export declare class Promise implements Promise.Thenable { static try(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -43,7 +43,7 @@ export declare class Promise implements Promise.Thenable { static try(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -57,7 +57,7 @@ export declare class Promise implements Promise.Thenable { static attempt(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; >attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -73,7 +73,7 @@ export declare class Promise implements Promise.Thenable { static attempt(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; >attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -97,7 +97,7 @@ export declare class Promise implements Promise.Thenable { static resolve(dit: typeof Promise): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } -> : ^^^ ^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -105,7 +105,7 @@ export declare class Promise implements Promise.Thenable { static resolve(dit: typeof Promise, value: Promise.Thenable): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -117,7 +117,7 @@ export declare class Promise implements Promise.Thenable { static resolve(dit: typeof Promise, value: R): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -127,7 +127,7 @@ export declare class Promise implements Promise.Thenable { static reject(dit: typeof Promise, reason: any): Promise; >reject : { (dit: typeof Promise, reason: any): Promise; (dit: typeof Promise, reason: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -137,7 +137,7 @@ export declare class Promise implements Promise.Thenable { static reject(dit: typeof Promise, reason: any): Promise; >reject : { (dit: typeof Promise, reason: any): Promise; (dit: typeof Promise, reason: any): Promise; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -157,7 +157,7 @@ export declare class Promise implements Promise.Thenable { static cast(dit: typeof Promise, value: Promise.Thenable): Promise; >cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -169,7 +169,7 @@ export declare class Promise implements Promise.Thenable { static cast(dit: typeof Promise, value: R): Promise; >cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -207,7 +207,7 @@ export declare class Promise implements Promise.Thenable { static delay(dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R_1, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -221,7 +221,7 @@ export declare class Promise implements Promise.Thenable { static delay(dit: typeof Promise, value: R, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -233,7 +233,7 @@ export declare class Promise implements Promise.Thenable { static delay(dit: typeof Promise, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R_1, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -307,7 +307,7 @@ export declare class Promise implements Promise.Thenable { static all(dit: typeof Promise, values: Promise.Thenable[]>): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -321,7 +321,7 @@ export declare class Promise implements Promise.Thenable { static all(dit: typeof Promise, values: Promise.Thenable): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -333,7 +333,7 @@ export declare class Promise implements Promise.Thenable { static all(dit: typeof Promise, values: Promise.Thenable[]): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -345,7 +345,7 @@ export declare class Promise implements Promise.Thenable { static all(dit: typeof Promise, values: R[]): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -355,7 +355,7 @@ export declare class Promise implements Promise.Thenable { static props(dit: typeof Promise, object: Promise): Promise; >props : { (dit: typeof Promise, object: Promise): Promise; (dit: typeof Promise, object: Object): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -365,7 +365,7 @@ export declare class Promise implements Promise.Thenable { static props(dit: typeof Promise, object: Object): Promise; >props : { (dit: typeof Promise, object: Promise): Promise; (dit: typeof Promise, object: Object): Promise; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -375,7 +375,7 @@ export declare class Promise implements Promise.Thenable { static settle(dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_3[]): Promise[]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -391,7 +391,7 @@ export declare class Promise implements Promise.Thenable { static settle(dit: typeof Promise, values: Promise.Thenable): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_3[]): Promise[]>; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -405,7 +405,7 @@ export declare class Promise implements Promise.Thenable { static settle(dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_3[]): Promise[]>; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -419,7 +419,7 @@ export declare class Promise implements Promise.Thenable { static settle(dit: typeof Promise, values: R[]): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R[]): Promise[]>; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -431,7 +431,7 @@ export declare class Promise implements Promise.Thenable { static any(dit: typeof Promise, values: Promise.Thenable[]>): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -445,7 +445,7 @@ export declare class Promise implements Promise.Thenable { static any(dit: typeof Promise, values: Promise.Thenable): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -457,7 +457,7 @@ export declare class Promise implements Promise.Thenable { static any(dit: typeof Promise, values: Promise.Thenable[]): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -469,7 +469,7 @@ export declare class Promise implements Promise.Thenable { static any(dit: typeof Promise, values: R[]): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -479,7 +479,7 @@ export declare class Promise implements Promise.Thenable { static race(dit: typeof Promise, values: Promise.Thenable[]>): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -493,7 +493,7 @@ export declare class Promise implements Promise.Thenable { static race(dit: typeof Promise, values: Promise.Thenable): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -505,7 +505,7 @@ export declare class Promise implements Promise.Thenable { static race(dit: typeof Promise, values: Promise.Thenable[]): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -517,7 +517,7 @@ export declare class Promise implements Promise.Thenable { static race(dit: typeof Promise, values: R[]): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -527,7 +527,7 @@ export declare class Promise implements Promise.Thenable { static some(dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_3[], count: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -543,7 +543,7 @@ export declare class Promise implements Promise.Thenable { static some(dit: typeof Promise, values: Promise.Thenable, count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_3[], count: number): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -557,7 +557,7 @@ export declare class Promise implements Promise.Thenable { static some(dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_3[], count: number): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -571,7 +571,7 @@ export declare class Promise implements Promise.Thenable { static some(dit: typeof Promise, values: R[], count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -583,7 +583,7 @@ export declare class Promise implements Promise.Thenable { static join(dit: typeof Promise, ...values: Promise.Thenable[]): Promise; >join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -595,7 +595,7 @@ export declare class Promise implements Promise.Thenable { static join(dit: typeof Promise, ...values: R[]): Promise; >join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R[]): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -605,7 +605,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -629,7 +629,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -651,7 +651,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -673,7 +673,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -693,7 +693,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -715,7 +715,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -735,7 +735,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -755,7 +755,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -773,7 +773,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => U_3, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -801,7 +801,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => U_3, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -827,7 +827,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => U_3, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -853,7 +853,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -877,7 +877,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -903,7 +903,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -927,7 +927,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -951,7 +951,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_7): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -973,7 +973,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -997,7 +997,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1019,7 +1019,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1041,7 +1041,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1061,7 +1061,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1083,7 +1083,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1103,7 +1103,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1123,7 +1123,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1144,7 +1144,7 @@ export declare module Promise { export interface Thenable { then(onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_1): Thenable; (onFulfilled: (value: R) => U_2, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_3, onRejected?: (error: any) => U_3): Thenable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ >onFulfilled : (value: R) => Thenable > : ^ ^^ ^^^^^ >value : R @@ -1156,7 +1156,7 @@ export declare module Promise { then(onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U_2, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_3, onRejected?: (error: any) => U_3): Thenable; } -> : ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ >onFulfilled : (value: R) => Thenable > : ^ ^^ ^^^^^ >value : R @@ -1168,7 +1168,7 @@ export declare module Promise { then(onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_2): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_3, onRejected?: (error: any) => U_3): Thenable; } -> : ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ >onFulfilled : (value: R) => U > : ^ ^^ ^^^^^ >value : R @@ -1180,7 +1180,7 @@ export declare module Promise { then(onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_2): Thenable; (onFulfilled: (value: R) => U_3, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } -> : ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfilled : (value: R) => U > : ^ ^^ ^^^^^ >value : R @@ -1226,11 +1226,11 @@ fooProm = Promise.try(Promise, () => { >Promise.try(Promise, () => { return foo;}) : Promise > : ^^^^^^^^^^^^ >Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >() => { return foo;} : () => Foo @@ -1249,11 +1249,11 @@ fooProm = Promise.try(Promise, () => { >Promise.try(Promise, () => { return foo;}, arr) : Promise > : ^^^^^^^^^^^^ >Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >() => { return foo;} : () => Foo @@ -1275,11 +1275,11 @@ fooProm = Promise.try(Promise, () => { >Promise.try(Promise, () => { return foo;}, arr, x) : Promise > : ^^^^^^^^^^^^ >Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >() => { return foo;} : () => Foo diff --git a/tests/baselines/reference/booleanFilterAnyArray.types b/tests/baselines/reference/booleanFilterAnyArray.types index 8349155139364..a2910c4596f5a 100644 --- a/tests/baselines/reference/booleanFilterAnyArray.types +++ b/tests/baselines/reference/booleanFilterAnyArray.types @@ -14,7 +14,7 @@ interface BulleanConstructor { interface Ari { filter(cb1: (value: T) => value is S): T extends any ? Ari : Ari; >filter : { (cb1: (value: T) => value is S): T extends any ? Ari : Ari; (cb2: (value: T) => unknown): Ari; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >cb1 : (value: T) => value is S > : ^ ^^ ^^^^^ >value : T @@ -22,7 +22,7 @@ interface Ari { filter(cb2: (value: T) => unknown): Ari; >filter : { (cb1: (value: T) => value is S): T extends any ? Ari : Ari; (cb2: (value: T) => unknown): Ari; } -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >cb2 : (value: T) => unknown > : ^ ^^ ^^^^^ >value : T @@ -68,11 +68,11 @@ var ys = realanys.filter(Boolean) >realanys.filter(Boolean) : any[] > : ^^^^^ >realanys.filter : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): any[]; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >realanys : any[] > : ^^^^^ >filter : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): any[]; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >Boolean : BooleanConstructor > : ^^^^^^^^^^^^^^^^^^ @@ -100,11 +100,11 @@ var foor = foo.filter(x => x.name) >foo.filter(x => x.name) : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >foo.filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^ >foo : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^ >x => x.name : (x: { name: string; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; } @@ -126,7 +126,7 @@ var foos = [true, true, false, null].filter((thing): thing is boolean => thing ! >[true, true, false, null].filter((thing): thing is boolean => thing !== null) : boolean[] > : ^^^^^^^^^ >[true, true, false, null].filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ >[true, true, false, null] : boolean[] > : ^^^^^^^^^ >true : true @@ -136,7 +136,7 @@ var foos = [true, true, false, null].filter((thing): thing is boolean => thing ! >false : false > : ^^^^^ >filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ >(thing): thing is boolean => thing !== null : (thing: boolean) => thing is boolean > : ^ ^^^^^^^^^^^^^^ >thing : boolean diff --git a/tests/baselines/reference/booleanLiteralTypes1.types b/tests/baselines/reference/booleanLiteralTypes1.types index 3318b5ce30280..566aac3904040 100644 --- a/tests/baselines/reference/booleanLiteralTypes1.types +++ b/tests/baselines/reference/booleanLiteralTypes1.types @@ -191,7 +191,7 @@ function f4(t: true, f: false) { declare function g(x: true): string; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >x : true > : ^^^^ >true : true @@ -199,7 +199,7 @@ declare function g(x: true): string; declare function g(x: false): boolean; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >x : false > : ^^^^^ >false : false @@ -207,7 +207,7 @@ declare function g(x: false): boolean; declare function g(x: boolean): number; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ @@ -223,7 +223,7 @@ function f5(b: boolean) { >g(true) : string > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -233,7 +233,7 @@ function f5(b: boolean) { >g(false) : boolean > : ^^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >false : false > : ^^^^^ @@ -243,7 +243,7 @@ function f5(b: boolean) { >g(b) : number > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >b : boolean > : ^^^^^^^ } @@ -321,7 +321,7 @@ function f11(x: true | false) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ >x : never > : ^^^^^ } @@ -474,7 +474,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/booleanLiteralTypes2.types b/tests/baselines/reference/booleanLiteralTypes2.types index 1886726b2e1a4..e594f53f3a9f2 100644 --- a/tests/baselines/reference/booleanLiteralTypes2.types +++ b/tests/baselines/reference/booleanLiteralTypes2.types @@ -191,7 +191,7 @@ function f4(t: true, f: false) { declare function g(x: true): string; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >x : true > : ^^^^ >true : true @@ -199,7 +199,7 @@ declare function g(x: true): string; declare function g(x: false): boolean; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >x : false > : ^^^^^ >false : false @@ -207,7 +207,7 @@ declare function g(x: false): boolean; declare function g(x: boolean): number; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ @@ -223,7 +223,7 @@ function f5(b: boolean) { >g(true) : string > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -233,7 +233,7 @@ function f5(b: boolean) { >g(false) : boolean > : ^^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >false : false > : ^^^^^ @@ -243,7 +243,7 @@ function f5(b: boolean) { >g(b) : number > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >b : boolean > : ^^^^^^^ } @@ -321,7 +321,7 @@ function f11(x: true | false) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ >x : never > : ^^^^^ } @@ -474,7 +474,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types index ab044e6c29242..d8b75e99ff336 100644 --- a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types +++ b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types @@ -135,7 +135,7 @@ let Fail1 = () => { }} optionalBool={true} /> > { }} optionalBool={true} /> : JSX.Element > : ^^^^^^^^^^^ >Funk : (_props: ComponentProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ >mandatoryFn : () => void > : ^^^^^^^^^^ >() => { } : () => void @@ -153,7 +153,7 @@ let Fail2 = () => { }} optionalBool={true as true} /> > { }} optionalBool={true as true} /> : JSX.Element > : ^^^^^^^^^^^ >Funk : (_props: ComponentProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ >mandatoryFn : () => void > : ^^^^^^^^^^ >() => { } : () => void @@ -185,7 +185,7 @@ let Fail3 = () => { }} optionalBool={True} /> > { }} optionalBool={True} /> : JSX.Element > : ^^^^^^^^^^^ >Funk : (_props: ComponentProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ >mandatoryFn : () => void > : ^^^^^^^^^^ >() => { } : () => void @@ -221,7 +221,7 @@ let Success = () => > : JSX.Element > : ^^^^^^^^^^^ >Funk : (_props: ComponentProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ >attrs2 : { optionalBool: true; mandatoryFn: () => void; } > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types b/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types index 35e6f3a952127..43f940649de61 100644 --- a/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types +++ b/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types @@ -55,7 +55,7 @@ const _ = require("./a"); >require("./a") : typeof _ > : ^^^^^^^^ >require : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^ >"./a" : "./a" > : ^^^^^ diff --git a/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types b/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types index 35e6f3a952127..43f940649de61 100644 --- a/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types +++ b/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types @@ -55,7 +55,7 @@ const _ = require("./a"); >require("./a") : typeof _ > : ^^^^^^^^ >require : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^ >"./a" : "./a" > : ^^^^^ diff --git a/tests/baselines/reference/cachedContextualTypes.types b/tests/baselines/reference/cachedContextualTypes.types index 0ef1aa614f232..bdb0c80adf665 100644 --- a/tests/baselines/reference/cachedContextualTypes.types +++ b/tests/baselines/reference/cachedContextualTypes.types @@ -43,7 +43,7 @@ createInstance(MenuWorkbenchToolBar, { >createInstance(MenuWorkbenchToolBar, { toolbarOptions: { foo(bar) { return bar; } }}) : MenuWorkbenchToolBar > : ^^^^^^^^^^^^^^^^^^^^ >createInstance : any, R extends InstanceType>(ctor: Ctor, ...args: ConstructorParameters) => R -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^ >MenuWorkbenchToolBar : typeof MenuWorkbenchToolBar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ toolbarOptions: { foo(bar) { return bar; } }} : { toolbarOptions: { foo(bar: string): string; }; } diff --git a/tests/baselines/reference/callChain.3.types b/tests/baselines/reference/callChain.3.types index 36ea2a25dfee1..c68cc473dbcac 100644 --- a/tests/baselines/reference/callChain.3.types +++ b/tests/baselines/reference/callChain.3.types @@ -21,11 +21,11 @@ const n1: number = a?.m?.({x: 12 }); // should be an error (`undefined` is not a >a?.m?.({x: 12 }) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >{x: 12 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -39,11 +39,11 @@ const n2: number = a?.m?.({x: absorb()}); // likewise >a?.m?.({x: absorb()}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >{x: absorb()} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -59,11 +59,11 @@ const n3: number | undefined = a?.m?.({x: 12}); // should be ok >a?.m?.({x: 12}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >{x: 12} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -77,11 +77,11 @@ const n4: number | undefined = a?.m?.({x: absorb()}); // likewise >a?.m?.({x: absorb()}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >{x: absorb()} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -98,11 +98,11 @@ let t1 = a?.m?.({x: 12}); >a?.m?.({x: 12}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >{x: 12} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -118,15 +118,15 @@ t1 = a!.m!({x: 12}); >a!.m!({x: 12}) : number > : ^^^^^^ >a!.m! : (obj: { x: T; }) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >a!.m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >a! : { m?(obj: { x: T; }): T; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >{x: 12} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/callChain.types b/tests/baselines/reference/callChain.types index 25390274abf97..6401da00acb53 100644 --- a/tests/baselines/reference/callChain.types +++ b/tests/baselines/reference/callChain.types @@ -11,13 +11,13 @@ o1?.(); >o1?.() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ o1?.(1); >o1?.(1) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -25,7 +25,7 @@ o1?.(...[1, 2]); >o1?.(...[1, 2]) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -39,7 +39,7 @@ o1?.(1, ...[2, 3], 4); >o1?.(1, ...[2, 3], 4) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -65,21 +65,21 @@ o2?.b(); >o2?.b() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ o2?.b(1); >o2?.b(1) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -87,11 +87,11 @@ o2?.b(...[1, 2]); >o2?.b(...[1, 2]) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -105,11 +105,11 @@ o2?.b(1, ...[2, 3], 4); >o2?.b(1, ...[2, 3], 4) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -127,9 +127,9 @@ o2?.["b"](); >o2?.["b"]() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ @@ -137,9 +137,9 @@ o2?.["b"](1); >o2?.["b"](1) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -149,9 +149,9 @@ o2?.["b"](...[1, 2]); >o2?.["b"](...[1, 2]) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >...[1, 2] : number @@ -167,9 +167,9 @@ o2?.["b"](1, ...[2, 3], 4); >o2?.["b"](1, ...[2, 3], 4) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -201,11 +201,11 @@ o3.b?.().c; >o3.b?.() : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -215,11 +215,11 @@ o3.b?.(1).c; >o3.b?.(1) : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >c : string | undefined @@ -231,11 +231,11 @@ o3.b?.(...[1, 2]).c; >o3.b?.(...[1, 2]) : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -253,11 +253,11 @@ o3.b?.(1, ...[2, 3], 4).c; >o3.b?.(1, ...[2, 3], 4) : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -279,11 +279,11 @@ o3.b?.()["c"]; >o3.b?.() : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"c" : "c" > : ^^^ @@ -293,11 +293,11 @@ o3.b?.(1)["c"]; >o3.b?.(1) : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >"c" : "c" @@ -309,11 +309,11 @@ o3.b?.(...[1, 2])["c"]; >o3.b?.(...[1, 2]) : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -331,11 +331,11 @@ o3.b?.(1, ...[2, 3], 4)["c"]; >o3.b?.(1, ...[2, 3], 4) : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -357,9 +357,9 @@ o3["b"]?.().c; >o3["b"]?.() : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -371,9 +371,9 @@ o3["b"]?.(1).c; >o3["b"]?.(1) : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -387,9 +387,9 @@ o3["b"]?.(...[1, 2]).c; >o3["b"]?.(...[1, 2]) : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >...[1, 2] : number @@ -409,9 +409,9 @@ o3["b"]?.(1, ...[2, 3], 4).c; >o3["b"]?.(1, ...[2, 3], 4) : { c: string; } | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -449,9 +449,9 @@ const v: number | undefined = o4?.(incr); >o4?.(incr) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o4 : ((f: (a: T) => T) => T) | undefined -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >incr : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ // GH#33744 declare const o5: () => undefined | (() => void); @@ -468,36 +468,36 @@ o5()?.(); // GH#36031 o2?.b()!.toString; ->o2?.b()!.toString : ((radix?: number | undefined) => string) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o2?.b()!.toString : ((radix?: number) => string) | undefined +> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2?.b()! : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->toString : ((radix?: number | undefined) => string) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>toString : ((radix?: number) => string) | undefined +> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ o2?.b()!.toString!; ->o2?.b()!.toString! : (radix?: number | undefined) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o2?.b()!.toString : ((radix?: number | undefined) => string) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o2?.b()!.toString! : (radix?: number) => string +> : ^ ^^^ ^^^^^^^^^^^ +>o2?.b()!.toString : ((radix?: number) => string) | undefined +> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2?.b()! : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->toString : ((radix?: number | undefined) => string) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>toString : ((radix?: number) => string) | undefined +> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/callChainInference.types b/tests/baselines/reference/callChainInference.types index aadd8367de009..1b6f9427399a7 100644 --- a/tests/baselines/reference/callChainInference.types +++ b/tests/baselines/reference/callChainInference.types @@ -33,11 +33,11 @@ if (value) { >value?.foo("a") : void > : ^^^^ >value?.foo : (this: T, arg: keyof T) => void -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >value : Y > : ^ >foo : (this: T, arg: keyof T) => void -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >"a" : "a" > : ^^^ } @@ -46,11 +46,11 @@ value?.foo("a"); >value?.foo("a") : void | undefined > : ^^^^^^^^^^^^^^^^ >value?.foo : ((this: T, arg: keyof T) => void) | undefined -> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >value : Y | undefined > : ^^^^^^^^^^^^^ >foo : ((this: T, arg: keyof T) => void) | undefined -> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types index 7c2d7b21ef965..ac581c003f71f 100644 --- a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types @@ -18,7 +18,7 @@ var r1 = f(1, ''); >f(1, '') : number > : ^^^^^^ >f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -30,7 +30,7 @@ var r1b = f(1, ''); >f(1, '') : number > : ^^^^^^ >f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -52,7 +52,7 @@ var r2 = f2(1, ''); >f2(1, '') : number > : ^^^^^^ >f2 : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -64,7 +64,7 @@ var r2b = f2(1, ''); >f2(1, '') : number > : ^^^^^^ >f2 : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -84,7 +84,7 @@ var r3 = f3(1, ''); >f3(1, '') : number > : ^^^^^^ >f3 : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -96,7 +96,7 @@ var r3b = f3(1, ''); >f3(1, '') : number > : ^^^^^^ >f3 : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -123,7 +123,7 @@ var r4 = (new C()).f(1, ''); >(new C()).f(1, '') : number > : ^^^^^^ >(new C()).f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >(new C()) : C > : ^ >new C() : C @@ -131,7 +131,7 @@ var r4 = (new C()).f(1, ''); >C : typeof C > : ^^^^^^^^ >f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -143,7 +143,7 @@ var r4b = (new C()).f(1, ''); >(new C()).f(1, '') : number > : ^^^^^^ >(new C()).f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >(new C()) : C > : ^ >new C() : C @@ -151,7 +151,7 @@ var r4b = (new C()).f(1, ''); >C : typeof C > : ^^^^^^^^ >f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -176,11 +176,11 @@ var r5 = i.f(1, ''); >i.f(1, '') : number > : ^^^^^^ >i.f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >i : I > : ^ >f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -192,11 +192,11 @@ var r5b = i.f(1, ''); >i.f(1, '') : number > : ^^^^^^ >i.f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >i : I > : ^ >f : (x: T, y: U) => T -> : ^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" diff --git a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types index f6bed65a9d706..c634e56b30a39 100644 --- a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types @@ -15,7 +15,7 @@ var r = f(1); >f(1) : 1 > : ^ >f : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ @@ -33,7 +33,7 @@ var r2 = f2(1); >f2(1) : 1 > : ^ >f2 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ @@ -49,7 +49,7 @@ var r3 = f3(1); >f3(1) : 1 > : ^ >f3 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ @@ -72,7 +72,7 @@ var r4 = (new C()).f(1); >(new C()).f(1) : 1 > : ^ >(new C()).f : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >(new C()) : C > : ^ >new C() : C @@ -80,7 +80,7 @@ var r4 = (new C()).f(1); >C : typeof C > : ^^^^^^^^ >f : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ @@ -101,11 +101,11 @@ var r5 = i.f(1); >i.f(1) : 1 > : ^ >i.f : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >i : I > : ^ >f : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types index 13e440fec69e4..b6d26b3ec75af 100644 --- a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types +++ b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types @@ -16,7 +16,7 @@ var r = f(1); >f(1) : any > : ^^^ >f : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >1 : 1 > : ^ @@ -34,7 +34,7 @@ var r2 = f2(1); >f2(1) : any > : ^^^ >f2 : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >1 : 1 > : ^ @@ -50,7 +50,7 @@ var r3 = f3(1); >f3(1) : any > : ^^^ >f3 : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >1 : 1 > : ^ @@ -73,7 +73,7 @@ var r4 = (new C()).f(1); >(new C()).f(1) : any > : ^^^ >(new C()).f : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >(new C()) : C > : ^ >new C() : C @@ -81,7 +81,7 @@ var r4 = (new C()).f(1); >C : typeof C > : ^^^^^^^^ >f : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >1 : 1 > : ^ @@ -102,11 +102,11 @@ var r5 = i.f(1); >i.f(1) : any > : ^^^ >i.f : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >i : I > : ^ >f : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >1 : 1 > : ^ @@ -129,7 +129,7 @@ var r6 = (new C2()).f(1); >(new C2()).f(1) : any > : ^^^ >(new C2()).f : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >(new C2()) : C2 > : ^^ >new C2() : C2 @@ -137,7 +137,7 @@ var r6 = (new C2()).f(1); >C2 : typeof C2 > : ^^^^^^^^^ >f : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >1 : 1 > : ^ @@ -158,11 +158,11 @@ var r7 = i2.f(1); >i2.f(1) : any > : ^^^ >i2.f : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >i2 : I2 > : ^^ >f : (x: number) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types b/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types index 2d67c60671924..13d27fa17c87b 100644 --- a/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types +++ b/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types @@ -28,7 +28,7 @@ fn(m => m.toFixed()); >fn(m => m.toFixed()) : void > : ^^^^ >fn : (arg: Q) => void -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >m => m.toFixed() : (m: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -36,17 +36,17 @@ fn(m => m.toFixed()); >m.toFixed() : string > : ^^^^^^ >m.toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >m : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ fn(m => m.toFixed()); >fn(m => m.toFixed()) : void > : ^^^^ >fn : (arg: Q) => void -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >m => m.toFixed() : (m: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -54,11 +54,11 @@ fn(m => m.toFixed()); >m.toFixed() : string > : ^^^^^^ >m.toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >m : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ // Ensure the following real-world example that relies on substitution still works type ExtractParameters = "parameters" extends keyof T @@ -106,7 +106,7 @@ function fn2(arg: Q2) { >useT(arg) : void > : ^^^^ >useT : (_arg: T) => void -> : ^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >arg : T & number > : ^^^^^^^^^^ } @@ -115,7 +115,7 @@ fn2(m => m(42)); >fn2(m => m(42)) : void > : ^^^^ >fn2 : (arg: Q2) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >m => m(42) : (m: (n: number) => void) => void > : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >m : (n: number) => void @@ -131,7 +131,7 @@ fn2(m => m(42)); >fn2(m => m(42)) : void > : ^^^^ >fn2 : (arg: Q2) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ >m => m(42) : (m: (n: number) => void) => void > : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >m : (n: number) => void diff --git a/tests/baselines/reference/callOverload.types b/tests/baselines/reference/callOverload.types index 2ba747d29e949..3527c8bf773eb 100644 --- a/tests/baselines/reference/callOverload.types +++ b/tests/baselines/reference/callOverload.types @@ -31,7 +31,7 @@ fn(1) // no error >fn(1) : void > : ^^^^ >fn : (x: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -39,7 +39,7 @@ fn(1, 2, 3, 4) >fn(1, 2, 3, 4) : void > : ^^^^ >fn : (x: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -53,7 +53,7 @@ takeTwo(1, 2, 3, 4) >takeTwo(1, 2, 3, 4) : void > : ^^^^ >takeTwo : (x: any, y: any) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -66,8 +66,8 @@ takeTwo(1, 2, 3, 4) withRest('a', ...n); // no error >withRest('a', ...n) : void > : ^^^^ ->withRest : (a: any, ...args: any[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>withRest : (a: any, ...args: Array) => void +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ >'a' : "a" > : ^^^ >...n : number @@ -78,14 +78,14 @@ withRest('a', ...n); // no error withRest(); >withRest() : void > : ^^^^ ->withRest : (a: any, ...args: any[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>withRest : (a: any, ...args: Array) => void +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ withRest(...n); >withRest(...n) : void > : ^^^^ ->withRest : (a: any, ...args: any[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>withRest : (a: any, ...args: Array) => void +> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...n : number > : ^^^^^^ >n : number[] diff --git a/tests/baselines/reference/callOverloadViaElementAccessExpression.types b/tests/baselines/reference/callOverloadViaElementAccessExpression.types index 6885e3338d1fb..fbd831abfdb51 100644 --- a/tests/baselines/reference/callOverloadViaElementAccessExpression.types +++ b/tests/baselines/reference/callOverloadViaElementAccessExpression.types @@ -7,19 +7,19 @@ class C { foo(x: number): number; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: any): any { >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >x : any > : ^^^ @@ -41,7 +41,7 @@ var r: string = c['foo'](1); >c['foo'](1) : number > : ^^^^^^ >c['foo'] : { (x: number): number; (x: string): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >c : C > : ^ >'foo' : "foo" @@ -55,7 +55,7 @@ var r2: number = c['foo'](''); >c['foo']('') : string > : ^^^^^^ >c['foo'] : { (x: number): number; (x: string): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >c : C > : ^ >'foo' : "foo" diff --git a/tests/baselines/reference/callOverloads1.types b/tests/baselines/reference/callOverloads1.types index 16b29ce89ff60..cd383e8f25522 100644 --- a/tests/baselines/reference/callOverloads1.types +++ b/tests/baselines/reference/callOverloads1.types @@ -29,7 +29,7 @@ function F1(s:string); function F1(a:any) { return a;} >F1 : (s: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >a : any > : ^^^ >a : any diff --git a/tests/baselines/reference/callOverloads2.types b/tests/baselines/reference/callOverloads2.types index 0550e58660a41..5bd6981e78814 100644 --- a/tests/baselines/reference/callOverloads2.types +++ b/tests/baselines/reference/callOverloads2.types @@ -31,7 +31,7 @@ function F1(s:string) {return s;} // error function F1(a:any) { return a;} // error >F1 : (s: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >a : any > : ^^^ >a : any diff --git a/tests/baselines/reference/callOverloads5.types b/tests/baselines/reference/callOverloads5.types index 50896412d744c..acfcbebf278b0 100644 --- a/tests/baselines/reference/callOverloads5.types +++ b/tests/baselines/reference/callOverloads5.types @@ -17,19 +17,19 @@ class Foo { // error bar1(s:string); >bar1 : { (s: string): any; (n: number): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >s : string > : ^^^^^^ bar1(n:number); >bar1 : { (s: string): any; (n: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >n : number > : ^^^^^^ bar1(a:any) { /*WScript.Echo(a);*/ } >bar1 : { (s: string): any; (n: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >a : any > : ^^^ @@ -57,11 +57,11 @@ f1.bar1("a"); >f1.bar1("a") : any > : ^^^ >f1.bar1 : { (s: string): any; (n: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >f1 : Foo > : ^^^ >bar1 : { (s: string): any; (n: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/callSignatureFunctionOverload.types b/tests/baselines/reference/callSignatureFunctionOverload.types index 18b1123d97b46..5d9bb851813f1 100644 --- a/tests/baselines/reference/callSignatureFunctionOverload.types +++ b/tests/baselines/reference/callSignatureFunctionOverload.types @@ -2,7 +2,7 @@ === callSignatureFunctionOverload.ts === var foo: { ->foo : { (name: string): string; (name: 'order'): string; (name: 'content'): string; (name: 'done'): string; } +>foo : { (name: string): string; (name: "order"): string; (name: "content"): string; (name: "done"): string; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ (name: string): string; @@ -23,7 +23,7 @@ var foo: { } var foo2: { ->foo2 : { (name: string): string; (name: 'order'): string; (name: 'order'): string; (name: 'done'): string; } +>foo2 : { (name: string): string; (name: "order"): string; (name: "order"): string; (name: "done"): string; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ (name: string): string; diff --git a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types index 9160614f7dd96..0766d50066bd6 100644 --- a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types +++ b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.types @@ -39,7 +39,7 @@ foo(1); >foo(1) : void > : ^^^^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -47,13 +47,13 @@ foo(); >foo() : void > : ^^^^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ f(1); >f(1) : void > : ^^^^ >f : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -61,13 +61,13 @@ f(); >f() : void > : ^^^^ >f : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ f2(1); >f2(1) : void > : ^^^^ >f2 : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -75,7 +75,7 @@ f2(1, 2); >f2(1, 2) : void > : ^^^^ >f2 : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -102,21 +102,21 @@ c.foo(); >c.foo() : void > : ^^^^ >c.foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >c : C > : ^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ c.foo(1); >c.foo(1) : void > : ^^^^ >c.foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >c : C > : ^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -160,11 +160,11 @@ i.foo(1); >i.foo(1) : any > : ^^^ >i.foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^ >i : I > : ^ >foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^ >1 : 1 > : ^ @@ -172,11 +172,11 @@ i.foo(1, 2); >i.foo(1, 2) : any > : ^^^ >i.foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^ >i : I > : ^ >foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -205,13 +205,13 @@ a(); >a() : any > : ^^^ >a : { (x?: number): any; foo(x?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ a(1); >a(1) : any > : ^^^ >a : { (x?: number): any; foo(x?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -221,7 +221,7 @@ a.foo(); >a.foo : (x?: number) => any > : ^ ^^^^^^^^^^^^^^^^^ >a : { (x?: number): any; foo(x?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >foo : (x?: number) => any > : ^ ^^^^^^^^^^^^^^^^^ @@ -231,7 +231,7 @@ a.foo(1); >a.foo : (x?: number) => any > : ^ ^^^^^^^^^^^^^^^^^ >a : { (x?: number): any; foo(x?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >foo : (x?: number) => any > : ^ ^^^^^^^^^^^^^^^^^ >1 : 1 @@ -280,21 +280,21 @@ b.foo(); >b.foo() : void > : ^^^^ >b.foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: any) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ b.foo(1); >b.foo(1) : void > : ^^^^ >b.foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: any) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -302,11 +302,11 @@ b.a(1); >b.a(1) : void > : ^^^^ >b.a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: any) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -314,11 +314,11 @@ b.a(1, 2); >b.a(1, 2) : void > : ^^^^ >b.a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: any) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -328,21 +328,21 @@ b.b(); >b.b() : void > : ^^^^ >b.b : (x?: any) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: any) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >b : (x?: any) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ b.b(1); >b.b(1) : void > : ^^^^ >b.b : (x?: any) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: any) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >b : (x?: any) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types b/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types index ef57965b135d0..642ceb32dd470 100644 --- a/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types +++ b/tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.types @@ -79,7 +79,7 @@ var r4 = foo4(1); >foo4(1) : 1 > : ^ >foo4 : (x: T) => T -> : ^^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ @@ -183,7 +183,7 @@ var r8 = foo8(1); >foo8(1) : { x: number; } > : >foo8 : (x: number) => { x: number; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -212,7 +212,7 @@ var r9 = foo9(1); >foo9(1) : I > : ^ >foo9 : (x: number) => I -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ >1 : 1 > : ^ @@ -244,7 +244,7 @@ var r10 = foo10(1); >foo10(1) : C > : ^ >foo10 : (x: number) => C -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types index b896cf0a999e3..3dc65a28feda9 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.types @@ -25,11 +25,11 @@ var r = x.foo(1); // no error >x.foo(1) : number > : ^^^^^^ >x.foo : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >x : A > : ^ >foo : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >1 : 1 > : ^ @@ -39,11 +39,11 @@ var r2 = x.foo(''); // error >x.foo('') : number > : ^^^^^^ >x.foo : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >x : A > : ^ >foo : (x: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.types b/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.types index 7bd056f5a1977..db0055d7642e5 100644 --- a/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.types +++ b/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.types @@ -147,7 +147,7 @@ interface I { foo(private x, public y); >foo : { (x: any, y: any): any; (x: number, y: string): any; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >x : any > : ^^^ >y : any diff --git a/tests/baselines/reference/callSignaturesWithDuplicateParameters.types b/tests/baselines/reference/callSignaturesWithDuplicateParameters.types index f199daa24fbe5..6717800c2906b 100644 --- a/tests/baselines/reference/callSignaturesWithDuplicateParameters.types +++ b/tests/baselines/reference/callSignaturesWithDuplicateParameters.types @@ -147,7 +147,7 @@ interface I { foo(x, x); >foo : { (x: any, x: any): any; (x: number, x: string): any; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >x : any > : ^^^ >x : any diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters.types b/tests/baselines/reference/callSignaturesWithOptionalParameters.types index 93d5d47a2df9c..81ca396f16757 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters.types @@ -33,7 +33,7 @@ foo(1); >foo(1) : void > : ^^^^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -41,13 +41,13 @@ foo(); >foo() : void > : ^^^^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ f(1); >f(1) : void > : ^^^^ >f : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -55,13 +55,13 @@ f(); >f() : void > : ^^^^ >f : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ f2(1); >f2(1) : void > : ^^^^ >f2 : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -69,7 +69,7 @@ f2(1, 2); >f2(1, 2) : void > : ^^^^ >f2 : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -94,21 +94,21 @@ c.foo(); >c.foo() : void > : ^^^^ >c.foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >c : C > : ^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ c.foo(1); >c.foo(1) : void > : ^^^^ >c.foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >c : C > : ^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -145,22 +145,22 @@ i(1); i.foo(1); >i.foo(1) : any >i.foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^ >i : I > : ^ >foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^ >1 : 1 > : ^ i.foo(1, 2); >i.foo(1, 2) : any >i.foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^ >i : I > : ^ >foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -184,32 +184,32 @@ var a: { a(); >a() : any >a : { (x?: number): any; foo(x?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^ a(1); >a(1) : any >a : { (x?: number): any; foo(x?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ a.foo(); >a.foo() : any >a.foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >a : { (x?: number): any; foo(x?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ a.foo(1); >a.foo(1) : any >a.foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >a : { (x?: number): any; foo(x?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >1 : 1 > : ^ @@ -250,21 +250,21 @@ b.foo(); >b.foo() : void > : ^^^^ >b.foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ b.foo(1); >b.foo(1) : void > : ^^^^ >b.foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >foo : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -272,11 +272,11 @@ b.a(1); >b.a(1) : void > : ^^^^ >b.a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ @@ -284,11 +284,11 @@ b.a(1, 2); >b.a(1, 2) : void > : ^^^^ >b.a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -298,21 +298,21 @@ b.b(); >b.b() : void > : ^^^^ >b.b : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >b : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ b.b(1); >b.b(1) : void > : ^^^^ >b.b : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >b : (x?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters2.types b/tests/baselines/reference/callSignaturesWithOptionalParameters2.types index 9beb4778bd8b2..8e0e8718e6b3f 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters2.types +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters2.types @@ -11,31 +11,31 @@ function foo(x?: number); function foo(x?: number) { } >foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >x : number > : ^^^^^^ foo(1); >foo(1) : any >foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >1 : 1 > : ^ foo(); >foo() : any >foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ function foo2(x: number); >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ function foo2(x: number, y?: number); >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -43,7 +43,7 @@ function foo2(x: number, y?: number); function foo2(x: number, y?: number) { } >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -52,14 +52,14 @@ function foo2(x: number, y?: number) { } foo2(1); >foo2(1) : any >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ foo2(1, 2); >foo2(1, 2) : any >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -77,19 +77,19 @@ class C { foo(x?: number) { } >foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >x : number > : ^^^^^^ foo2(x: number); >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ foo2(x: number, y?: number); >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -97,7 +97,7 @@ class C { foo2(x: number, y?: number) { } >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -111,42 +111,42 @@ var c: C; c.foo(); >c.foo() : any >c.foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >c : C > : ^ >foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ c.foo(1); >c.foo(1) : any >c.foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >c : C > : ^ >foo : (x?: number) => any -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >1 : 1 > : ^ c.foo2(1); >c.foo2(1) : any >c.foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >c : C > : ^ >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ c.foo2(1, 2); >c.foo2(1, 2) : any >c.foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >c : C > : ^ >foo2 : { (x: number): any; (x: number, y?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -165,7 +165,7 @@ interface I { foo(x: number, y?: number); >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -173,7 +173,7 @@ interface I { foo(x: number, y?: number, z?: number); >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -210,22 +210,22 @@ i(1, 2); i.foo(1); >i.foo(1) : any >i.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >i : I > : ^ >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ i.foo(1, 2); >i.foo(1, 2) : any >i.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >i : I > : ^ >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -234,11 +234,11 @@ i.foo(1, 2); i.foo(1, 2, 3); >i.foo(1, 2, 3) : any >i.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >i : I > : ^ >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -262,7 +262,7 @@ var a: { foo(x: number, y?: number); >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -270,7 +270,7 @@ var a: { foo(x: number, y?: number, z?: number); >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -282,19 +282,19 @@ var a: { a(); >a() : any >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ a(1); >a(1) : any >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ a(1, 2); >a(1, 2) : any >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -303,22 +303,22 @@ a(1, 2); a.foo(1); >a.foo(1) : any >a.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ a.foo(1, 2); >a.foo(1, 2) : any >a.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -327,11 +327,11 @@ a.foo(1, 2); a.foo(1, 2, 3); >a.foo(1, 2, 3) : any >a.foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >a : { (x?: number): any; (x?: number, y?: number): any; foo(x: number, y?: number): any; foo(x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >foo : { (x: number, y?: number): any; (x: number, y?: number, z?: number): any; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers.types b/tests/baselines/reference/callSignaturesWithParameterInitializers.types index e1ce245b14dc7..9b21869dc4203 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers.types +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers.types @@ -67,7 +67,7 @@ f2(1); >f2(1) : void > : ^^^^ >f2 : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -75,7 +75,7 @@ f2(1, 2); >f2(1, 2) : void > : ^^^^ >f2 : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -161,11 +161,11 @@ i.foo(1); >i.foo(1) : any > : ^^^ >i.foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >i : I > : ^ >foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -173,11 +173,11 @@ i.foo(1, 2); >i.foo(1, 2) : any > : ^^^ >i.foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >i : I > : ^ >foo : (x: number, y?: number) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -284,7 +284,7 @@ b.foo(); >b.foo : (x?: number) => void > : ^ ^^^^^^^^^^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >foo : (x?: number) => void > : ^ ^^^^^^^^^^^^^^^^^^ @@ -294,7 +294,7 @@ b.foo(1); >b.foo : (x?: number) => void > : ^ ^^^^^^^^^^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >foo : (x?: number) => void > : ^ ^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -304,11 +304,11 @@ b.a(1); >b.a(1) : void > : ^^^^ >b.a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -316,11 +316,11 @@ b.a(1, 2); >b.a(1, 2) : void > : ^^^^ >b.a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >a : (x: number, y?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -332,7 +332,7 @@ b.b(); >b.b : (x?: number) => void > : ^ ^^^^^^^^^^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >b : (x?: number) => void > : ^ ^^^^^^^^^^^^^^^^^^ @@ -342,7 +342,7 @@ b.b(1); >b.b : (x?: number) => void > : ^ ^^^^^^^^^^^^^^^^^^ >b : { foo(x?: number): void; a: (x: number, y?: number) => void; b: (x?: number) => void; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >b : (x?: number) => void > : ^ ^^^^^^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/callWithMissingVoid.types b/tests/baselines/reference/callWithMissingVoid.types index ea379156d17f1..625c43256e6ab 100644 --- a/tests/baselines/reference/callWithMissingVoid.types +++ b/tests/baselines/reference/callWithMissingVoid.types @@ -211,7 +211,7 @@ a(4, "hello"); // ok >a(4, "hello") : void > : ^^^^ >a : (x: number, y: string, z: void) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -221,7 +221,7 @@ a(4, "hello", void 0); // ok >a(4, "hello", void 0) : void > : ^^^^ >a : (x: number, y: string, z: void) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -235,7 +235,7 @@ a(4); // not ok >a(4) : void > : ^^^^ >a : (x: number, y: string, z: void) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >4 : 4 > : ^ @@ -257,7 +257,7 @@ b(4, "hello", void 0, 2); // ok >b(4, "hello", void 0, 2) : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -273,7 +273,7 @@ b(4, "hello"); // not ok >b(4, "hello") : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -283,7 +283,7 @@ b(4, "hello", void 0); // not ok >b(4, "hello", void 0) : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -297,7 +297,7 @@ b(4); // not ok >b(4) : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >4 : 4 > : ^ @@ -316,8 +316,8 @@ function c(x: number | void, y: void, z: void | string | number): void { c(3, void 0, void 0); // ok >c(3, void 0, void 0) : void > : ^^^^ ->c : (x: number | void, y: void, z: string | number | void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c : (x: number | void, y: void, z: void | string | number) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >void 0 : undefined @@ -332,8 +332,8 @@ c(3, void 0, void 0); // ok c(3, void 0); // ok >c(3, void 0) : void > : ^^^^ ->c : (x: number | void, y: void, z: string | number | void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c : (x: number | void, y: void, z: void | string | number) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >void 0 : undefined @@ -344,16 +344,16 @@ c(3, void 0); // ok c(3); // ok >c(3) : void > : ^^^^ ->c : (x: number | void, y: void, z: string | number | void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c : (x: number | void, y: void, z: void | string | number) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ c(); // ok >c() : void > : ^^^^ ->c : (x: number | void, y: void, z: string | number | void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c : (x: number | void, y: void, z: void | string | number) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ // Spread Parameters @@ -376,7 +376,7 @@ call((x: number, y: number) => x + y) // error >call((x: number, y: number) => x + y) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -394,7 +394,7 @@ call((x: number, y: number) => x + y, 4, 2) // ok >call((x: number, y: number) => x + y, 4, 2) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -416,7 +416,7 @@ call((x: number, y: void) => x, 4, void 0) // ok >call((x: number, y: void) => x, 4, void 0) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >(x: number, y: void) => x : (x: number, y: void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -436,7 +436,7 @@ call((x: number, y: void) => x, 4) // ok >call((x: number, y: void) => x, 4) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >(x: number, y: void) => x : (x: number, y: void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -452,7 +452,7 @@ call((x: void, y: void) => 42) // ok >call((x: void, y: void) => 42) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >(x: void, y: void) => 42 : (x: void, y: void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : void @@ -466,7 +466,7 @@ call((x: number | void, y: number | void) => 42) // ok >call((x: number | void, y: number | void) => 42) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >(x: number | void, y: number | void) => 42 : (x: number | void, y: number | void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number | void @@ -480,7 +480,7 @@ call((x: number | void, y: number | void) => 42, 4) // ok >call((x: number | void, y: number | void) => 42, 4) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >(x: number | void, y: number | void) => 42 : (x: number | void, y: number | void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number | void @@ -496,7 +496,7 @@ call((x: number | void, y: number | void) => 42, 4, 2) // ok >call((x: number | void, y: number | void) => 42, 4, 2) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >(x: number | void, y: number | void) => 42 : (x: number | void, y: number | void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number | void diff --git a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types index a56683066342c..1e620e286b9b3 100644 --- a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types +++ b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types @@ -53,7 +53,7 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ o1.m(); >o1.m() : void @@ -70,19 +70,19 @@ f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ o2.m(); >o2.m() : void @@ -120,7 +120,7 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ o1.m(); >o1.m() : void @@ -137,19 +137,19 @@ f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ o2.m(); >o2.m() : void diff --git a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types index a56683066342c..1e620e286b9b3 100644 --- a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types +++ b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types @@ -53,7 +53,7 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ o1.m(); >o1.m() : void @@ -70,19 +70,19 @@ f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ o2.m(); >o2.m() : void @@ -120,7 +120,7 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ o1.m(); >o1.m() : void @@ -137,19 +137,19 @@ f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ o2.m(); >o2.m() : void diff --git a/tests/baselines/reference/callWithSpread.types b/tests/baselines/reference/callWithSpread.types index 09bca77b132fa..43b1f87683b82 100644 --- a/tests/baselines/reference/callWithSpread.types +++ b/tests/baselines/reference/callWithSpread.types @@ -44,7 +44,7 @@ foo(1, 2, "abc"); >foo(1, 2, "abc") : void > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -56,7 +56,7 @@ foo(1, 2, ...a); >foo(1, 2, ...a) : void > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -70,7 +70,7 @@ foo(1, 2, ...a, "abc"); >foo(1, 2, ...a, "abc") : void > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -86,11 +86,11 @@ obj.foo(1, 2, "abc"); >obj.foo(1, 2, "abc") : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -102,11 +102,11 @@ obj.foo(1, 2, ...a); >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -120,11 +120,11 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo(1, 2, ...a, "abc") : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -140,15 +140,15 @@ obj.foo(1, 2, ...a).foo(1, 2, "abc"); >obj.foo(1, 2, ...a).foo(1, 2, "abc") : X > : ^ >obj.foo(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -158,7 +158,7 @@ obj.foo(1, 2, ...a).foo(1, 2, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -170,15 +170,15 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a); >obj.foo(1, 2, ...a).foo(1, 2, ...a) : X > : ^ >obj.foo(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -188,7 +188,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -202,15 +202,15 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc") : X > : ^ >obj.foo(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -220,7 +220,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -236,13 +236,13 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >(obj.foo)(1, 2, "abc") : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -254,13 +254,13 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -274,13 +274,13 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >(obj.foo)(1, 2, ...a, "abc") : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -296,19 +296,19 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >((obj.foo)(1, 2, ...a).foo)(1, 2, "abc") : X > : ^ >((obj.foo)(1, 2, ...a).foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >(obj.foo)(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -318,7 +318,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -330,19 +330,19 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >((obj.foo)(1, 2, ...a).foo)(1, 2, ...a) : X > : ^ >((obj.foo)(1, 2, ...a).foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >(obj.foo)(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -352,7 +352,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -366,19 +366,19 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >((obj.foo)(1, 2, ...a).foo)(1, 2, ...a, "abc") : X > : ^ >((obj.foo)(1, 2, ...a).foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >(obj.foo)(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -388,7 +388,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -404,7 +404,7 @@ xa[1].foo(1, 2, "abc"); >xa[1].foo(1, 2, "abc") : X > : ^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -412,7 +412,7 @@ xa[1].foo(1, 2, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -424,7 +424,7 @@ xa[1].foo(1, 2, ...a); >xa[1].foo(1, 2, ...a) : X > : ^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -432,7 +432,7 @@ xa[1].foo(1, 2, ...a); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -446,7 +446,7 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo(1, 2, ...a, "abc") : X > : ^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -454,7 +454,7 @@ xa[1].foo(1, 2, ...a, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -473,7 +473,7 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo : Function > : ^^^^^^^^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -481,7 +481,7 @@ xa[1].foo(1, 2, ...a, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >...[1, 2, "abc"] : string | number > : ^^^^^^^^^^^^^^^ >[1, 2, "abc"] : [number, number, string] @@ -509,11 +509,11 @@ class C { >this.foo(x, y) : void > : ^^^^ >this.foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -523,11 +523,11 @@ class C { >this.foo(x, y, ...z) : void > : ^^^^ >this.foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -588,11 +588,11 @@ class D extends C { >super.foo(1, 2) : void > : ^^^^ >super.foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >super : C > : ^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -602,11 +602,11 @@ class D extends C { >super.foo(1, 2, ...a) : void > : ^^^^ >super.foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >super : C > : ^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/callWithSpread2.types b/tests/baselines/reference/callWithSpread2.types index 5ff17b066d602..205db13e539dd 100644 --- a/tests/baselines/reference/callWithSpread2.types +++ b/tests/baselines/reference/callWithSpread2.types @@ -78,7 +78,7 @@ all(...ns) >all(...ns) : void > : ^^^^ >all : (a?: number, b?: number) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -87,8 +87,8 @@ all(...ns) weird(...ns) >weird(...ns) : void > : ^^^^ ->weird : (a?: string | number, b?: string | number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>weird : (a?: number | string, b?: number | string) => void +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -97,8 +97,8 @@ weird(...ns) weird(...mixed) >weird(...mixed) : void > : ^^^^ ->weird : (a?: string | number, b?: string | number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>weird : (a?: number | string, b?: number | string) => void +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ >...mixed : string | number > : ^^^^^^^^^^^^^^^ >mixed : (string | number)[] @@ -107,8 +107,8 @@ weird(...mixed) weird(...tuple) >weird(...tuple) : void > : ^^^^ ->weird : (a?: string | number, b?: string | number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>weird : (a?: number | string, b?: number | string) => void +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ >...tuple : string | number > : ^^^^^^^^^^^^^^^ >tuple : [number, string] @@ -118,7 +118,7 @@ prefix("a", ...ns) >prefix("a", ...ns) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >"a" : "a" > : ^^^ >...ns : number @@ -130,7 +130,7 @@ rest("d", ...ns) >rest("d", ...ns) : void > : ^^^^ >rest : (s: string, a?: number, b?: number, ...rest: number[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^ >"d" : "d" > : ^^^ >...ns : number @@ -144,7 +144,7 @@ normal("g", ...ns) >normal("g", ...ns) : void > : ^^^^ >normal : (s: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >"g" : "g" > : ^^^ >...ns : number @@ -167,7 +167,7 @@ all(...mixed) >all(...mixed) : void > : ^^^^ >all : (a?: number, b?: number) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ >...mixed : string | number > : ^^^^^^^^^^^^^^^ >mixed : (string | number)[] @@ -177,7 +177,7 @@ all(...tuple) >all(...tuple) : void > : ^^^^ >all : (a?: number, b?: number) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ >...tuple : string | number > : ^^^^^^^^^^^^^^^ >tuple : [number, string] @@ -187,7 +187,7 @@ prefix("b", ...mixed) >prefix("b", ...mixed) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >"b" : "b" > : ^^^ >...mixed : string | number @@ -199,7 +199,7 @@ prefix("c", ...tuple) >prefix("c", ...tuple) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >"c" : "c" > : ^^^ >...tuple : string | number @@ -211,7 +211,7 @@ rest("e", ...mixed) >rest("e", ...mixed) : void > : ^^^^ >rest : (s: string, a?: number, b?: number, ...rest: number[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^ >"e" : "e" > : ^^^ >...mixed : string | number @@ -223,7 +223,7 @@ rest("f", ...tuple) >rest("f", ...tuple) : void > : ^^^^ >rest : (s: string, a?: number, b?: number, ...rest: number[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^ >"f" : "f" > : ^^^ >...tuple : string | number @@ -235,7 +235,7 @@ prefix(...ns) // required parameters are required >prefix(...ns) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -245,7 +245,7 @@ prefix(...mixed) >prefix(...mixed) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >...mixed : string | number > : ^^^^^^^^^^^^^^^ >mixed : (string | number)[] @@ -255,7 +255,7 @@ prefix(...tuple) >prefix(...tuple) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >...tuple : string | number > : ^^^^^^^^^^^^^^^ >tuple : [number, string] @@ -265,7 +265,7 @@ prefix2("g", ...ns); >prefix2("g", ...ns) : void > : ^^^^ >prefix2 : (s: string, n: number, a?: number, b?: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ >"g" : "g" > : ^^^ >...ns : number diff --git a/tests/baselines/reference/callWithSpread3.types b/tests/baselines/reference/callWithSpread3.types index 8a40b3d34d002..3e9c494427090 100644 --- a/tests/baselines/reference/callWithSpread3.types +++ b/tests/baselines/reference/callWithSpread3.types @@ -72,7 +72,7 @@ fs2('a', ...s2); // error on ...s2 >fs2('a', ...s2) : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >'a' : "a" > : ^^^ >...s2 : string @@ -84,7 +84,7 @@ fs2('a', 'b', 'c', ...s2); // error on 'c' and ...s2 >fs2('a', 'b', 'c', ...s2) : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -100,7 +100,7 @@ fs2('a', 'b', ...s2, 'c'); // error on ...s2 and 'c' >fs2('a', 'b', ...s2, 'c') : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -116,7 +116,7 @@ fs2('a', 'b', 'c', ...s2, 'd'); // error on 'c', ...s2 and 'd' >fs2('a', 'b', 'c', ...s2, 'd') : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -134,7 +134,7 @@ fs2(...s2, 'a'); // error on 'a' >fs2(...s2, 'a') : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >...s2 : string > : ^^^^^^ >s2 : [string, string] @@ -146,7 +146,7 @@ fs2(...s3); // error on ...s3 >fs2(...s3) : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >...s3 : string > : ^^^^^^ >s3 : [string, string, string] @@ -156,7 +156,7 @@ fs2_(...s_); // error on ...s_ >fs2_(...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -166,7 +166,7 @@ fs2_(...s2n_); // error on ...s2n_ >fs2_(...s2n_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s2n_ : string | number > : ^^^^^^^^^^^^^^^ >s2n_ : [string, string, ...number[]] @@ -176,7 +176,7 @@ fs2_(...s_, ...s_); // error on ...s_ >fs2_(...s_, ...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -190,7 +190,7 @@ fs2_(...s_, ...s_, ...s_); // error on ...s_ >fs2_(...s_, ...s_, ...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -209,7 +209,7 @@ fs2n_(...s2_); // error on ...s2_ >fs2n_(...s2_) : void > : ^^^^ >fs2n_ : (a: string, b: string, ...c: number[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -220,7 +220,7 @@ fs2_(...s2_); >fs2_(...s2_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -230,7 +230,7 @@ fs2_(...s2_, ...s_); >fs2_(...s2_, ...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -244,7 +244,7 @@ fs2_(...s2_, ...s2_); >fs2_(...s2_, ...s2_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -258,7 +258,7 @@ fs2_(...s_, ...s2_); >fs2_(...s_, ...s2_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -272,7 +272,7 @@ fs2n_(...s2n_); >fs2n_(...s2n_) : void > : ^^^^ >fs2n_ : (a: string, b: string, ...c: number[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s2n_ : string | number > : ^^^^^^^^^^^^^^^ >s2n_ : [string, string, ...number[]] @@ -282,7 +282,7 @@ fs2n_(...s2); >fs2n_(...s2) : void > : ^^^^ >fs2n_ : (a: string, b: string, ...c: number[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >...s2 : string > : ^^^^^^ >s2 : [string, string] @@ -293,7 +293,7 @@ fs5(...s2, "foo", ...s2); >fs5(...s2, "foo", ...s2) : void > : ^^^^ >fs5 : (a: string, b: string, c: string, d: string, e: string) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >...s2 : string > : ^^^^^^ >s2 : [string, string] diff --git a/tests/baselines/reference/callWithSpread4.types b/tests/baselines/reference/callWithSpread4.types index 4294da0bc3598..a03e4891f28bf 100644 --- a/tests/baselines/reference/callWithSpread4.types +++ b/tests/baselines/reference/callWithSpread4.types @@ -79,8 +79,8 @@ declare var fun: (inp: any) => AsyncGenerator pli( >pli( reads, ...gun, tr, fun, ...gz, writes) : Promise > : ^^^^^^^^^^^^^ ->pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: readonly (R | W | RW)[]): Promise; (s1: R, s2: W | RW, ...streams: (W | RW)[]): Promise; } -> : ^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: ReadonlyArray): Promise; (s1: R, s2: RW | W, ...streams: Array): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ reads, >reads : R @@ -98,7 +98,7 @@ pli( fun, >fun : (inp: any) => AsyncGenerator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...gz, >...gz : RW @@ -128,7 +128,7 @@ test(...anys) >test(...anys) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >test : (x: any, y: () => string) => string | undefined -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >...anys : any > : ^^^ >anys : any[] @@ -137,8 +137,8 @@ test(...anys) pli(...[reads, writes, writes] as const) >pli(...[reads, writes, writes] as const) : Promise > : ^^^^^^^^^^^^^ ->pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: readonly (R | W | RW)[]): Promise; (s1: R, s2: W | RW, ...streams: (W | RW)[]): Promise; } -> : ^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: ReadonlyArray): Promise; (s1: R, s2: RW | W, ...streams: Array): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ >...[reads, writes, writes] as const : R | W > : ^^^^^ >[reads, writes, writes] as const : readonly [R, W, W] diff --git a/tests/baselines/reference/callWithSpread5.types b/tests/baselines/reference/callWithSpread5.types index 77469061e153e..62cfdfb91db87 100644 --- a/tests/baselines/reference/callWithSpread5.types +++ b/tests/baselines/reference/callWithSpread5.types @@ -29,7 +29,7 @@ fn(...nnnu, x) >fn(...nnnu, x) : number > : ^^^^^^ >fn : (a: number, b: number, bb: number, ...c: number[]) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >...nnnu : number > : ^^^^^^ >nnnu : [number, number, number?] @@ -41,7 +41,7 @@ fn(...nntnnnt, x) >fn(...nntnnnt, x) : number > : ^^^^^^ >fn : (a: number, b: number, bb: number, ...c: number[]) => number -> : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >...nntnnnt : number > : ^^^^^^ >nntnnnt : [number, number] | [number, number, number] diff --git a/tests/baselines/reference/callWithSpreadES6.types b/tests/baselines/reference/callWithSpreadES6.types index 190db3a7475c3..95d2e7a06ead0 100644 --- a/tests/baselines/reference/callWithSpreadES6.types +++ b/tests/baselines/reference/callWithSpreadES6.types @@ -44,7 +44,7 @@ foo(1, 2, "abc"); >foo(1, 2, "abc") : void > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -56,7 +56,7 @@ foo(1, 2, ...a); >foo(1, 2, ...a) : void > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -70,7 +70,7 @@ foo(1, 2, ...a, "abc"); >foo(1, 2, ...a, "abc") : void > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -85,11 +85,11 @@ foo(1, 2, ...a, "abc"); obj.foo(1, 2, "abc"); >obj.foo(1, 2, "abc") : any >obj.foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -100,11 +100,11 @@ obj.foo(1, 2, "abc"); obj.foo(1, 2, ...a); >obj.foo(1, 2, ...a) : any >obj.foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -117,11 +117,11 @@ obj.foo(1, 2, ...a); obj.foo(1, 2, ...a, "abc"); >obj.foo(1, 2, ...a, "abc") : any >obj.foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -136,13 +136,13 @@ obj.foo(1, 2, ...a, "abc"); (obj.foo)(1, 2, "abc"); >(obj.foo)(1, 2, "abc") : any >(obj.foo) : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -153,13 +153,13 @@ obj.foo(1, 2, ...a, "abc"); (obj.foo)(1, 2, ...a); >(obj.foo)(1, 2, ...a) : any >(obj.foo) : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -172,13 +172,13 @@ obj.foo(1, 2, ...a, "abc"); (obj.foo)(1, 2, ...a, "abc"); >(obj.foo)(1, 2, ...a, "abc") : any >(obj.foo) : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -193,7 +193,7 @@ obj.foo(1, 2, ...a, "abc"); xa[1].foo(1, 2, "abc"); >xa[1].foo(1, 2, "abc") : any >xa[1].foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -201,7 +201,7 @@ xa[1].foo(1, 2, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -212,7 +212,7 @@ xa[1].foo(1, 2, "abc"); xa[1].foo(1, 2, ...a); >xa[1].foo(1, 2, ...a) : any >xa[1].foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -220,7 +220,7 @@ xa[1].foo(1, 2, ...a); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -233,7 +233,7 @@ xa[1].foo(1, 2, ...a); xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo(1, 2, ...a, "abc") : any >xa[1].foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -241,7 +241,7 @@ xa[1].foo(1, 2, ...a, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -260,7 +260,7 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo : Function > : ^^^^^^^^ >xa[1].foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -268,7 +268,7 @@ xa[1].foo(1, 2, ...a, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => any -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ >...[1, 2, "abc"] : string | number > : ^^^^^^^^^^^^^^^ >[1, 2, "abc"] : [number, number, string] @@ -296,11 +296,11 @@ class C { >this.foo(x, y) : void > : ^^^^ >this.foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -310,11 +310,11 @@ class C { >this.foo(x, y, ...z) : void > : ^^^^ >this.foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >x : number > : ^^^^^^ >y : number @@ -375,11 +375,11 @@ class D extends C { >super.foo(1, 2) : void > : ^^^^ >super.foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >super : C > : ^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -389,11 +389,11 @@ class D extends C { >super.foo(1, 2, ...a) : void > : ^^^^ >super.foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >super : C > : ^ >foo : (x: number, y: number, ...z: string[]) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/callbackArgsDifferByOptionality.types b/tests/baselines/reference/callbackArgsDifferByOptionality.types index 5202c48710d15..c0c107c1d76cb 100644 --- a/tests/baselines/reference/callbackArgsDifferByOptionality.types +++ b/tests/baselines/reference/callbackArgsDifferByOptionality.types @@ -2,16 +2,16 @@ === callbackArgsDifferByOptionality.ts === function x3(callback: (x?: 'hi') => number); ->x3 : { (callback: (x?: 'hi') => number): any; (callback: (x: string) => number): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->callback : (x?: 'hi') => number +>x3 : { (callback: (x?: "hi") => number): any; (callback: (x: string) => number): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>callback : (x?: "hi") => number > : ^ ^^^ ^^^^^ >x : "hi" > : ^^^^ function x3(callback: (x: string) => number); >x3 : { (callback: (x?: "hi") => number): any; (callback: (x: string) => number): any; } -> : ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >callback : (x: string) => number > : ^ ^^ ^^^^^ >x : string @@ -19,7 +19,7 @@ function x3(callback: (x: string) => number); function x3(callback: (x: any) => number) { >x3 : { (callback: (x?: "hi") => number): any; (callback: (x: string) => number): any; } -> : ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >callback : (x: any) => number > : ^ ^^ ^^^^^ >x : any diff --git a/tests/baselines/reference/callbackOnConstructor.types b/tests/baselines/reference/callbackOnConstructor.types index f1b685c15d939..5f29d608e1e61 100644 --- a/tests/baselines/reference/callbackOnConstructor.types +++ b/tests/baselines/reference/callbackOnConstructor.types @@ -23,7 +23,7 @@ export class Preferences { /** @type {ValueGetter_2} */ var ooscope2 = s => s.length > 0 >ooscope2 : (name: string) => string | number | boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s => s.length > 0 : (s: string) => string | number | boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : string diff --git a/tests/baselines/reference/callbackTagNamespace.types b/tests/baselines/reference/callbackTagNamespace.types index 8195f7ed7a7c9..bb17304ad8799 100644 --- a/tests/baselines/reference/callbackTagNamespace.types +++ b/tests/baselines/reference/callbackTagNamespace.types @@ -16,7 +16,7 @@ var x = 1; /** @type {NS.Nested.Inner} */ function f(space, peace) { >f : (space: any, peace: any) => string | number -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >space : any >peace : any diff --git a/tests/baselines/reference/callbacksDontShareTypes.types b/tests/baselines/reference/callbacksDontShareTypes.types index dcc55bc4cf821..bbe19ce953b8a 100644 --- a/tests/baselines/reference/callbacksDontShareTypes.types +++ b/tests/baselines/reference/callbacksDontShareTypes.types @@ -21,7 +21,7 @@ interface Collection { interface Combinators { map(c: Collection, f: (x: T) => U): Collection; >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >c : Collection > : ^^^^^^^^^^^^^ >f : (x: T) => U @@ -31,7 +31,7 @@ interface Combinators { map(c: Collection, f: (x: T) => any): Collection; >map : { (c: Collection, f: (x: T_1) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^ >f : (x: T) => any @@ -58,11 +58,11 @@ var rf1 = (x: number) => { return x.toFixed() }; >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ var r1a = _.map(c2, (x) => { return x.toFixed() }); >r1a : Collection @@ -70,11 +70,11 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >_.map(c2, (x) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -84,11 +84,11 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ var r1b = _.map(c2, rf1); // this line should not cause the following 2 to have errors >r1b : Collection @@ -96,15 +96,15 @@ var r1b = _.map(c2, rf1); // this line should not cause the following 2 to have >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >rf1 : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ var r5a = _.map(c2, (x) => { return x.toFixed() }); >r5a : Collection @@ -112,11 +112,11 @@ var r5a = _.map(c2, (x) => { return x.toFixed() }); >_.map(c2, (x) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -126,11 +126,11 @@ var r5a = _.map(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ var r5b = _.map(c2, rf1); >r5b : Collection @@ -138,13 +138,13 @@ var r5b = _.map(c2, rf1); >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >rf1 : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/callsOnComplexSignatures.types b/tests/baselines/reference/callsOnComplexSignatures.types index 4d1fc861946be..47a7e172d9c31 100644 --- a/tests/baselines/reference/callsOnComplexSignatures.types +++ b/tests/baselines/reference/callsOnComplexSignatures.types @@ -130,7 +130,7 @@ function test2() { >messages[type]({ a: "A", b: 0 }) : string > : ^^^^^^ >messages[type] : ((options: { [key: string]: any; b: number; }) => string) | ((options: { [key: string]: any; a: string; }) => string) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >messages : Messages > : ^^^^^^^^ >type : "foo" | "bar" @@ -157,11 +157,11 @@ function test3(items: string[] | number[]) { >items.forEach(item => console.log(item)) : void > : ^^^^ >items.forEach : ((callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void) -> : ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ >items : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >forEach : ((callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void) -> : ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ >item => console.log(item) : (item: string | number) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : string | number @@ -169,11 +169,11 @@ function test3(items: string[] | number[]) { >console.log(item) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >item : string | number > : ^^^^^^^^^^^^^^^ } @@ -279,13 +279,13 @@ function test4( >arg1() : number > : ^^^^^^ >arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ arg1({x: 0, y: 0}); >arg1({x: 0, y: 0}) : number > : ^^^^^^ >arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -301,7 +301,7 @@ function test4( >arg1({x: 0, y: 0}, {x: 1, y: 1}) : number > : ^^^^^^ >arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -327,7 +327,7 @@ function test4( >arg2({x: 0}, {x: 0}) : number > : ^^^^^^ >arg2 : ((a: { x: number; }, b: object) => number) | ((a: object, b: { x: number; }) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -345,7 +345,7 @@ function test4( >arg3({x: 0}) : number > : ^^^^^^ >arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -357,7 +357,7 @@ function test4( >arg3({x: 0}, {x: 0, y: 0}) : number > : ^^^^^^ >arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -379,7 +379,7 @@ function test4( >arg3({x: 0}, {x: 0, y: 0}, {x: 0, y: 0}) : number > : ^^^^^^ >arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -410,14 +410,14 @@ function test4( arg4(); >arg4() : number > : ^^^^^^ ->arg4 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((a?: { y: number; } | undefined) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ arg4({x: 0, y: 0}); >arg4({x: 0, y: 0}) : number > : ^^^^^^ ->arg4 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((a?: { y: number; } | undefined) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -432,8 +432,8 @@ function test4( arg4({x: 0, y: 0}, {x: 0}); >arg4({x: 0, y: 0}, {x: 0}) : number > : ^^^^^^ ->arg4 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((a?: { y: number; } | undefined) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -454,14 +454,14 @@ function test4( arg5(); >arg5() : number > : ^^^^^^ ->arg5 : ((a?: { x: number; } | undefined, ...b: { x: number; }[]) => number) | ((a?: { y: number; } | undefined) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) +> : ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ arg5({x: 0, y: 0}); >arg5({x: 0, y: 0}) : number > : ^^^^^^ ->arg5 : ((a?: { x: number; } | undefined, ...b: { x: number; }[]) => number) | ((a?: { y: number; } | undefined) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) +> : ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -476,8 +476,8 @@ function test4( arg5({x: 0, y: 0}, {x: 0}); >arg5({x: 0, y: 0}, {x: 0}) : number > : ^^^^^^ ->arg5 : ((a?: { x: number; } | undefined, ...b: { x: number; }[]) => number) | ((a?: { y: number; } | undefined) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) +> : ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -498,14 +498,14 @@ function test4( arg6(); >arg6() : number > : ^^^^^^ ->arg6 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ arg6({x: 0, y: 0}); >arg6({x: 0, y: 0}) : number > : ^^^^^^ ->arg6 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -520,8 +520,8 @@ function test4( arg6({x: 0, y: 0}, {x: 0, y: 0}); >arg6({x: 0, y: 0}, {x: 0, y: 0}) : number > : ^^^^^^ ->arg6 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -546,8 +546,8 @@ function test4( arg6({x: 0, y: 0}, {x: 0, y: 0}, {y: 0}); >arg6({x: 0, y: 0}, {x: 0, y: 0}, {y: 0}) : number > : ^^^^^^ ->arg6 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/capturedLetConstInLoop1.types b/tests/baselines/reference/capturedLetConstInLoop1.types index 63ccec6545b2a..04d8d5b6e9dc9 100644 --- a/tests/baselines/reference/capturedLetConstInLoop1.types +++ b/tests/baselines/reference/capturedLetConstInLoop1.types @@ -337,7 +337,7 @@ for (let y = (use(() => y), 0); y < 1; ++y) { > : ^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -365,7 +365,7 @@ for (let y = 0; use(() => y), y < 1; ++y) { > : ^^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -397,7 +397,7 @@ for (let y = 0; y < 1; use(() => y), ++y) { > : ^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -417,7 +417,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { > : ^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -428,7 +428,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { > : ^^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -443,7 +443,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { > : ^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -456,7 +456,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { use(() => y); >use(() => y) : any >use : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number diff --git a/tests/baselines/reference/capturedLetConstInLoop10.types b/tests/baselines/reference/capturedLetConstInLoop10.types index 47ab9aa717f4b..49d47bd287ef5 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10.types +++ b/tests/baselines/reference/capturedLetConstInLoop10.types @@ -29,11 +29,11 @@ class A { >this.bar(f()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >f() : number > : ^^^^^^ >f : () => number @@ -87,11 +87,11 @@ class A { >this.bar(b()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >b() : number > : ^^^^^^ >b : () => number @@ -101,11 +101,11 @@ class A { >this.bar(a()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a() : number > : ^^^^^^ >a : () => number @@ -136,11 +136,11 @@ class A { >this.bar(a()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a() : number > : ^^^^^^ >a : () => number @@ -166,11 +166,11 @@ class A { >this.bar(b()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >b() : number > : ^^^^^^ >b : () => number @@ -216,11 +216,11 @@ class B { >this.bar(f()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >f() : number > : ^^^^^^ >f : () => number diff --git a/tests/baselines/reference/capturedLetConstInLoop10_ES6.types b/tests/baselines/reference/capturedLetConstInLoop10_ES6.types index af3f2b034e40f..b24a792834ca9 100644 --- a/tests/baselines/reference/capturedLetConstInLoop10_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop10_ES6.types @@ -29,11 +29,11 @@ class A { >this.bar(f()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >f() : number > : ^^^^^^ >f : () => number @@ -87,11 +87,11 @@ class A { >this.bar(b()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >b() : number > : ^^^^^^ >b : () => number @@ -101,11 +101,11 @@ class A { >this.bar(a()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a() : number > : ^^^^^^ >a : () => number @@ -136,11 +136,11 @@ class A { >this.bar(a()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a() : number > : ^^^^^^ >a : () => number @@ -166,11 +166,11 @@ class A { >this.bar(b()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >b() : number > : ^^^^^^ >b : () => number @@ -216,11 +216,11 @@ class B { >this.bar(f()) : void > : ^^^^ >this.bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >f() : number > : ^^^^^^ >f : () => number diff --git a/tests/baselines/reference/capturedLetConstInLoop13.types b/tests/baselines/reference/capturedLetConstInLoop13.types index 441c7a3625650..1dadefab079b8 100644 --- a/tests/baselines/reference/capturedLetConstInLoop13.types +++ b/tests/baselines/reference/capturedLetConstInLoop13.types @@ -10,11 +10,11 @@ class Main { >this.register("a", "b", "c") : void > : ^^^^ >this.register : (...names: string[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >register : (...names: string[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >"a" : "a" > : ^^^ >"b" : "b" @@ -39,11 +39,11 @@ class Main { >this.bar({ [name + ".a"]: () => { this.foo(name); }, }) : void > : ^^^^ >this.bar : (a: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bar : (a: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{ [name + ".a"]: () => { this.foo(name); }, } : { [x: string]: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -61,11 +61,11 @@ class Main { >this.foo(name) : void > : ^^^^ >this.foo : (name: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >foo : (name: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >name : string > : ^^^^^^ diff --git a/tests/baselines/reference/capturedLetConstInLoop3.types b/tests/baselines/reference/capturedLetConstInLoop3.types index 8e4f524c505dd..6c844b489daca 100644 --- a/tests/baselines/reference/capturedLetConstInLoop3.types +++ b/tests/baselines/reference/capturedLetConstInLoop3.types @@ -43,7 +43,7 @@ function foo0(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -92,7 +92,7 @@ function foo0_1(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : string > : ^^^^^^ } @@ -152,7 +152,7 @@ function foo1(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -210,7 +210,7 @@ function foo2(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -256,7 +256,7 @@ function foo3(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -321,7 +321,7 @@ function foo4(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -393,7 +393,7 @@ function foo5(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -446,7 +446,7 @@ function foo6(x) { use(v) >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -497,7 +497,7 @@ function foo7(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -571,7 +571,7 @@ function foo8(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -612,7 +612,7 @@ function foo0_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -661,7 +661,7 @@ function foo0_1_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : string > : ^^^^^^ } @@ -717,7 +717,7 @@ function foo1_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -775,7 +775,7 @@ function foo2_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -826,7 +826,7 @@ function foo3_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -887,7 +887,7 @@ function foo4_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -955,7 +955,7 @@ function foo5_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1026,7 +1026,7 @@ function foo6_c(x) { use(v) >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1096,7 +1096,7 @@ function foo7_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1167,7 +1167,7 @@ function foo8_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } diff --git a/tests/baselines/reference/capturedLetConstInLoop3_ES6.types b/tests/baselines/reference/capturedLetConstInLoop3_ES6.types index abe0262506ead..15352e1fd5e17 100644 --- a/tests/baselines/reference/capturedLetConstInLoop3_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop3_ES6.types @@ -43,7 +43,7 @@ function foo0(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -92,7 +92,7 @@ function foo0_1(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : string > : ^^^^^^ } @@ -152,7 +152,7 @@ function foo1(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -210,7 +210,7 @@ function foo2(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -256,7 +256,7 @@ function foo3(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -321,7 +321,7 @@ function foo4(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -393,7 +393,7 @@ function foo5(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -446,7 +446,7 @@ function foo6(x) { use(v) >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -497,7 +497,7 @@ function foo7(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -571,7 +571,7 @@ function foo8(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -612,7 +612,7 @@ function foo0_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -661,7 +661,7 @@ function foo0_1_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : string > : ^^^^^^ } @@ -717,7 +717,7 @@ function foo1_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -775,7 +775,7 @@ function foo2_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -826,7 +826,7 @@ function foo3_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any } @@ -887,7 +887,7 @@ function foo4_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -955,7 +955,7 @@ function foo5_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1026,7 +1026,7 @@ function foo6_c(x) { use(v) >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1096,7 +1096,7 @@ function foo7_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1167,7 +1167,7 @@ function foo8_c(x) { use(v); >use(v) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } diff --git a/tests/baselines/reference/capturedLetConstInLoop5.types b/tests/baselines/reference/capturedLetConstInLoop5.types index 027f89d00796a..8b0fc5a757b83 100644 --- a/tests/baselines/reference/capturedLetConstInLoop5.types +++ b/tests/baselines/reference/capturedLetConstInLoop5.types @@ -66,7 +66,7 @@ function foo0(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -129,7 +129,7 @@ function foo00(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : string > : ^^^^^^ } @@ -202,7 +202,7 @@ function foo1(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -273,7 +273,7 @@ function foo2(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -339,7 +339,7 @@ function foo3(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -418,7 +418,7 @@ function foo4(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -503,7 +503,7 @@ function foo5(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -583,7 +583,7 @@ function foo6(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -661,7 +661,7 @@ function foo7(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -749,7 +749,7 @@ function foo8(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -813,7 +813,7 @@ function foo0_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -876,7 +876,7 @@ function foo00_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : string > : ^^^^^^ } @@ -945,7 +945,7 @@ function foo1_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1016,7 +1016,7 @@ function foo2_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1084,7 +1084,7 @@ function foo3_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -1159,7 +1159,7 @@ function foo4_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1240,7 +1240,7 @@ function foo5_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1324,7 +1324,7 @@ function foo6_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1406,7 +1406,7 @@ function foo7_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1490,7 +1490,7 @@ function foo8_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } diff --git a/tests/baselines/reference/capturedLetConstInLoop5_ES6.types b/tests/baselines/reference/capturedLetConstInLoop5_ES6.types index 557b64f428ae2..bb3ab6bad1fa3 100644 --- a/tests/baselines/reference/capturedLetConstInLoop5_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop5_ES6.types @@ -66,7 +66,7 @@ function foo0(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -129,7 +129,7 @@ function foo00(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : string > : ^^^^^^ } @@ -202,7 +202,7 @@ function foo1(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -273,7 +273,7 @@ function foo2(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -339,7 +339,7 @@ function foo3(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -418,7 +418,7 @@ function foo4(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -503,7 +503,7 @@ function foo5(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -583,7 +583,7 @@ function foo6(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -661,7 +661,7 @@ function foo7(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -749,7 +749,7 @@ function foo8(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -813,7 +813,7 @@ function foo0_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -876,7 +876,7 @@ function foo00_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : string > : ^^^^^^ } @@ -945,7 +945,7 @@ function foo1_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1016,7 +1016,7 @@ function foo2_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1084,7 +1084,7 @@ function foo3_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : any > : ^^^ } @@ -1159,7 +1159,7 @@ function foo4_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1240,7 +1240,7 @@ function foo5_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1324,7 +1324,7 @@ function foo6_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1406,7 +1406,7 @@ function foo7_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } @@ -1490,7 +1490,7 @@ function foo8_c(x) { >use(v) : any > : ^^^ >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >v : number > : ^^^^^^ } diff --git a/tests/baselines/reference/capturedLetConstInLoop9.types b/tests/baselines/reference/capturedLetConstInLoop9.types index 7ec0385fa08a4..960deb5866f12 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9.types +++ b/tests/baselines/reference/capturedLetConstInLoop9.types @@ -289,28 +289,28 @@ function foo() { use(x); >use(x) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >x : number > : ^^^^^^ use(z); >use(z) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >z : number > : ^^^^^^ use(x1); >use(x1) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >x1 : number > : ^^^^^^ use(z1); >use(z1) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >z1 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types index d3cbe81dc1276..eab4c2d5bce69 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types @@ -288,28 +288,28 @@ function foo() { use(x); >use(x) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >x : number > : ^^^^^^ use(z); >use(z) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >z : number > : ^^^^^^ use(x1); >use(x1) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >x1 : number > : ^^^^^^ use(z1); >use(z1) : any >use : (a: any) => any -> : ^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >z1 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/catchClauseWithTypeAnnotation.types b/tests/baselines/reference/catchClauseWithTypeAnnotation.types index a9fc5db688aa6..e7f65ce4cd80d 100644 --- a/tests/baselines/reference/catchClauseWithTypeAnnotation.types +++ b/tests/baselines/reference/catchClauseWithTypeAnnotation.types @@ -72,11 +72,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >x : unknown > : ^^^^^^^ @@ -86,11 +86,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >x : unknown > : ^^^^^^^ @@ -126,11 +126,11 @@ function fn(x: boolean) { >console.log() : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ // @ts-ignore catch (e: number) { // e should not be a `number` @@ -141,11 +141,11 @@ function fn(x: boolean) { >console.log(e.toLowerCase()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >e.toLowerCase() : any > : ^^^ >e.toLowerCase : any @@ -205,11 +205,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >x : any > : ^^^ @@ -219,11 +219,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types index 807564e8238c3..7f6ade300d2bd 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types @@ -34,7 +34,7 @@ class Chain { >(new Chain(t)).then(tt => s) : Chain > : ^^^^^^^^ >(new Chain(t)).then : (cb: (x: T) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >(new Chain(t)) : Chain > : ^^^^^^^^ >new Chain(t) : Chain @@ -44,7 +44,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >tt => s : (tt: T) => S > : ^ ^^^^^^^^^ >tt : T @@ -88,15 +88,15 @@ class Chain { >(new Chain(t)).then(tt => t).then(tt => t).then(tt => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then(tt => t).then(tt => t).then : (cb: (x: T) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >(new Chain(t)).then(tt => t).then(tt => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then(tt => t).then : (cb: (x: T) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >(new Chain(t)).then(tt => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then : (cb: (x: T) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >(new Chain(t)) : Chain > : ^^^^^^^^ >new Chain(t) : Chain @@ -106,7 +106,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -114,7 +114,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -122,7 +122,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -226,7 +226,7 @@ class Chain2 { >(new Chain2(i)).then(ii => t).then(tt => s) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then : (cb: (x: T) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >(new Chain2(i)).then(ii => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then : (cb: (x: I) => S) => Chain2 @@ -248,7 +248,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >tt => s : (tt: T) => S > : ^ ^^^^^^^^^ >tt : T @@ -274,15 +274,15 @@ class Chain2 { >(new Chain2(i)).then(ii => t).then(tt => t).then(tt => t).then(tt => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t).then(tt => t).then : (cb: (x: T) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t).then(tt => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t).then : (cb: (x: T) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then : (cb: (x: T) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >(new Chain2(i)).then(ii => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then : (cb: (x: I) => S) => Chain2 @@ -304,7 +304,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -312,7 +312,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -320,7 +320,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T diff --git a/tests/baselines/reference/chainedPrototypeAssignment.types b/tests/baselines/reference/chainedPrototypeAssignment.types index bd6d037a3d90b..68edc5ea166cd 100644 --- a/tests/baselines/reference/chainedPrototypeAssignment.types +++ b/tests/baselines/reference/chainedPrototypeAssignment.types @@ -8,7 +8,7 @@ var mod = require('./mod'); >require('./mod') : typeof mod > : ^^^^^^^^^^ >require : (name: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >'./mod' : "./mod" > : ^^^^^^^ @@ -40,11 +40,11 @@ a.m('nope') >a.m('nope') : number > : ^^^^^^ >a.m : (n: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >a : A > : ^ >m : (n: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >'nope' : "nope" > : ^^^^^^ @@ -52,11 +52,11 @@ b.m('not really') >b.m('not really') : number > : ^^^^^^ >b.m : (n: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >b : B > : ^ >m : (n: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >'not really' : "not really" > : ^^^^^^^^^^^^ @@ -145,7 +145,7 @@ A.prototype = B.prototype = { >A : typeof A > : ^^^^^^^^ >prototype : { m(n: number): number; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^ >B.prototype = { /** @param {number} n */ m(n) { return n + 1 }} : { m(n: number): number; } > : ^^^^ ^^ ^^^^^^^^^^^^ >B.prototype : { m(n: number): number; } @@ -153,7 +153,7 @@ A.prototype = B.prototype = { >B : typeof B > : ^^^^^^^^ >prototype : { m(n: number): number; } -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^ >{ /** @param {number} n */ m(n) { return n + 1 }} : { m(n: number): number; } > : ^^^^ ^^ ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/checkExportsObjectAssignProperty.types b/tests/baselines/reference/checkExportsObjectAssignProperty.types index 886c299265e66..c925e2a35e5ab 100644 --- a/tests/baselines/reference/checkExportsObjectAssignProperty.types +++ b/tests/baselines/reference/checkExportsObjectAssignProperty.types @@ -292,11 +292,11 @@ Object.defineProperty(exports, "thing", { value: 42, writable: true }); >Object.defineProperty(exports, "thing", { value: 42, writable: true }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"thing" : "thing" @@ -316,11 +316,11 @@ Object.defineProperty(exports, "readonlyProp", { value: "Smith", writable: false >Object.defineProperty(exports, "readonlyProp", { value: "Smith", writable: false }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"readonlyProp" : "readonlyProp" @@ -340,11 +340,11 @@ Object.defineProperty(exports, "rwAccessors", { get() { return 98122 }, set(_) { >Object.defineProperty(exports, "rwAccessors", { get() { return 98122 }, set(_) { /*ignore*/ } }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"rwAccessors" : "rwAccessors" @@ -364,11 +364,11 @@ Object.defineProperty(exports, "readonlyAccessor", { get() { return 21.75 } }); >Object.defineProperty(exports, "readonlyAccessor", { get() { return 21.75 } }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"readonlyAccessor" : "readonlyAccessor" @@ -384,11 +384,11 @@ Object.defineProperty(exports, "setonlyAccessor", { >Object.defineProperty(exports, "setonlyAccessor", { /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }}) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"setonlyAccessor" : "setonlyAccessor" @@ -426,11 +426,11 @@ Object.defineProperty(module.exports, "thing", { value: "yes", writable: true }) >Object.defineProperty(module.exports, "thing", { value: "yes", writable: true }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -454,11 +454,11 @@ Object.defineProperty(module.exports, "readonlyProp", { value: "Smith", writable >Object.defineProperty(module.exports, "readonlyProp", { value: "Smith", writable: false }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -482,11 +482,11 @@ Object.defineProperty(module.exports, "rwAccessors", { get() { return 98122 }, s >Object.defineProperty(module.exports, "rwAccessors", { get() { return 98122 }, set(_) { /*ignore*/ } }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -510,11 +510,11 @@ Object.defineProperty(module.exports, "readonlyAccessor", { get() { return 21.75 >Object.defineProperty(module.exports, "readonlyAccessor", { get() { return 21.75 } }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -534,11 +534,11 @@ Object.defineProperty(module.exports, "setonlyAccessor", { >Object.defineProperty(module.exports, "setonlyAccessor", { /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }}) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } diff --git a/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types b/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types index cd83697704221..211994a25b7c6 100644 --- a/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types +++ b/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types @@ -212,11 +212,11 @@ Object.defineProperty(Person.prototype, "thing", { value: 42, writable: true }); >Object.defineProperty(Person.prototype, "thing", { value: 42, writable: true }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -240,11 +240,11 @@ Object.defineProperty(Person.prototype, "readonlyProp", { value: "Smith", writab >Object.defineProperty(Person.prototype, "readonlyProp", { value: "Smith", writable: false }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -268,11 +268,11 @@ Object.defineProperty(Person.prototype, "rwAccessors", { get() { return 98122 }, >Object.defineProperty(Person.prototype, "rwAccessors", { get() { return 98122 }, set(_) { /*ignore*/ } }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -296,11 +296,11 @@ Object.defineProperty(Person.prototype, "readonlyAccessor", { get() { return 21. >Object.defineProperty(Person.prototype, "readonlyAccessor", { get() { return 21.75 } }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -320,11 +320,11 @@ Object.defineProperty(Person.prototype, "setonlyAccessor", { >Object.defineProperty(Person.prototype, "setonlyAccessor", { /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }}) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person diff --git a/tests/baselines/reference/checkInfiniteExpansionTermination2.types b/tests/baselines/reference/checkInfiniteExpansionTermination2.types index 727101c924247..4f3d396b8fa21 100644 --- a/tests/baselines/reference/checkInfiniteExpansionTermination2.types +++ b/tests/baselines/reference/checkInfiniteExpansionTermination2.types @@ -19,7 +19,7 @@ declare function combineLatest(x: IObservable[]): void; declare function combineLatest(): void; >combineLatest : { (x: IObservable[]): void; (): void; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ function fn() { >fn : () => void @@ -36,7 +36,7 @@ function fn() { >combineLatest(values) : void > : ^^^^ >combineLatest : { (x: IObservable[]): void; (): void; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >values : ISubject[] > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types b/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types index a5fdb7c9e9e00..197746e70694d 100644 --- a/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types +++ b/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types @@ -39,7 +39,7 @@ numericIndex[n].toFixed(); >numericIndex[n].toFixed() : string > : ^^^^^^ >numericIndex[n].toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >numericIndex[n] : number > : ^^^^^^ >numericIndex : { [x: number]: number; } @@ -47,7 +47,7 @@ numericIndex[n].toFixed(); >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ const stringIndex = { [s]: 1 }; >stringIndex : { [x: string]: number; } @@ -65,7 +65,7 @@ stringIndex[s].toFixed(); >stringIndex[s].toFixed() : string > : ^^^^^^ >stringIndex[s].toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >stringIndex[s] : number > : ^^^^^^ >stringIndex : { [x: string]: number; } @@ -73,6 +73,6 @@ stringIndex[s].toFixed(); >s : string > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types index f1d8da7d92ee7..642d1723cc21c 100644 --- a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types +++ b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types @@ -30,12 +30,12 @@ export = Foo; module.exports = /** @type {FooFun} */(void 0); >module.exports = /** @type {FooFun} */(void 0) : (foo: Foo) => string > : ^ ^^ ^^^^^ ->module.exports : (foo: typeof import("file")) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->module : { exports: (foo: typeof import("file")) => string; } -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->exports : (foo: typeof import("file")) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>module.exports : (foo: Foo) => string +> : ^ ^^ ^^^^^^^^^^^ +>module : { exports: (foo: Foo) => string; } +> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +>exports : (foo: Foo) => string +> : ^ ^^ ^^^^^^^^^^^ >(void 0) : FooFun > : ^^^^^^ >void 0 : undefined diff --git a/tests/baselines/reference/checkJsdocParamTag1.types b/tests/baselines/reference/checkJsdocParamTag1.types index 6448670a9f66d..fb07b5441edee 100644 --- a/tests/baselines/reference/checkJsdocParamTag1.types +++ b/tests/baselines/reference/checkJsdocParamTag1.types @@ -17,22 +17,22 @@ function foo(n, s) {} foo(); >foo() : void > : ^^^^ ->foo : (n?: number, s?: string) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +>foo : (n?: number | undefined, s?: string) => void +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ foo(1); >foo(1) : void > : ^^^^ ->foo : (n?: number, s?: string) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +>foo : (n?: number | undefined, s?: string) => void +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ foo(1, "hi"); >foo(1, "hi") : void > : ^^^^ ->foo : (n?: number, s?: string) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +>foo : (n?: number | undefined, s?: string) => void +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >1 : 1 > : ^ >"hi" : "hi" diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag1.types b/tests/baselines/reference/checkJsdocSatisfiesTag1.types index 3714cd896aba7..352b60b8098c3 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag1.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag1.types @@ -72,7 +72,7 @@ const t4 = /** @satisfies {T2} */ ({ a: "a" }); /** @type {(m: string) => string} */ const t5 = /** @satisfies {T3} */((m) => m.substring(0)); >t5 : (m: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >((m) => m.substring(0)) : (m: string) => string > : >(m) => m.substring(0) : (m: string) => string @@ -82,11 +82,11 @@ const t5 = /** @satisfies {T3} */((m) => m.substring(0)); >m.substring(0) : string > : ^^^^^^ >m.substring : (start: number, end?: number) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >m : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag10.types b/tests/baselines/reference/checkJsdocSatisfiesTag10.types index 2a403681a57e1..e7b3eff74ebda 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag10.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag10.types @@ -38,7 +38,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -46,7 +46,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ let b = p.b.substring(1); >b : string @@ -54,7 +54,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -62,7 +62,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag3.types b/tests/baselines/reference/checkJsdocSatisfiesTag3.types index 14faf70036c4c..250757ab477bd 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag3.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag3.types @@ -4,7 +4,7 @@ /** @type {{ f(s: string): void } & Record }} */ let obj = /** @satisfies {{ g(s: string): void } & Record} */ ({ >obj : { f(s: string): void; } & Record -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ f(s) { }, // "incorrect" implicit any on 's' g(s) { }}) : { f(s: string): void; } & Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ f(s) { }, // "incorrect" implicit any on 's' g(s) { }} : { f(s: any): void; g(s: string): void; } diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag6.types b/tests/baselines/reference/checkJsdocSatisfiesTag6.types index 5a44acdaf74e3..cc4a44df75c6d 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag6.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag6.types @@ -25,15 +25,15 @@ console.log(a.x.toFixed()); >console.log(a.x.toFixed()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^ >a.x.toFixed() : string > : ^^^^^^ >a.x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >a.x : number > : ^^^^^^ >a : { x: number; } @@ -41,7 +41,7 @@ console.log(a.x.toFixed()); >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ // Should error let p = a.y; diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag7.types b/tests/baselines/reference/checkJsdocSatisfiesTag7.types index dbf4d5c8a1bae..1c55f2bd0210c 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag7.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag7.types @@ -38,7 +38,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -46,7 +46,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ let b = p.b.substring(1); >b : string @@ -54,7 +54,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -62,7 +62,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTag1.types b/tests/baselines/reference/checkJsdocTypeTag1.types index 1e268e6482855..6c6dbd88ab2a2 100644 --- a/tests/baselines/reference/checkJsdocTypeTag1.types +++ b/tests/baselines/reference/checkJsdocTypeTag1.types @@ -95,7 +95,7 @@ y(1); /** @type {function (number)} */ const x1 = (a) => a + 1; >x1 : (arg0: number) => any -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ >(a) => a + 1 : (a: number) => any > : ^ ^^^^^^^^^^^^^^^^ >a : number @@ -111,14 +111,14 @@ x1(0); >x1(0) : any > : ^^^ >x1 : (arg0: number) => any -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ >0 : 0 > : ^ /** @type {function (number): number} */ const x2 = (a) => a + 1; >x2 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >(a) => a + 1 : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -134,7 +134,7 @@ x2(0); >x2(0) : number > : ^^^^^^ >x2 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTag2.types b/tests/baselines/reference/checkJsdocTypeTag2.types index d197c29d03fe3..dc1db92de2345 100644 --- a/tests/baselines/reference/checkJsdocTypeTag2.types +++ b/tests/baselines/reference/checkJsdocTypeTag2.types @@ -19,7 +19,7 @@ var n = "hello"; /** @type {function (number)} */ const x1 = (a) => a + 1; >x1 : (arg0: number) => any -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ >(a) => a + 1 : (a: number) => any > : ^ ^^^^^^^^^^^^^^^^ >a : number @@ -35,14 +35,14 @@ x1("string"); >x1("string") : any > : ^^^ >x1 : (arg0: number) => any -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ >"string" : "string" > : ^^^^^^^^ /** @type {function (number): number} */ const x2 = (a) => a + 1; >x2 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >(a) => a + 1 : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -67,14 +67,14 @@ a = x2(0); >x2(0) : number > : ^^^^^^ >x2 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >0 : 0 > : ^ /** @type {function (number): number} */ const x3 = (a) => a.concat("hi"); >x3 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >(a) => a.concat("hi") : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -94,14 +94,14 @@ x3(0); >x3(0) : number > : ^^^^^^ >x3 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >0 : 0 > : ^ /** @type {function (number): string} */ const x4 = (a) => a + 1; >x4 : (arg0: number) => string -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >(a) => a + 1 : (a: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -117,7 +117,7 @@ x4(0); >x4(0) : string > : ^^^^^^ >x4 : (arg0: number) => string -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTag5.types b/tests/baselines/reference/checkJsdocTypeTag5.types index 196aeb6e124ea..b94681f7d2d4f 100644 --- a/tests/baselines/reference/checkJsdocTypeTag5.types +++ b/tests/baselines/reference/checkJsdocTypeTag5.types @@ -14,7 +14,7 @@ function h(x) { return x } /** @type {(x: number) => string} */ var f = x => x >f : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >x => x : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -25,7 +25,7 @@ var f = x => x /** @type {(x: number) => string} */ var g = function (x) { return x } >g : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function (x) { return x } : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -45,7 +45,7 @@ function i(x) { return x } /** @type {{ (x: number): string }} */ var j = x => x >j : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >x => x : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -56,7 +56,7 @@ var j = x => x /** @type {{ (x: number): string }} */ var k = function (x) { return x } >k : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function (x) { return x } : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -68,7 +68,7 @@ var k = function (x) { return x } /** @typedef {(x: 'hi' | 'bye') => 0 | 1 | 2} Argle */ /** @type {Argle} */ function blargle(s) { ->blargle : (x: 'hi' | 'bye') => 0 | 1 | 2 +>blargle : (x: "hi" | "bye") => 0 | 1 | 2 > : ^ ^^ ^^^^^ >s : "hi" | "bye" > : ^^^^^^^^^^^^ @@ -85,7 +85,7 @@ var zeroonetwo = blargle('hi') >blargle('hi') : 0 | 1 | 2 > : ^^^^^^^^^ >blargle : (x: "hi" | "bye") => 0 | 1 | 2 -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/checkJsdocTypeTag7.types b/tests/baselines/reference/checkJsdocTypeTag7.types index 8506991ecd447..e56d1eea0b1cf 100644 --- a/tests/baselines/reference/checkJsdocTypeTag7.types +++ b/tests/baselines/reference/checkJsdocTypeTag7.types @@ -12,7 +12,7 @@ class C { /** @type {Foo} */ foo(a, b) {} >foo : (a: string, b: number) => void -> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >b : number diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types index 8550a15e2c76b..bf7bbdd12c4f3 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types @@ -83,7 +83,7 @@ obj.foo = 'string' >obj.foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ >'string' : "string" @@ -93,7 +93,7 @@ obj.lol >obj.lol : string > : ^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >lol : string > : ^^^^^^ @@ -103,7 +103,7 @@ obj.bar = undefined; >obj.bar : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >bar : string | undefined > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -115,11 +115,11 @@ var k = obj.method1(0); >obj.method1(0) : number > : ^^^^^^ >obj.method1 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >method1 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >0 : 0 > : ^ @@ -127,11 +127,11 @@ obj.bar1 = "42"; >obj.bar1 = "42" : "42" > : ^^^^ >obj.bar1 : string | number | ((arg0: number) => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >bar1 : string | number | ((arg0: number) => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >"42" : "42" > : ^^^^ @@ -139,11 +139,11 @@ obj.arrowFunc(0); >obj.arrowFunc(0) : number > : ^^^^^^ >obj.arrowFunc : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >arrowFunc : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types index 2112c06ead807..59f7521db0db5 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types @@ -79,11 +79,11 @@ var s = obj.method1(0); >obj.method1(0) : number > : ^^^^^^ >obj.method1 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >obj : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >method1 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >0 : 0 > : ^ @@ -94,11 +94,11 @@ var s1 = obj.method2("0"); >obj.method2("0") : number > : ^^^^^^ >obj.method2 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >obj : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >method2 : (arg0: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ >"0" : "0" > : ^^^ diff --git a/tests/baselines/reference/checkJsdocTypedefInParamTag1.types b/tests/baselines/reference/checkJsdocTypedefInParamTag1.types index 23a28e1bbd9f7..146b73a8ecbe1 100644 --- a/tests/baselines/reference/checkJsdocTypedefInParamTag1.types +++ b/tests/baselines/reference/checkJsdocTypedefInParamTag1.types @@ -30,7 +30,7 @@ foo({x: 'abc'}); >foo({x: 'abc'}) : void > : ^^^^ >foo : (opts: Opts) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{x: 'abc'} : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -64,7 +64,7 @@ foo1({anotherX: "world"}); >foo1({anotherX: "world"}) : void > : ^^^^ >foo1 : (opts: AnotherOpts) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{anotherX: "world"} : { anotherX: string; } > : ^^^^^^^^^^^^^^^^^^^^^ >anotherX : string @@ -99,7 +99,7 @@ foo2({x: 'abc'}); >foo2({x: 'abc'}) : void > : ^^^^ >foo2 : (opts: Opts1) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >{x: 'abc'} : { x: string; } > : ^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/checkJsxChildrenProperty1.types b/tests/baselines/reference/checkJsxChildrenProperty1.types index ff71e3afe7b41..42eef8075c495 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty1.types +++ b/tests/baselines/reference/checkJsxChildrenProperty1.types @@ -49,7 +49,7 @@ let k = ; > : JSX.Element > : ^^^^^^^^^^^ >Comp : (p: Prop) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >10 : 10 @@ -67,7 +67,7 @@ let k1 = > hi hi hi! : JSX.Element > : ^^^^^^^^^^^ >Comp : (p: Prop) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >10 : 10 @@ -78,7 +78,7 @@ let k1 = hi hi hi! ; >Comp : (p: Prop) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ let k2 = >k2 : JSX.Element @@ -88,7 +88,7 @@ let k2 = >
hi hi hi!
: JSX.Element > : ^^^^^^^^^^^ >Comp : (p: Prop) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >10 : 10 @@ -106,5 +106,5 @@ let k2 =
; >Comp : (p: Prop) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/checkJsxChildrenProperty14.types b/tests/baselines/reference/checkJsxChildrenProperty14.types index 1b96fc732ab8d..462991d4777c3 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty14.types +++ b/tests/baselines/reference/checkJsxChildrenProperty14.types @@ -92,7 +92,7 @@ let k1 = <>