microsoft / microsoft/TypeScript

`NoInfer` changes behavior for type matching on spread

Abierto
#63,627 5 comentarios 0 reacciones 1 asignado Reclamado por @ahejlsberg Ver en GitHub
Needs Investigation
Lenguaje dominante
Go
Estrellas
111k
Forks
14.3k
Merge medio
2 d 4 h
PR fusionados (30 d)
132

Descripción

### 🔎 Search Terms

NoInfer spread

### 🕗 Version & Regression Information

- This is the behavior in every version I tried, and I reviewed the FAQ for entries about `NoInfer`

### ⏯ Playground Link

https://www.typescriptlang.org/play/?ts=6.0.3#code/GYVwdgxgLglg9mABAQwE6oIwApkC5EDaYIAtgEYCmqANIgHQMBycAkmMFQDwEC6AfDwCUiAN4BfAFBpMWAhiEBuCRNCRYCFOgBMOfEVKUa9BryGjJ0nXMXLV0eElXY8iLAA98xclVoM6cfGY2DlRufmEAXj5EADc4GAATYXEVcGw3RCjzQSVUtQdEVR0Xd08DH2N-PTMsuMTkySL3TOjxHIkgA

### 💻 Code

```ts
function arr1(a: [number, ...NoInfer<[]>]) {}
arr1([1]);

function arr2(a: [number, ...[]]) {}
arr2([1]);

function fun1(a: (x: number, ...o: NoInfer<[]>) => void) {}
fun1(x => {});

function fun2(a: (x: number, ...o: []) => void) {}
fun2(x => {});
```

### 🙁 Actual behavior

The two function calls to functions with `NoInfer` triggers type error, while the other two to equivalent function without `NoInfer` don't.

### 🙂 Expected behavior

This code should work without type error.

### Additional information about the issue

_No response_

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.