@zzzen/pyright-internal 1.2.0-dev.20220717 → 1.2.0-dev.20220807

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/analyzer/analysis.js +1 -1
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/checker.d.ts +1 -0
  4. package/dist/analyzer/checker.js +57 -10
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/codeFlowEngine.js +4 -5
  7. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  8. package/dist/analyzer/constraintSolver.js +9 -15
  9. package/dist/analyzer/constraintSolver.js.map +1 -1
  10. package/dist/analyzer/dataClasses.js +13 -4
  11. package/dist/analyzer/dataClasses.js.map +1 -1
  12. package/dist/analyzer/enums.d.ts +13 -0
  13. package/dist/analyzer/enums.js +207 -0
  14. package/dist/analyzer/enums.js.map +1 -0
  15. package/dist/analyzer/importResolver.js +2 -2
  16. package/dist/analyzer/importResolver.js.map +1 -1
  17. package/dist/analyzer/importStatementUtils.d.ts +8 -2
  18. package/dist/analyzer/importStatementUtils.js +75 -27
  19. package/dist/analyzer/importStatementUtils.js.map +1 -1
  20. package/dist/analyzer/parseTreeUtils.d.ts +2 -0
  21. package/dist/analyzer/parseTreeUtils.js +76 -2
  22. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  23. package/dist/analyzer/patternMatching.js +3 -3
  24. package/dist/analyzer/patternMatching.js.map +1 -1
  25. package/dist/analyzer/program.d.ts +2 -2
  26. package/dist/analyzer/program.js +10 -9
  27. package/dist/analyzer/program.js.map +1 -1
  28. package/dist/analyzer/properties.js +1 -1
  29. package/dist/analyzer/properties.js.map +1 -1
  30. package/dist/analyzer/service.d.ts +3 -2
  31. package/dist/analyzer/service.js +40 -39
  32. package/dist/analyzer/service.js.map +1 -1
  33. package/dist/analyzer/sourceFile.d.ts +3 -1
  34. package/dist/analyzer/sourceFile.js +6 -0
  35. package/dist/analyzer/sourceFile.js.map +1 -1
  36. package/dist/analyzer/typeEvaluator.js +631 -654
  37. package/dist/analyzer/typeEvaluator.js.map +1 -1
  38. package/dist/analyzer/typeEvaluatorTypes.d.ts +14 -12
  39. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  40. package/dist/analyzer/typeEvaluatorWithTracker.js +1 -0
  41. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  42. package/dist/analyzer/typeGuards.d.ts +2 -0
  43. package/dist/analyzer/typeGuards.js +42 -14
  44. package/dist/analyzer/typeGuards.js.map +1 -1
  45. package/dist/analyzer/typePrinter.js +8 -4
  46. package/dist/analyzer/typePrinter.js.map +1 -1
  47. package/dist/analyzer/typeUtils.d.ts +4 -4
  48. package/dist/analyzer/typeUtils.js +23 -38
  49. package/dist/analyzer/typeUtils.js.map +1 -1
  50. package/dist/analyzer/typedDicts.js +2 -2
  51. package/dist/analyzer/typedDicts.js.map +1 -1
  52. package/dist/analyzer/types.d.ts +7 -1
  53. package/dist/analyzer/types.js +70 -31
  54. package/dist/analyzer/types.js.map +1 -1
  55. package/dist/backgroundAnalysisBase.d.ts +2 -1
  56. package/dist/backgroundAnalysisBase.js +7 -0
  57. package/dist/backgroundAnalysisBase.js.map +1 -1
  58. package/dist/backgroundThreadBase.js +1 -0
  59. package/dist/backgroundThreadBase.js.map +1 -1
  60. package/dist/commands/commandResult.js +1 -1
  61. package/dist/commands/commandResult.js.map +1 -1
  62. package/dist/common/chokidarFileWatcherProvider.d.ts +1 -2
  63. package/dist/common/chokidarFileWatcherProvider.js +0 -3
  64. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  65. package/dist/common/configOptions.d.ts +1 -0
  66. package/dist/common/configOptions.js +4 -0
  67. package/dist/common/configOptions.js.map +1 -1
  68. package/dist/common/diagnosticRules.d.ts +1 -0
  69. package/dist/common/diagnosticRules.js +1 -0
  70. package/dist/common/diagnosticRules.js.map +1 -1
  71. package/dist/common/editAction.d.ts +6 -0
  72. package/dist/common/editAction.js +15 -0
  73. package/dist/common/editAction.js.map +1 -1
  74. package/dist/common/fileSystem.d.ts +4 -1
  75. package/dist/common/fileSystem.js +6 -4
  76. package/dist/common/fileSystem.js.map +1 -1
  77. package/dist/common/realFileSystem.d.ts +2 -2
  78. package/dist/common/realFileSystem.js.map +1 -1
  79. package/dist/common/textEditUtils.d.ts +22 -2
  80. package/dist/common/textEditUtils.js +138 -1
  81. package/dist/common/textEditUtils.js.map +1 -1
  82. package/dist/common/uriParser.d.ts +2 -0
  83. package/dist/common/uriParser.js +11 -0
  84. package/dist/common/uriParser.js.map +1 -1
  85. package/dist/common/workspaceEditUtils.d.ts +1 -0
  86. package/dist/common/workspaceEditUtils.js +10 -6
  87. package/dist/common/workspaceEditUtils.js.map +1 -1
  88. package/dist/languageServerBase.d.ts +15 -10
  89. package/dist/languageServerBase.js +47 -43
  90. package/dist/languageServerBase.js.map +1 -1
  91. package/dist/languageService/autoImporter.d.ts +23 -17
  92. package/dist/languageService/autoImporter.js +42 -30
  93. package/dist/languageService/autoImporter.js.map +1 -1
  94. package/dist/languageService/codeActionProvider.d.ts +2 -2
  95. package/dist/languageService/codeActionProvider.js +1 -1
  96. package/dist/languageService/codeActionProvider.js.map +1 -1
  97. package/dist/languageService/completionProvider.d.ts +2 -1
  98. package/dist/languageService/completionProvider.js +5 -2
  99. package/dist/languageService/completionProvider.js.map +1 -1
  100. package/dist/languageService/importAdder.d.ts +2 -1
  101. package/dist/languageService/importAdder.js +9 -3
  102. package/dist/languageService/importAdder.js.map +1 -1
  103. package/dist/languageService/quickActions.js +1 -1
  104. package/dist/languageService/quickActions.js.map +1 -1
  105. package/dist/languageService/renameModuleProvider.d.ts +1 -4
  106. package/dist/languageService/renameModuleProvider.js +12 -48
  107. package/dist/languageService/renameModuleProvider.js.map +1 -1
  108. package/dist/localization/localize.d.ts +8 -0
  109. package/dist/localization/localize.js +2 -0
  110. package/dist/localization/localize.js.map +1 -1
  111. package/dist/localization/package.nls.en-us.json +2 -0
  112. package/dist/parser/parser.d.ts +1 -0
  113. package/dist/parser/parser.js +9 -2
  114. package/dist/parser/parser.js.map +1 -1
  115. package/dist/pyrightFileSystem.d.ts +19 -1
  116. package/dist/pyrightFileSystem.js +18 -1
  117. package/dist/pyrightFileSystem.js.map +1 -1
  118. package/dist/server.js +4 -4
  119. package/dist/server.js.map +1 -1
  120. package/dist/tests/chainedSourceFiles.test.js +2 -0
  121. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  122. package/dist/tests/checker.test.js +9 -0
  123. package/dist/tests/checker.test.js.map +1 -1
  124. package/dist/tests/fourslash/completions.commitChars.fourslash.js +12 -0
  125. package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -1
  126. package/dist/tests/fourslash/hover.init.fourslash.js +2 -2
  127. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  128. package/dist/tests/harness/fourslash/fourSlashParser.js +5 -1
  129. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  130. package/dist/tests/harness/fourslash/testLanguageService.js +1 -1
  131. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  132. package/dist/tests/harness/fourslash/testState.js +8 -7
  133. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  134. package/dist/tests/importAdder.test.js +17 -2
  135. package/dist/tests/importAdder.test.js.map +1 -1
  136. package/dist/tests/renameModuleTestUtils.js +5 -87
  137. package/dist/tests/renameModuleTestUtils.js.map +1 -1
  138. package/dist/tests/testState.test.js +1 -1
  139. package/dist/tests/testState.test.js.map +1 -1
  140. package/dist/tests/testStateUtils.d.ts +8 -0
  141. package/dist/tests/testStateUtils.js +110 -0
  142. package/dist/tests/testStateUtils.js.map +1 -0
  143. package/dist/tests/testUtils.js +1 -1
  144. package/dist/tests/testUtils.js.map +1 -1
  145. package/dist/tests/typeEvaluator1.test.js +5 -5
  146. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  147. package/dist/tests/typeEvaluator2.test.js +4 -0
  148. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  149. package/dist/tests/typeEvaluator3.test.js +12 -0
  150. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  151. package/dist/tests/typeEvaluator4.test.js +12 -0
  152. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  153. package/dist/workspaceMap.d.ts +1 -0
  154. package/dist/workspaceMap.js +11 -1
  155. package/dist/workspaceMap.js.map +1 -1
  156. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"typedDicts.js","sourceRoot":"","sources":["../../../src/analyzer/typedDicts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typedDicts.js","sourceRoot":"","sources":["../../../src/analyzer/typedDicts.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,11 @@ export declare type LiteralValue = number | bigint | boolean | string | EnumLite
35
35
  export declare type TypeSourceId = number;
36
36
  export declare const maxTypeRecursionCount = 14;
37
37
  export declare type InheritanceChain = (ClassType | UnknownType)[];
38
+ export interface TypeSameOptions {
39
+ ignorePseudoGeneric?: boolean;
40
+ ignoreTypeFlags?: boolean;
41
+ treatAnySameAsUnknown?: boolean;
42
+ }
38
43
  interface TypeAliasInfo {
39
44
  name: string;
40
45
  fullName: string;
@@ -200,6 +205,7 @@ export declare namespace ClassType {
200
205
  function cloneForUnpacked(classType: ClassType, isUnpacked?: boolean): ClassType;
201
206
  function isLiteralValueSame(type1: ClassType, type2: ClassType): boolean;
202
207
  function isTypedDictNarrowedEntriesSame(type1: ClassType, type2: ClassType): boolean;
208
+ function isTypedDictNarrower(type1: ClassType, type2: ClassType): boolean;
203
209
  function isUnspecialized(classType: ClassType): boolean;
204
210
  function isSpecialBuiltIn(classType: ClassType, className?: string): boolean;
205
211
  function isBuiltIn(classType: ClassType, className?: string | string[]): boolean;
@@ -489,7 +495,7 @@ export declare function isParamSpec(type: Type): type is TypeVarType;
489
495
  export declare function isFunction(type: Type): type is FunctionType;
490
496
  export declare function isOverloadedFunction(type: Type): type is OverloadedFunctionType;
491
497
  export declare function getTypeAliasInfo(type: Type): TypeAliasInfo | undefined;
492
- export declare function isTypeSame(type1: Type, type2: Type, ignorePseudoGeneric?: boolean, ignoreTypeFlags?: boolean, recursionCount?: number): boolean;
498
+ export declare function isTypeSame(type1: Type, type2: Type, options?: TypeSameOptions, recursionCount?: number): boolean;
493
499
  export declare function removeUnknownFromUnion(type: Type): Type;
494
500
  export declare function removeIncompleteUnknownFromUnion(type: Type): Type;
495
501
  export declare function removeUnbound(type: Type): Type;
@@ -435,6 +435,9 @@ var ClassType;
435
435
  return type1.literalValue === type2.literalValue;
436
436
  }
437
437
  ClassType.isLiteralValueSame = isLiteralValueSame;
438
+ // Determines whether two typed dict classes are equivalent given
439
+ // that one or both have narrowed entries (i.e. entries that are
440
+ // guaranteed to be present).
438
441
  function isTypedDictNarrowedEntriesSame(type1, type2) {
439
442
  if (type1.typedDictNarrowedEntries) {
440
443
  if (!type2.typedDictNarrowedEntries) {
@@ -463,6 +466,29 @@ var ClassType;
463
466
  return true;
464
467
  }
465
468
  ClassType.isTypedDictNarrowedEntriesSame = isTypedDictNarrowedEntriesSame;
469
+ // Determines whether typed dict class type1 is a narrower form of type2,
470
+ // i.e. all of the "narrowed entries" found within type2 are also found
471
+ // within type1.
472
+ function isTypedDictNarrower(type1, type2) {
473
+ var _a;
474
+ const tdEntries2 = type2.typedDictNarrowedEntries;
475
+ if (!tdEntries2) {
476
+ return true;
477
+ }
478
+ const tdEntries1 = (_a = type1.typedDictNarrowedEntries) !== null && _a !== void 0 ? _a : new Map();
479
+ let key;
480
+ let entry2;
481
+ for ([key, entry2] of tdEntries2.entries()) {
482
+ if (entry2.isProvided) {
483
+ const entry1 = tdEntries1.get(key);
484
+ if (!(entry1 === null || entry1 === void 0 ? void 0 : entry1.isProvided)) {
485
+ return false;
486
+ }
487
+ }
488
+ }
489
+ return true;
490
+ }
491
+ ClassType.isTypedDictNarrower = isTypedDictNarrower;
466
492
  // Is the class generic but not specialized?
467
493
  function isUnspecialized(classType) {
468
494
  return classType.details.typeParameters.length > 0 && classType.typeArguments === undefined;
@@ -646,25 +672,19 @@ var ClassType;
646
672
  }
647
673
  // Make sure the base classes match.
648
674
  for (let i = 0; i < class1Details.baseClasses.length; i++) {
649
- if (!isTypeSame(class1Details.baseClasses[i], class2Details.baseClasses[i],
650
- /* ignorePseudoGeneric */ true,
651
- /* ignoreTypeFlags */ undefined, recursionCount)) {
675
+ if (!isTypeSame(class1Details.baseClasses[i], class2Details.baseClasses[i], { ignorePseudoGeneric: true }, recursionCount)) {
652
676
  return false;
653
677
  }
654
678
  }
655
679
  if (class1Details.declaredMetaclass || class2Details.declaredMetaclass) {
656
680
  if (!class1Details.declaredMetaclass ||
657
681
  !class2Details.declaredMetaclass ||
658
- !isTypeSame(class1Details.declaredMetaclass, class2Details.declaredMetaclass,
659
- /* ignorePseudoGeneric */ true,
660
- /* ignoreTypeFlags */ undefined, recursionCount)) {
682
+ !isTypeSame(class1Details.declaredMetaclass, class2Details.declaredMetaclass, { ignorePseudoGeneric: true }, recursionCount)) {
661
683
  return false;
662
684
  }
663
685
  }
664
686
  for (let i = 0; i < class1Details.typeParameters.length; i++) {
665
- if (!isTypeSame(class1Details.typeParameters[i], class2Details.typeParameters[i],
666
- /* ignorePseudoGeneric */ true,
667
- /* ignoreTypeFlags */ undefined, recursionCount)) {
687
+ if (!isTypeSame(class1Details.typeParameters[i], class2Details.typeParameters[i], { ignorePseudoGeneric: true }, recursionCount)) {
668
688
  return false;
669
689
  }
670
690
  }
@@ -693,6 +713,15 @@ var ClassType;
693
713
  }
694
714
  return true;
695
715
  }
716
+ // Handle the case where both source and dest are property objects. This
717
+ // special case is needed because we synthesize a new class for each
718
+ // property declaration.
719
+ if (ClassType.isBuiltIn(subclassType, 'property') && ClassType.isBuiltIn(parentClassType, 'property')) {
720
+ if (inheritanceChain) {
721
+ inheritanceChain.push(subclassType);
722
+ }
723
+ return true;
724
+ }
696
725
  for (const baseClass of subclassType.details.baseClasses) {
697
726
  if (isInstantiableClass(baseClass)) {
698
727
  if (isDerivedFrom(baseClass, parentClassType, inheritanceChain)) {
@@ -1357,9 +1386,7 @@ var UnionType;
1357
1386
  return unionType.literalIntMap.has(subtype.literalValue);
1358
1387
  }
1359
1388
  }
1360
- return (unionType.subtypes.find((t) => isTypeSame(t, subtype,
1361
- /* ignorePseudoGeneric */ undefined,
1362
- /* ignoreTypeFlags */ undefined, recursionCount)) !== undefined);
1389
+ return unionType.subtypes.find((t) => isTypeSame(t, subtype, {}, recursionCount)) !== undefined;
1363
1390
  }
1364
1391
  UnionType.containsType = containsType;
1365
1392
  function addTypeAliasSource(unionType, typeAliasSource) {
@@ -1638,15 +1665,23 @@ exports.getTypeAliasInfo = getTypeAliasInfo;
1638
1665
  // Determines whether two types are the same. If ignorePseudoGeneric is true,
1639
1666
  // type arguments for "pseudo-generic" classes (non-generic classes whose init
1640
1667
  // methods are not annotated and are therefore treated as generic) are ignored.
1641
- function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags = false, recursionCount = 0) {
1668
+ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
1642
1669
  var _a, _b;
1643
1670
  if (type1 === type2) {
1644
1671
  return true;
1645
1672
  }
1646
1673
  if (type1.category !== type2.category) {
1674
+ if (options.treatAnySameAsUnknown) {
1675
+ if (type1.category === 2 /* Any */ && type2.category === 1 /* Unknown */) {
1676
+ return true;
1677
+ }
1678
+ if (type1.category === 1 /* Unknown */ && type2.category === 2 /* Any */) {
1679
+ return true;
1680
+ }
1681
+ }
1647
1682
  return false;
1648
1683
  }
1649
- if (!ignoreTypeFlags && type1.flags !== type2.flags) {
1684
+ if (!options.ignoreTypeFlags && type1.flags !== type2.flags) {
1650
1685
  return false;
1651
1686
  }
1652
1687
  if (recursionCount > exports.maxTypeRecursionCount) {
@@ -1663,7 +1698,7 @@ function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags =
1663
1698
  if (!TypeCondition.isSame(type1.condition, type2.condition)) {
1664
1699
  return false;
1665
1700
  }
1666
- if (!ignorePseudoGeneric || !ClassType.isPseudoGenericClass(type1)) {
1701
+ if (!options.ignorePseudoGeneric || !ClassType.isPseudoGenericClass(type1)) {
1667
1702
  // Make sure the type args match.
1668
1703
  if (type1.tupleTypeArguments && classType2.tupleTypeArguments) {
1669
1704
  const type1TupleTypeArgs = type1.tupleTypeArguments || [];
@@ -1672,8 +1707,7 @@ function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags =
1672
1707
  return false;
1673
1708
  }
1674
1709
  for (let i = 0; i < type1TupleTypeArgs.length; i++) {
1675
- if (!isTypeSame(type1TupleTypeArgs[i].type, type2TupleTypeArgs[i].type, ignorePseudoGeneric,
1676
- /* ignoreTypeFlags */ false, recursionCount)) {
1710
+ if (!isTypeSame(type1TupleTypeArgs[i].type, type2TupleTypeArgs[i].type, { ...options, ignoreTypeFlags: false }, recursionCount)) {
1677
1711
  return false;
1678
1712
  }
1679
1713
  if (type1TupleTypeArgs[i].isUnbounded !== type2TupleTypeArgs[i].isUnbounded) {
@@ -1689,8 +1723,7 @@ function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags =
1689
1723
  // Assume that missing type args are "Any".
1690
1724
  const typeArg1 = i < type1TypeArgs.length ? type1TypeArgs[i] : AnyType.create();
1691
1725
  const typeArg2 = i < type2TypeArgs.length ? type2TypeArgs[i] : AnyType.create();
1692
- if (!isTypeSame(typeArg1, typeArg2, ignorePseudoGeneric,
1693
- /* ignoreTypeFlags */ false, recursionCount)) {
1726
+ if (!isTypeSame(typeArg1, typeArg2, { ...options, ignoreTypeFlags: false }, recursionCount)) {
1694
1727
  return false;
1695
1728
  }
1696
1729
  }
@@ -1733,8 +1766,7 @@ function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags =
1733
1766
  }
1734
1767
  const param1Type = FunctionType.getEffectiveParameterType(type1, i);
1735
1768
  const param2Type = FunctionType.getEffectiveParameterType(functionType2, i);
1736
- if (!isTypeSame(param1Type, param2Type, ignorePseudoGeneric,
1737
- /* ignoreTypeFlags */ false, recursionCount)) {
1769
+ if (!isTypeSame(param1Type, param2Type, { ...options, ignoreTypeFlags: false }, recursionCount)) {
1738
1770
  return false;
1739
1771
  }
1740
1772
  }
@@ -1756,8 +1788,7 @@ function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags =
1756
1788
  if (return1Type || return2Type) {
1757
1789
  if (!return1Type ||
1758
1790
  !return2Type ||
1759
- !isTypeSame(return1Type, return2Type, ignorePseudoGeneric,
1760
- /* ignoreTypeFlags */ false, recursionCount)) {
1791
+ !isTypeSame(return1Type, return2Type, { ...options, ignoreTypeFlags: false }, recursionCount)) {
1761
1792
  return false;
1762
1793
  }
1763
1794
  }
@@ -1772,7 +1803,7 @@ function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags =
1772
1803
  // We assume here that overloaded functions always appear
1773
1804
  // in the same order from one analysis pass to another.
1774
1805
  for (let i = 0; i < type1.overloads.length; i++) {
1775
- if (!isTypeSame(type1.overloads[i], functionType2.overloads[i], ignorePseudoGeneric, ignoreTypeFlags, recursionCount)) {
1806
+ if (!isTypeSame(type1.overloads[i], functionType2.overloads[i], options, recursionCount)) {
1776
1807
  return false;
1777
1808
  }
1778
1809
  }
@@ -1805,8 +1836,7 @@ function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags =
1805
1836
  // Assume that missing type args are "Any".
1806
1837
  const typeArg1 = i < type1TypeArgs.length ? type1TypeArgs[i] : AnyType.create();
1807
1838
  const typeArg2 = i < type2TypeArgs.length ? type2TypeArgs[i] : AnyType.create();
1808
- if (!isTypeSame(typeArg1, typeArg2, ignorePseudoGeneric,
1809
- /* ignoreTypeFlags */ false, recursionCount)) {
1839
+ if (!isTypeSame(typeArg1, typeArg2, { ...options, ignoreTypeFlags: false }, recursionCount)) {
1810
1840
  return false;
1811
1841
  }
1812
1842
  }
@@ -1826,8 +1856,7 @@ function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags =
1826
1856
  const boundType2 = type2TypeVar.details.boundType;
1827
1857
  if (boundType1) {
1828
1858
  if (!boundType2 ||
1829
- !isTypeSame(boundType1, boundType2, ignorePseudoGeneric,
1830
- /* ignoreTypeFlags */ false, recursionCount)) {
1859
+ !isTypeSame(boundType1, boundType2, { ...options, ignoreTypeFlags: false }, recursionCount)) {
1831
1860
  return false;
1832
1861
  }
1833
1862
  }
@@ -1842,8 +1871,7 @@ function isTypeSame(type1, type2, ignorePseudoGeneric = false, ignoreTypeFlags =
1842
1871
  return false;
1843
1872
  }
1844
1873
  for (let i = 0; i < constraints1.length; i++) {
1845
- if (!isTypeSame(constraints1[i], constraints2[i], ignorePseudoGeneric,
1846
- /* ignoreTypeFlags */ false, recursionCount)) {
1874
+ if (!isTypeSame(constraints1[i], constraints2[i], { ...options, ignoreTypeFlags: false }, recursionCount)) {
1847
1875
  return false;
1848
1876
  }
1849
1877
  }
@@ -2076,7 +2104,7 @@ function _addTypeIfUnique(unionType, typeToAdd) {
2076
2104
  // we can hit recursive cases (where a pseudo-generic class is
2077
2105
  // parameterized with its own class) ad infinitum.
2078
2106
  if (isPseudoGeneric) {
2079
- if (isTypeSame(type, typeToAdd, /* ignorePseudoGeneric */ true)) {
2107
+ if (isTypeSame(type, typeToAdd, { ignorePseudoGeneric: true })) {
2080
2108
  unionType.subtypes[i] = ClassType.cloneForSpecialization(typeToAdd, typeToAdd.details.typeParameters.map(() => UnknownType.create()),
2081
2109
  /* isTypeArgumentExplicit */ true);
2082
2110
  }
@@ -2100,6 +2128,17 @@ function _addTypeIfUnique(unionType, typeToAdd) {
2100
2128
  return;
2101
2129
  }
2102
2130
  }
2131
+ // If the typeToAdd is a TypedDict that is the same class as the
2132
+ // existing type, see if one of them is a proper subset of the other.
2133
+ if (ClassType.isTypedDictClass(type) && ClassType.isSameGenericClass(type, typeToAdd)) {
2134
+ if (ClassType.isTypedDictNarrower(typeToAdd, type)) {
2135
+ return;
2136
+ }
2137
+ else if (ClassType.isTypedDictNarrower(type, typeToAdd)) {
2138
+ unionType.subtypes[i] = typeToAdd;
2139
+ return;
2140
+ }
2141
+ }
2103
2142
  }
2104
2143
  // If the typeToAdd is an empty container and there's already
2105
2144
  // non-empty container of the same type, don't add the empty container.