Repository: pytorch
Issue: [typing] `torch.Tensor` subclass types (eg `nn.Parameter`) broken by 2.2 release
Labels: module: typing,triaged,actionable,module: python frontend

### 🐛 Describe the bug

Type checking + completions were recently broken for subclasses of `torch.Tensor` in `pyright` / `pylance`:
```python
import torch
from torch.nn import Parameter

x = Parameter(torch.ones(5))
reveal_type(x)  # in PyTorch 2.1: `Parameter`. in PyTorch 2.2: `Tensor`
```

The culprit looks like #113536's introduction of this extra line to the `TensorBase` stub, which states that `__new__` of `torch.Tensor` (and thus also subclasses) always returns a `Tensor`:
https://github.com/pytorch/pytorch/blob/56718cab8d2df42b410bbf430ca092b0b12dc5c9/tools/pyi/gen_pyi.py#L1058

Seems like this can be fixed by either removing the `__new__` annotation or replacing the return type with `{typing/typing_extensions}.Self`.

related: #87371

### Versions

<details>
Collecting environment information...                                                                                                                                                                                                                                                    
PyTorch version: 2.2.0+cu118                                                                                                                                                                                                                                                             
Is debug build: False                                                                                                                                                                                                                                                                    
CUDA used to build PyTorch: 11.8                                                                                                                                                                                                                                                         
ROCM used to build PyTorch: N/A                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                         
OS: Ubuntu 22.04.2 LTS (x86_64)                                                                                                                                                                                                                                                          
GCC version: (Ubuntu 8.4.0-3ubuntu2) 8.4.0                                                                                                                                                                                                                                               
Clang version: Could not collect                                                                                                                                                                                                                                                         
CMake version: version 3.27.0                                                                                                                                                                                                                                                            
Libc version: glibc-2.35                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                         
Python version: 3.8.17 (default, Jul  5 2023, 21:04:15)  [GCC 11.2.0] (64-bit runtime)                                                                                                                                                                                                   
Python platform: Linux-6.5.0-15-generic-x86_64-with-glibc2.17                                                                                                                                                                                                                            
Is CUDA available: True                                                                                                                                                                                                                                                                  
CUDA runtime version: 11.8.89                                                                                                                                                                                                                                                            
CUDA_MODULE_LOADING set to: LAZY                                                                                                                                                                                                                                                         
GPU models and configuration:                                                                                                                                                                                                                                                            
GPU 0: NVIDIA GeForce RTX 4090                                                                                                                                                                                                                                                           
GPU 1: NVIDIA GeForce RTX 4090                                                                                                                                                                                                                                                           
GPU 2: NVIDIA GeForce RTX 4090                                                                                                                                                                                                                                                           
GPU 3: NVIDIA GeForce RTX 4090                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                         
Nvidia driver version: 525.147.05                                                                                                                                                                                                                                                        
cuDNN version: Could not collect                                                                                                                                                                                                                                                         
HIP runtime version: N/A                                                                                                                                                                                                                                                                 
MIOpen runtime version: N/A                                                                                                                                                                                                                                                              
Is XNNPACK available: True                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                         

CPU:
Architecture:                       x86_64
CPU op-mode(s):                     32-bit, 64-bit
Address sizes:                      48 bits physical, 48 bits virtual
Byte Order:                         Little Endian
CPU(s):                             32
On-line CPU(s) list:                0-31
Vendor ID:                          AuthenticAMD
Model name:                         AMD Ryzen Threadripper PRO 5955WX 16-Cores
CPU family:                         25
Model:                              8
Thread(s) per core:                 2
Core(s) per socket:                 16
Socket(s):                          1
Stepping:                           2
Frequency boost:                    enabled
CPU max MHz:                        7031.2500
CPU min MHz:                        1800.0000
BogoMIPS:                           7985.79
Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 invpcid_single hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd amd_ppin brs arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm
Virtualization:                     AMD-V
L1d cache:                          512 KiB (16 instances)
L1i cache:                          512 KiB (16 instances)
L2 cache:                           8 MiB (16 instances)
L3 cache:                           64 MiB (2 instances)
NUMA node(s):                       1
NUMA node0 CPU(s):                  0-31
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit:        Not affected
Vulnerability L1tf:                 Not affected
Vulnerability Mds:                  Not affected
Vulnerability Meltdown:             Not affected
Vulnerability Mmio stale data:      Not affected
Vulnerability Retbleed:             Not affected
Vulnerability Spec rstack overflow: Mitigation; safe RET, no microcode
Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:           Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:           Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP always-on, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:                Not affected
Vulnerability Tsx async abort:      Not affected

Versions of relevant libraries:
[pip3] msgpack-numpy==0.4.8
[pip3] mypy==1.8.0
[pip3] mypy-extensions==1.0.0
[pip3] numpy==1.24.4
[pip3] pytorch-msssim==1.0.0
[pip3] torch==2.2.0+cu118
[pip3] torch-fidelity==0.3.0
[pip3] torchaudio==2.2.0+cu118
[pip3] torchmetrics==1.0.1
[pip3] torchvision==0.17.0+cu118
[pip3] triton==2.2.0
[conda] msgpack-numpy             0.4.8                    pypi_0    pypi
[conda] numpy                     1.24.4                   pypi_0    pypi
[conda] pytorch-msssim            1.0.0                    pypi_0    pypi
[conda] torch                     2.2.0+cu118              pypi_0    pypi
[conda] torch-fidelity            0.3.0                    pypi_0    pypi
[conda] torchaudio                2.2.0+cu118              pypi_0    pypi
[conda] torchmetrics              1.0.1                    pypi_0    pypi
[conda] torchvision               0.17.0+cu118             pypi_0    pypi
[conda] triton                    2.2.0                    pypi_0    pypi
</details>

cc @ezyang @malfet @xuzhao9 @gramster @albanD