Use the canonical ImplementationName -> &str implementation (#14337)

Motivated by some code duplication highlighted in
https://github.com/astral-sh/uv/pull/14201, I noticed we weren't taking
advantage of the existing implementation for casting to a str here.
Unfortunately, we do need a special case for CPython still.
This commit is contained in:
Zanie Blue 2025-06-28 09:42:18 -05:00 committed by GitHub
parent db14cc3005
commit 692667cbb0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 5 deletions

View file

@ -362,11 +362,7 @@ impl ManagedPythonInstallation {
/// If windowed is true, `pythonw.exe` is selected over `python.exe` on windows, with no changes
/// on non-windows.
pub fn executable(&self, windowed: bool) -> PathBuf {
let implementation = match self.implementation() {
ImplementationName::CPython => "python",
ImplementationName::PyPy => "pypy",
ImplementationName::GraalPy => "graalpy",
};
let implementation = self.implementation().executable_name();
let version = match self.implementation() {
ImplementationName::CPython => {