diff options
Diffstat (limited to 'pre_commit')
-rw-r--r-- | pre_commit/languages/rust.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pre_commit/languages/rust.py b/pre_commit/languages/rust.py index e98e0d0..af5f483 100644 --- a/pre_commit/languages/rust.py +++ b/pre_commit/languages/rust.py @@ -142,10 +142,15 @@ def install_environment( else: packages_to_install.add((package,)) - with in_env(prefix, version): + with contextlib.ExitStack() as ctx: + ctx.enter_context(in_env(prefix, version)) + if version != 'system': install_rust_with_toolchain(_rust_toolchain(version)) + tmpdir = ctx.enter_context(tempfile.TemporaryDirectory()) + ctx.enter_context(envcontext((('RUSTUP_HOME', tmpdir),))) + if len(lib_deps) > 0: _add_dependencies(prefix, lib_deps) |