microsoft / microsoft/TypeScript

Missing error about inability to access conflicting private properties on generic types involving intersections

オープン
#62,294 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Bug Domain: Indexed Access Types Help Wanted
主要言語
Go
スター
111k
フォーク
14.3k
平均マージ
2日 4時間
マージ済み PR(30日)
132

説明

### 🔎 Search Terms

accessibility private intersection never reduced conflicting

### 🕗 Version & Regression Information

- This changed in PR: https://github.com/microsoft/TypeScript/pull/37762 - the error was present before this PR, there was a test for it: https://github.com/microsoft/TypeScript/pull/37762/files#diff-ca0ed2db9207146d34393eb3428bf91872b53a7d882b1e010312ec6f02b9d08aL24

### ⏯ Playground Link

https://www.typescriptlang.org/play/?ts=6.0.0-dev.20250817#code/MYGwhgzhAECC0G8BQ1oAcBOBLAbmALgKbRgBci0AZgPbXkB2ArgLYBGhG0AvgNxJdIkoSDABCiFOmx4iJcgmiswGchHzZ6Ac258BSfAE80xABoAeACrRCADyL0AJjFgA+aAF5oAbQteARGB+ALoANNAAFFYAPtCiAJT+gUFBPNAA9GnWGBjUGBCChsbQAJqW1naEjs7QMaJunr4BwakZWTkYBUbEAFpltvZOcNAAZLH10I1JLZn01G25APydRd0A+n0VVUOjdR4TicH+rId+wCcOzemZILQA1mEA7sTAYPTWOJXQmnPAGGAAXgYSI4SMBgIQoNAHIRCGhoIx6LdZg83phqMYMPgsBDlj0AIwbAbOcaTS6tDjtXHQboAJkJlUGuwaBxSV3mHX0XWpAGZ6VtYGELDTykSxntIiMJjSEk1Wa1ZuylpyVtz1lZ+gznILhRqtkyIlZRkKZUkjiczkF-Bc5dc7o9nq93p9vtBfgCga8HKDwZDobD4YjkaichisTigA

### 💻 Code

```ts
class A {
private a: { foo: number };
}

class B {
private a: { bar: string };
}

type X = [T["a"], (T | B)["a"]]; // errors

type Y = T["a"]; // error

type Z = T["a"]; // no error?

type Z_ = T["a"]["b"]["c"]["d"]; // look, we can even go crazy and access deep unknown properties

type Z1 = T["a"]; // error

type Z2 = T["a"]; // error

type Z3 = (T & T2)["a"]; // no error?

type Z3_ = (T & T2)["a"]["b"]["c"]["d"]; // look, we can even go crazy and access deep unknown properties
```

### 🙁 Actual behavior

`Z`, `Z_`, `Z3` and `Z3_` have no errors

### 🙂 Expected behavior

I would expect the above type aliases to all contain errors

### Additional information about the issue

somewhat related to https://github.com/microsoft/TypeScript/issues/62178

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

提供されている TypeScript Playground の再現から始め、交差、private プロパティ、深いインデックスアクセスに関係するエイリアスを、すでにエラーを報告しているケースと比較します。これらのジェネリック制約周辺の型チェックの挙動を追跡し、関連する issue と回帰 PR を確認します。Z、Z_、Z3、Z3_ が期待されるアクセシビリティエラーを生成すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
typescript
領域
compilers
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。