@zzzen/pyright-internal 1.2.0-dev.20231015 → 1.2.0-dev.20231029

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 (166) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +3 -4
  2. package/dist/analyzer/backgroundAnalysisProgram.js +6 -3
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.js +1 -6
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/cacheManager.d.ts +3 -0
  7. package/dist/analyzer/cacheManager.js +11 -0
  8. package/dist/analyzer/cacheManager.js.map +1 -1
  9. package/dist/analyzer/checker.js +6 -13
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/codeFlowEngine.d.ts +0 -1
  12. package/dist/analyzer/codeFlowEngine.js +1 -1
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/constraintSolver.js +68 -28
  15. package/dist/analyzer/constraintSolver.js.map +1 -1
  16. package/dist/analyzer/constructors.js +3 -4
  17. package/dist/analyzer/constructors.js.map +1 -1
  18. package/dist/analyzer/importResolver.d.ts +5 -2
  19. package/dist/analyzer/importResolver.js +40 -5
  20. package/dist/analyzer/importResolver.js.map +1 -1
  21. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  22. package/dist/analyzer/parseTreeUtils.js +11 -2
  23. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  24. package/dist/analyzer/patternMatching.js +4 -0
  25. package/dist/analyzer/patternMatching.js.map +1 -1
  26. package/dist/analyzer/program.d.ts +2 -3
  27. package/dist/analyzer/program.js +14 -24
  28. package/dist/analyzer/program.js.map +1 -1
  29. package/dist/analyzer/properties.js +6 -2
  30. package/dist/analyzer/properties.js.map +1 -1
  31. package/dist/analyzer/protocols.js +52 -36
  32. package/dist/analyzer/protocols.js.map +1 -1
  33. package/dist/analyzer/service.d.ts +1 -2
  34. package/dist/analyzer/service.js +5 -2
  35. package/dist/analyzer/service.js.map +1 -1
  36. package/dist/analyzer/sourceFile.d.ts +0 -1
  37. package/dist/analyzer/sourceFile.js +10 -13
  38. package/dist/analyzer/sourceFile.js.map +1 -1
  39. package/dist/analyzer/sourceFileInfo.d.ts +0 -4
  40. package/dist/analyzer/sourceFileInfo.js +0 -9
  41. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  42. package/dist/analyzer/typeEvaluator.js +233 -185
  43. package/dist/analyzer/typeEvaluator.js.map +1 -1
  44. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -1
  45. package/dist/analyzer/typeEvaluatorTypes.js +3 -0
  46. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  47. package/dist/analyzer/typeGuards.js +28 -20
  48. package/dist/analyzer/typeGuards.js.map +1 -1
  49. package/dist/analyzer/typePrinter.js +4 -1
  50. package/dist/analyzer/typePrinter.js.map +1 -1
  51. package/dist/analyzer/typeUtils.d.ts +9 -1
  52. package/dist/analyzer/typeUtils.js +51 -46
  53. package/dist/analyzer/typeUtils.js.map +1 -1
  54. package/dist/analyzer/typedDicts.js +105 -33
  55. package/dist/analyzer/typedDicts.js.map +1 -1
  56. package/dist/analyzer/types.d.ts +4 -3
  57. package/dist/analyzer/types.js +31 -13
  58. package/dist/analyzer/types.js.map +1 -1
  59. package/dist/backgroundAnalysisBase.d.ts +3 -1
  60. package/dist/backgroundAnalysisBase.js +27 -0
  61. package/dist/backgroundAnalysisBase.js.map +1 -1
  62. package/dist/common/fullAccessHost.js +16 -1
  63. package/dist/common/fullAccessHost.js.map +1 -1
  64. package/dist/common/pathUtils.d.ts +4 -2
  65. package/dist/common/pathUtils.js +85 -28
  66. package/dist/common/pathUtils.js.map +1 -1
  67. package/dist/common/realFileSystem.js +15 -2
  68. package/dist/common/realFileSystem.js.map +1 -1
  69. package/dist/common/serviceProviderExtensions.d.ts +3 -3
  70. package/dist/common/serviceProviderExtensions.js +5 -7
  71. package/dist/common/serviceProviderExtensions.js.map +1 -1
  72. package/dist/common/uriParser.d.ts +10 -1
  73. package/dist/common/uriParser.js.map +1 -1
  74. package/dist/languageServerBase.d.ts +2 -6
  75. package/dist/languageServerBase.js +2 -19
  76. package/dist/languageServerBase.js.map +1 -1
  77. package/dist/languageService/documentSymbolCollector.d.ts +7 -0
  78. package/dist/languageService/documentSymbolCollector.js +28 -3
  79. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  80. package/dist/languageService/hoverProvider.d.ts +6 -2
  81. package/dist/languageService/hoverProvider.js +33 -65
  82. package/dist/languageService/hoverProvider.js.map +1 -1
  83. package/dist/languageService/referencesProvider.js +1 -0
  84. package/dist/languageService/referencesProvider.js.map +1 -1
  85. package/dist/languageService/tooltipUtils.js +1 -3
  86. package/dist/languageService/tooltipUtils.js.map +1 -1
  87. package/dist/localization/localize.d.ts +4 -3
  88. package/dist/localization/localize.js +3 -1
  89. package/dist/localization/localize.js.map +1 -1
  90. package/dist/localization/package.nls.cs.json +7 -1
  91. package/dist/localization/package.nls.de.json +7 -1
  92. package/dist/localization/package.nls.en-us.json +1 -1
  93. package/dist/localization/package.nls.es.json +7 -1
  94. package/dist/localization/package.nls.fr.json +7 -1
  95. package/dist/localization/package.nls.it.json +7 -1
  96. package/dist/localization/package.nls.ja.json +7 -1
  97. package/dist/localization/package.nls.ko.json +7 -1
  98. package/dist/localization/package.nls.pl.json +7 -1
  99. package/dist/localization/package.nls.pt-br.json +7 -1
  100. package/dist/localization/package.nls.qps-ploc.json +7 -1
  101. package/dist/localization/package.nls.ru.json +7 -1
  102. package/dist/localization/package.nls.tr.json +7 -1
  103. package/dist/localization/package.nls.zh-cn.json +7 -1
  104. package/dist/localization/package.nls.zh-tw.json +7 -1
  105. package/dist/pyrightFileSystem.d.ts +1 -15
  106. package/dist/pyrightFileSystem.js +1 -57
  107. package/dist/pyrightFileSystem.js.map +1 -1
  108. package/dist/server.js +3 -1
  109. package/dist/server.js.map +1 -1
  110. package/dist/tests/fourslash/completions.importInterimFile.fourslash.js +46 -0
  111. package/dist/tests/fourslash/completions.importInterimFile.fourslash.js.map +1 -0
  112. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js +4 -0
  113. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
  114. package/dist/tests/fourslash/findDefinitions.classes.fourslash.js +4 -0
  115. package/dist/tests/fourslash/findDefinitions.classes.fourslash.js.map +1 -1
  116. package/dist/tests/fourslash/findDefinitions.fields.fourslash.js +4 -0
  117. package/dist/tests/fourslash/findDefinitions.fields.fourslash.js.map +1 -1
  118. package/dist/tests/fourslash/findDefinitions.functions.fourslash.js +4 -0
  119. package/dist/tests/fourslash/findDefinitions.functions.fourslash.js.map +1 -1
  120. package/dist/tests/fourslash/findDefinitions.methods.fourslash.js +4 -0
  121. package/dist/tests/fourslash/findDefinitions.methods.fourslash.js.map +1 -1
  122. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js +4 -0
  123. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js.map +1 -1
  124. package/dist/tests/fourslash/findDefinitions.variables.fourslash.js +4 -0
  125. package/dist/tests/fourslash/findDefinitions.variables.fourslash.js.map +1 -1
  126. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js +4 -0
  127. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js.map +1 -1
  128. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js +4 -0
  129. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js.map +1 -1
  130. package/dist/tests/fourslash/fourslash.d.ts +4 -1
  131. package/dist/tests/fourslash/hover.class.docString.fourslash.js +4 -0
  132. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -1
  133. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js +4 -0
  134. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
  135. package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.d.ts +1 -0
  136. package/dist/tests/fourslash/{hover.docFromScr.stringFormat.fourslash.js → hover.docFromSrc.stringFormat.fourslash.js} +1 -1
  137. package/dist/tests/fourslash/{hover.docFromScr.stringFormat.fourslash.js.map → hover.docFromSrc.stringFormat.fourslash.js.map} +1 -1
  138. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.d.ts +1 -0
  139. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.js +24 -0
  140. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.js.map +1 -0
  141. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js +4 -0
  142. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
  143. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js +4 -0
  144. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js.map +1 -1
  145. package/dist/tests/harness/fourslash/testLanguageService.js +2 -2
  146. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  147. package/dist/tests/harness/fourslash/testState.d.ts +7 -5
  148. package/dist/tests/harness/fourslash/testState.js +25 -10
  149. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  150. package/dist/tests/harness/vfs/filesystem.js +4 -0
  151. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  152. package/dist/tests/harness/vfs/pathValidation.js +10 -1
  153. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  154. package/dist/tests/ipythonMode.test.js +0 -31
  155. package/dist/tests/ipythonMode.test.js.map +1 -1
  156. package/dist/tests/pathUtils.test.js +18 -0
  157. package/dist/tests/pathUtils.test.js.map +1 -1
  158. package/dist/tests/pyrightFileSystem.test.js +0 -20
  159. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  160. package/dist/tests/typeEvaluator2.test.js +11 -3
  161. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  162. package/dist/tests/typeEvaluator4.test.js +1 -1
  163. package/dist/tests/typeEvaluator5.test.js +8 -2
  164. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  165. package/package.json +1 -1
  166. /package/dist/tests/fourslash/{hover.docFromScr.stringFormat.fourslash.d.ts → completions.importInterimFile.fourslash.d.ts} +0 -0
@@ -45,7 +45,7 @@ const typeUtils_1 = require("./typeUtils");
45
45
  const typeVarContext_1 = require("./typeVarContext");
46
46
  // Creates a new custom TypedDict factory class.
47
47
  function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
48
- var _a, _b;
48
+ var _a;
49
49
  const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
50
50
  // TypedDict supports two different syntaxes:
51
51
  // Point2D = TypedDict('Point2D', {'x': int, 'y': int, 'label': str})
@@ -118,7 +118,7 @@ function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
118
118
  }
119
119
  if (usingDictSyntax) {
120
120
  for (const arg of argList.slice(2)) {
121
- if (((_a = arg.name) === null || _a === void 0 ? void 0 : _a.value) === 'total' || ((_b = arg.name) === null || _b === void 0 ? void 0 : _b.value) === 'readonly') {
121
+ if (((_a = arg.name) === null || _a === void 0 ? void 0 : _a.value) === 'total') {
122
122
  if (!arg.valueExpression ||
123
123
  arg.valueExpression.nodeType !== 11 /* Constant */ ||
124
124
  !(arg.valueExpression.constType === 15 /* False */ ||
@@ -128,9 +128,6 @@ function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
128
128
  else if (arg.name.value === 'total' && arg.valueExpression.constType === 15 /* False */) {
129
129
  classType.details.flags |= 256 /* CanOmitDictValues */;
130
130
  }
131
- else if (arg.name.value === 'readonly' && arg.valueExpression.constType === 33 /* True */) {
132
- classType.details.flags |= 512 /* DictValuesReadOnly */;
133
- }
134
131
  }
135
132
  else {
136
133
  evaluator.addError(localize_1.Localizer.Diagnostic.typedDictExtraArgs(), arg.valueExpression || errorNode);
@@ -210,7 +207,6 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
210
207
  const entries = getTypedDictMembersForClass(evaluator, classType);
211
208
  let allEntriesAreNotRequired = true;
212
209
  let allEntriesAreReadOnly = true;
213
- let allEntriesAreWritable = true;
214
210
  entries.forEach((entry, name) => {
215
211
  types_1.FunctionType.addParameter(initOverride1, {
216
212
  category: 0 /* Simple */,
@@ -229,10 +225,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
229
225
  if (entry.isRequired) {
230
226
  allEntriesAreNotRequired = false;
231
227
  }
232
- if (entry.isReadOnly) {
233
- allEntriesAreWritable = false;
234
- }
235
- else {
228
+ if (!entry.isReadOnly) {
236
229
  allEntriesAreReadOnly = false;
237
230
  }
238
231
  });
@@ -367,27 +360,84 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
367
360
  return delItemOverload;
368
361
  }
369
362
  function createUpdateMethod() {
370
- const updateMethod = types_1.FunctionType.createSynthesizedInstance('update');
371
- types_1.FunctionType.addParameter(updateMethod, selfParam);
372
- // If at least one entry is read-only, don't allow updates. We need to override
373
- // the update method provided by the _TypedDict base class, so we'll use
374
- // a Never parameter to generate an error if someone attempts to call it
375
- // in this case.
376
- types_1.FunctionType.addParameter(updateMethod, {
363
+ // Overload 1: update(__m: Partial[<writable fields>], /)
364
+ const updateMethod1 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* Overloaded */);
365
+ types_1.FunctionType.addParameter(updateMethod1, selfParam);
366
+ // Overload 2: update(__m: Iterable[tuple[<name>, <type>]], /)
367
+ const updateMethod2 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* Overloaded */);
368
+ types_1.FunctionType.addParameter(updateMethod2, selfParam);
369
+ // Overload 3: update(*, <name>: <type>, ...)
370
+ const updateMethod3 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* Overloaded */);
371
+ types_1.FunctionType.addParameter(updateMethod3, selfParam);
372
+ // If all entries are read-only, don't allow updates.
373
+ types_1.FunctionType.addParameter(updateMethod1, {
377
374
  category: 0 /* Simple */,
378
375
  name: '__m',
379
376
  hasDeclaredType: true,
380
- type: !allEntriesAreWritable
377
+ type: allEntriesAreReadOnly
381
378
  ? types_1.NeverType.createNever()
382
379
  : types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneForPartialTypedDict(classType)),
383
380
  });
384
- types_1.FunctionType.addParameter(updateMethod, {
381
+ types_1.FunctionType.addParameter(updateMethod1, {
385
382
  category: 0 /* Simple */,
386
383
  name: '',
387
384
  type: types_1.AnyType.create(),
388
385
  });
389
- updateMethod.details.declaredReturnType = types_1.NoneType.createInstance();
390
- return updateMethod;
386
+ types_1.FunctionType.addParameter(updateMethod3, {
387
+ category: 1 /* ArgsList */,
388
+ name: '',
389
+ hasDeclaredType: false,
390
+ type: types_1.UnknownType.create(),
391
+ });
392
+ updateMethod1.details.declaredReturnType = types_1.NoneType.createInstance();
393
+ updateMethod2.details.declaredReturnType = types_1.NoneType.createInstance();
394
+ updateMethod3.details.declaredReturnType = types_1.NoneType.createInstance();
395
+ const tuplesToCombine = [];
396
+ const tupleClass = evaluator.getBuiltInType(node, 'tuple');
397
+ entries.forEach((entry, name) => {
398
+ if (!entry.isReadOnly) {
399
+ // For writable entries, add a tuple entry.
400
+ if (tupleClass && (0, types_1.isInstantiableClass)(tupleClass) && strClass && (0, types_1.isInstantiableClass)(strClass)) {
401
+ const tupleType = (0, typeUtils_1.specializeTupleClass)(types_1.ClassType.cloneAsInstance(tupleClass), [
402
+ {
403
+ type: types_1.ClassType.cloneWithLiteral(types_1.ClassType.cloneAsInstance(strClass), name),
404
+ isUnbounded: false,
405
+ },
406
+ { type: entry.valueType, isUnbounded: false },
407
+ ]);
408
+ tuplesToCombine.push(tupleType);
409
+ }
410
+ // For writable entries, add a keyword argument.
411
+ types_1.FunctionType.addParameter(updateMethod3, {
412
+ category: 0 /* Simple */,
413
+ name,
414
+ hasDeclaredType: true,
415
+ hasDefault: true,
416
+ defaultType: types_1.AnyType.create(/* isEllipsis */ true),
417
+ type: entry.valueType,
418
+ });
419
+ }
420
+ });
421
+ const iterableClass = evaluator.getTypingType(node, 'Iterable');
422
+ if (iterableClass && (0, types_1.isInstantiableClass)(iterableClass)) {
423
+ const iterableType = types_1.ClassType.cloneAsInstance(iterableClass);
424
+ types_1.FunctionType.addParameter(updateMethod2, {
425
+ category: 0 /* Simple */,
426
+ name: '__m',
427
+ hasDeclaredType: true,
428
+ type: types_1.ClassType.cloneForSpecialization(iterableType, [(0, types_1.combineTypes)(tuplesToCombine)],
429
+ /* isTypeArgumentExplicit */ true),
430
+ });
431
+ }
432
+ types_1.FunctionType.addParameter(updateMethod2, {
433
+ category: 0 /* Simple */,
434
+ name: '',
435
+ type: types_1.AnyType.create(),
436
+ });
437
+ // Note that the order of method1 and method2 is swapped. This is done so
438
+ // the method1 signature is used in the error message when neither method2
439
+ // or method1 match.
440
+ return types_1.OverloadedFunctionType.create([updateMethod2, updateMethod1, updateMethod3]);
391
441
  }
392
442
  const getOverloads = [];
393
443
  const popOverloads = [];
@@ -475,6 +525,17 @@ function getTypedDictMembersForClass(evaluator, classType, allowNarrowed = false
475
525
  classType.details.typedDictEntries.forEach((value, key) => {
476
526
  const tdEntry = { ...value };
477
527
  tdEntry.valueType = (0, typeUtils_1.applySolvedTypeVars)(tdEntry.valueType, typeVarContext);
528
+ // If the class is "Partial", make all entries optional and convert all
529
+ // read-only entries to Never.
530
+ if (classType.isTypedDictPartial) {
531
+ tdEntry.isRequired = false;
532
+ if (tdEntry.isReadOnly) {
533
+ tdEntry.valueType = types_1.NeverType.createNever();
534
+ }
535
+ else {
536
+ tdEntry.isReadOnly = true;
537
+ }
538
+ }
478
539
  entries.set(key, tdEntry);
479
540
  });
480
541
  // Apply narrowed types on top of existing entries if present.
@@ -485,12 +546,6 @@ function getTypedDictMembersForClass(evaluator, classType, allowNarrowed = false
485
546
  entries.set(key, tdEntry);
486
547
  });
487
548
  }
488
- // If the class is "Partial", make all entries optional.
489
- if (classType.isTypedDictPartial) {
490
- entries.forEach((entry) => {
491
- entry.isRequired = false;
492
- });
493
- }
494
549
  return entries;
495
550
  }
496
551
  exports.getTypedDictMembersForClass = getTypedDictMembersForClass;
@@ -558,7 +613,7 @@ function getTypedDictMembersForClassRecursive(evaluator, classType, keyMap, recu
558
613
  let valueType = evaluator.getEffectiveTypeOfSymbol(symbol);
559
614
  valueType = (0, typeUtils_1.applySolvedTypeVars)(valueType, typeVarContext);
560
615
  let isRequired = !types_1.ClassType.isCanOmitDictValues(classType);
561
- let isReadOnly = types_1.ClassType.isDictValuesReadOnly(classType);
616
+ let isReadOnly = false;
562
617
  if (isRequiredTypedDictVariable(evaluator, symbol)) {
563
618
  isRequired = true;
564
619
  }
@@ -612,22 +667,34 @@ function getTypedDictMembersForClassRecursive(evaluator, classType, keyMap, recu
612
667
  }
613
668
  function assignTypedDictToTypedDict(evaluator, destType, srcType, diag, typeVarContext, flags, recursionCount = 0) {
614
669
  let typesAreConsistent = true;
615
- const isDestPartial = !!destType.isTypedDictPartial;
616
670
  const destEntries = getTypedDictMembersForClass(evaluator, destType);
617
671
  const srcEntries = getTypedDictMembersForClass(evaluator, srcType, /* allowNarrowed */ true);
618
672
  destEntries.forEach((destEntry, name) => {
619
673
  const srcEntry = srcEntries.get(name);
620
674
  if (!srcEntry) {
621
- if (!isDestPartial) {
675
+ if (destEntry.isRequired || !destEntry.isReadOnly) {
622
676
  diag === null || diag === void 0 ? void 0 : diag.createAddendum().addMessage(localize_1.Localizer.DiagnosticAddendum.typedDictFieldMissing().format({
623
677
  name,
624
678
  type: evaluator.printType(srcType),
625
679
  }));
626
680
  typesAreConsistent = false;
627
681
  }
682
+ else {
683
+ // Missing entries are implicitly typed as ReadOnly[NotRequired[object]],
684
+ // so we need to make sure the dest entry is compatible with that.
685
+ const objType = evaluator.getObjectType();
686
+ if (objType && (0, types_1.isClassInstance)(objType)) {
687
+ const subDiag = diag === null || diag === void 0 ? void 0 : diag.createAddendum();
688
+ if (!evaluator.assignType(destEntry.valueType, objType, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(), typeVarContext,
689
+ /* srcTypeVarContext */ undefined, flags, recursionCount)) {
690
+ subDiag === null || subDiag === void 0 ? void 0 : subDiag.addMessage(localize_1.Localizer.DiagnosticAddendum.memberTypeMismatch().format({ name }));
691
+ typesAreConsistent = false;
692
+ }
693
+ }
694
+ }
628
695
  }
629
696
  else {
630
- if (destEntry.isRequired !== srcEntry.isRequired && !destEntry.isReadOnly && !isDestPartial) {
697
+ if (destEntry.isRequired !== srcEntry.isRequired && !destEntry.isReadOnly) {
631
698
  const message = destEntry.isRequired
632
699
  ? localize_1.Localizer.DiagnosticAddendum.typedDictFieldRequired()
633
700
  : localize_1.Localizer.DiagnosticAddendum.typedDictFieldNotRequired();
@@ -637,7 +704,7 @@ function assignTypedDictToTypedDict(evaluator, destType, srcType, diag, typeVarC
637
704
  }));
638
705
  typesAreConsistent = false;
639
706
  }
640
- if (!destEntry.isReadOnly && srcEntry.isReadOnly && !isDestPartial) {
707
+ if (!destEntry.isReadOnly && srcEntry.isReadOnly) {
641
708
  diag === null || diag === void 0 ? void 0 : diag.createAddendum().addMessage(localize_1.Localizer.DiagnosticAddendum.typedDictFieldNotReadOnly().format({
642
709
  name,
643
710
  type: evaluator.printType(destType),
@@ -645,8 +712,13 @@ function assignTypedDictToTypedDict(evaluator, destType, srcType, diag, typeVarC
645
712
  typesAreConsistent = false;
646
713
  }
647
714
  const subDiag = diag === null || diag === void 0 ? void 0 : diag.createAddendum();
715
+ let adjustedFlags = flags;
716
+ // If the dest field is not read-only, we need to enforce invariance.
717
+ if (!destEntry.isReadOnly) {
718
+ adjustedFlags |= 1 /* EnforceInvariance */;
719
+ }
648
720
  if (!evaluator.assignType(destEntry.valueType, srcEntry.valueType, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(), typeVarContext,
649
- /* srcTypeVarContext */ undefined, flags, recursionCount)) {
721
+ /* srcTypeVarContext */ undefined, adjustedFlags, recursionCount)) {
650
722
  subDiag === null || subDiag === void 0 ? void 0 : subDiag.addMessage(localize_1.Localizer.DiagnosticAddendum.memberTypeMismatch().format({ name }));
651
723
  typesAreConsistent = false;
652
724
  }
@@ -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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"}
@@ -41,6 +41,7 @@ export declare type InheritanceChain = (ClassType | UnknownType)[];
41
41
  export interface TypeSameOptions {
42
42
  ignorePseudoGeneric?: boolean;
43
43
  ignoreTypeFlags?: boolean;
44
+ typeFlagsToHonor?: TypeFlags;
44
45
  ignoreTypedDictNarrowEntries?: boolean;
45
46
  treatAnySameAsUnknown?: boolean;
46
47
  }
@@ -141,7 +142,6 @@ export declare const enum ClassTypeFlags {
141
142
  SynthesizedDataClassOrder = 64,
142
143
  TypedDictClass = 128,
143
144
  CanOmitDictValues = 256,
144
- DictValuesReadOnly = 512,
145
145
  SupportsAbstractMethods = 1024,
146
146
  PropertyClass = 2048,
147
147
  Final = 4096,
@@ -229,6 +229,7 @@ export declare namespace ClassType {
229
229
  function cloneAsInstance(type: ClassType, includeSubclasses?: boolean): ClassType;
230
230
  function cloneAsInstantiable(type: ClassType, includeSubclasses?: boolean): ClassType;
231
231
  function cloneForSpecialization(classType: ClassType, typeArguments: Type[] | undefined, isTypeArgumentExplicit: boolean, includeSubclasses?: boolean, tupleTypeArguments?: TupleTypeArgument[], isEmptyContainer?: boolean): ClassType;
232
+ function cloneIncludeSubclasses(classType: ClassType): ClassType;
232
233
  function cloneWithLiteral(classType: ClassType, value: LiteralValue | undefined): ClassType;
233
234
  function cloneForTypingAlias(classType: ClassType, aliasName: string): ClassType;
234
235
  function cloneForNarrowedTypedDictEntries(classType: ClassType, narrowedEntries?: Map<string, TypedDictEntry>): ClassType;
@@ -258,7 +259,6 @@ export declare namespace ClassType {
258
259
  function isTypeCheckOnly(classType: ClassType): boolean;
259
260
  function isTypedDictClass(classType: ClassType): boolean;
260
261
  function isCanOmitDictValues(classType: ClassType): boolean;
261
- function isDictValuesReadOnly(classType: ClassType): boolean;
262
262
  function isEnumClass(classType: ClassType): boolean;
263
263
  function isPropertyClass(classType: ClassType): boolean;
264
264
  function isClassProperty(classType: ClassType): boolean;
@@ -476,6 +476,7 @@ export interface TypeVarDetails {
476
476
  constraints: Type[];
477
477
  boundType?: Type | undefined;
478
478
  defaultType?: Type | undefined;
479
+ runtimeClass?: ClassType | undefined;
479
480
  isParamSpec: boolean;
480
481
  isVariadic: boolean;
481
482
  declaredVariance: Variance;
@@ -510,7 +511,7 @@ export interface TypeVarType extends TypeBase {
510
511
  }
511
512
  export declare namespace TypeVarType {
512
513
  function createInstance(name: string): TypeVarType;
513
- function createInstantiable(name: string, isParamSpec?: boolean): TypeVarType;
514
+ function createInstantiable(name: string, isParamSpec?: boolean, runtimeClass?: ClassType): TypeVarType;
514
515
  function cloneAsInstance(type: TypeVarType): TypeVarType;
515
516
  function cloneAsInstantiable(type: TypeVarType): TypeVarType;
516
517
  function cloneForNewName(type: TypeVarType, name: string): TypeVarType;
@@ -295,9 +295,6 @@ var ClassTypeFlags;
295
295
  // Used in conjunction with TypedDictClass, indicates that
296
296
  // the dictionary values can be omitted.
297
297
  ClassTypeFlags[ClassTypeFlags["CanOmitDictValues"] = 256] = "CanOmitDictValues";
298
- // Used in conjunction with TypedDictClass, indicates that
299
- // the dictionary values are all readonly.
300
- ClassTypeFlags[ClassTypeFlags["DictValuesReadOnly"] = 512] = "DictValuesReadOnly";
301
298
  // The class derives from a class that has the ABCMeta
302
299
  // metaclass. Such classes are allowed to contain
303
300
  // @abstractmethod decorators.
@@ -422,6 +419,15 @@ var ClassType;
422
419
  return newClassType;
423
420
  }
424
421
  ClassType.cloneForSpecialization = cloneForSpecialization;
422
+ function cloneIncludeSubclasses(classType) {
423
+ if (classType.includeSubclasses) {
424
+ return classType;
425
+ }
426
+ const newClassType = TypeBase.cloneType(classType);
427
+ newClassType.includeSubclasses = true;
428
+ return newClassType;
429
+ }
430
+ ClassType.cloneIncludeSubclasses = cloneIncludeSubclasses;
425
431
  function cloneWithLiteral(classType, value) {
426
432
  const newClassType = TypeBase.cloneType(classType);
427
433
  newClassType.literalValue = value;
@@ -641,10 +647,6 @@ var ClassType;
641
647
  return !!(classType.details.flags & 256 /* CanOmitDictValues */);
642
648
  }
643
649
  ClassType.isCanOmitDictValues = isCanOmitDictValues;
644
- function isDictValuesReadOnly(classType) {
645
- return !!(classType.details.flags & 512 /* DictValuesReadOnly */);
646
- }
647
- ClassType.isDictValuesReadOnly = isDictValuesReadOnly;
648
650
  function isEnumClass(classType) {
649
651
  return !!(classType.details.flags & 1048576 /* EnumClass */);
650
652
  }
@@ -723,6 +725,9 @@ var ClassType;
723
725
  return true;
724
726
  }
725
727
  recursionCount++;
728
+ if (!classType.isTypedDictPartial !== !type2.isTypedDictPartial) {
729
+ return false;
730
+ }
726
731
  // If the class details match, it's definitely the same class.
727
732
  if (classType.details === type2.details) {
728
733
  return true;
@@ -1621,8 +1626,8 @@ var TypeVarType;
1621
1626
  return create(name, /* isParamSpec */ false, 2 /* Instance */);
1622
1627
  }
1623
1628
  TypeVarType.createInstance = createInstance;
1624
- function createInstantiable(name, isParamSpec = false) {
1625
- return create(name, isParamSpec, 1 /* Instantiable */);
1629
+ function createInstantiable(name, isParamSpec = false, runtimeClass) {
1630
+ return create(name, isParamSpec, 1 /* Instantiable */, runtimeClass);
1626
1631
  }
1627
1632
  TypeVarType.createInstantiable = createInstantiable;
1628
1633
  function cloneAsInstance(type) {
@@ -1741,7 +1746,7 @@ var TypeVarType;
1741
1746
  return `${name}.${scopeId}`;
1742
1747
  }
1743
1748
  TypeVarType.makeNameWithScope = makeNameWithScope;
1744
- function create(name, isParamSpec, typeFlags) {
1749
+ function create(name, isParamSpec, typeFlags, runtimeClass) {
1745
1750
  const newTypeVarType = {
1746
1751
  category: 10 /* TypeVar */,
1747
1752
  details: {
@@ -1751,6 +1756,7 @@ var TypeVarType;
1751
1756
  isParamSpec,
1752
1757
  isVariadic: false,
1753
1758
  isSynthesized: false,
1759
+ runtimeClass,
1754
1760
  },
1755
1761
  flags: typeFlags,
1756
1762
  };
@@ -1927,9 +1933,18 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
1927
1933
  return false;
1928
1934
  }
1929
1935
  if (!options.ignoreTypeFlags) {
1930
- // The Annotated flag should never be considered for type compatibility.
1931
- const type1Flags = type1.flags & ~4 /* Annotated */;
1932
- const type2Flags = type2.flags & ~4 /* Annotated */;
1936
+ let type1Flags = type1.flags;
1937
+ let type2Flags = type2.flags;
1938
+ // Mask out the flags that we don't care about.
1939
+ if (options.typeFlagsToHonor !== undefined) {
1940
+ type1Flags &= options.typeFlagsToHonor;
1941
+ type2Flags &= options.typeFlagsToHonor;
1942
+ }
1943
+ else {
1944
+ // By default, we don't care about the Annotated flag.
1945
+ type1Flags &= ~4 /* Annotated */;
1946
+ type2Flags &= ~4 /* Annotated */;
1947
+ }
1933
1948
  if (type1Flags !== type2Flags) {
1934
1949
  return false;
1935
1950
  }
@@ -1982,6 +1997,9 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
1982
1997
  if (!ClassType.isLiteralValueSame(type1, classType2)) {
1983
1998
  return false;
1984
1999
  }
2000
+ if (!type1.isTypedDictPartial !== !classType2.isTypedDictPartial) {
2001
+ return false;
2002
+ }
1985
2003
  if (!options.ignoreTypedDictNarrowEntries && !ClassType.isTypedDictNarrowedEntriesSame(type1, classType2)) {
1986
2004
  return false;
1987
2005
  }