Revert the revert of test changes that are not directly related to strict unions.
(cherry picked from commit 8a76bd91e040ad97e8ed680161f28370c84920f8)
IJ-MR-184619
GitOrigin-RevId: 4c293de3ecc3c8cb16869532fccc639e8c5a17ae
Because UnsafeUnion is not denotable, we used to generate Any in such cases.
(cherry picked from commit 2c43848c86ccbab416bd321aee2f999f61eda756)
IJ-MR-184619
GitOrigin-RevId: 1f086ddc0e83b26e371cc3a3b64407e1508d57e2
Namely, `generics_basic.py` in the conformance test suite and
Py3TypeCheckerInspectionTest.testTypeVarWidening.
Revert 07803c6243370d55df0d870e2e32b38170c1fb49
(cherry picked from commit 9c334ef32597be1d1e8fbc3251ac267be46555c8)
IJ-MR-184619
GitOrigin-RevId: 4b2440c973d9c7a7a42590665bd473c4e7a4c9cf
`UnsafeUnion[int | str]` is considered a subtype of `str`, so the cast is redundant.
(cherry picked from commit 550a9d55715564492169175c5e20cfbf1ade4b20)
IJ-MR-184619
GitOrigin-RevId: 854131d04308bd97b12ef06cc10a4aa89238c9ef
`testBreakInFinallyBlock` and `testReturnInFinallyBlock`
were testing vs. latest language level, so apart from
the compatibility warning (for which these tests are
intended) - a corresponding syntax error was captured
I made these tests to use a specific language level
so they only verify the correctness of the compatibility
inspection and introduced four tests in `PythonHighlightingTest`
to capture the syntax error
(cherry picked from commit 254570dc4d5022176590377eaf8ea6a08917937a)
IJ-MR-182362
GitOrigin-RevId: fb9c92923820b370672451c5753ee24bdd5a4570
To ease the migration to an explicit plugin dependency in the future
(cherry picked from commit e11b156081e50c072558b75285cdbe965e5db47f)
IJ-MR-184154
GitOrigin-RevId: 60ff0daa18b45bd246e13ec832bdca2180eb18f0
It correctly takes into account the first argument of `__new__` that is also implicit,
and thus should be excluded when reporting positional-only parameters following
non-positional-only ones.
(cherry picked from commit abf09c6be5e49c21c12264d22bf63a51018fdcd6)
IJ-MR-180323
GitOrigin-RevId: 85fb7ea284a237252e8634344b968981eda56dc3
Instead of old `addManuallyAddedInterpreter` we now have two functions: one that requires system python and one that doesn't.
Both functions register system python if provided, but the latter one accepts any python (venv included).
Various "selectors" use these functions.
We also make sure no non-system python is set to `baseInterpreters`: base are always system!
As a bonus, we show "system" or "virtual env" title near interpreter.
It now checks that python is system (see `ensureSystemPython`).
Non-system pythons are never reported, and `registerSystemPython` also returns an error for non-system pythons
We need `execGetBoolFromStdout` for the further changes
Merge-request: IJ-MR-182415
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>
(cherry picked from commit 2950f5f0cd2745c12987a92e40774d366568f312)
GitOrigin-RevId: f30e9a6cd7b5d103454d66f26a0c2282d7c587fc
Utility method to map `Result<S, E>`` into `Result<S, E2>`` is required for the next changes
(cherry picked from commit 811ddf171794ffdf20f77de6c735ac7ac19ce30a)
GitOrigin-RevId: b13ddca080644357a738ffc10795703d11b18d97
PyInterpreterInspection uses SDK configurators to find existing
environments and find the most suitable SDK. This operation takes time
(especially with conda on Windows), and on top it's performed on every
file change, making UI freeze all the time.
This change makes inspection asynchronous by caching the result and
triggerring inspection again to show changes on the UI.
Follow-up to IJ-MR-178613
GitOrigin-RevId: ed9e1aad89fb24ce70ba910ddd386a1adccd1baf
In order to prevent showing modal progress bar all the time, it's better
to start detection algorithm when we start choosing the interpreter. In
this scenario the progress bar will be show very rarely.
GitOrigin-RevId: 8b2e756e1d46a177ce7dd581520b201c5dd4e897
SVG image with classes doesn't work in Compose which is used as a frontend by Python SDK configuration
GitOrigin-RevId: d84e5418f64d60747fd80a3d8e5a5e88be681c3d