about summary refs log tree commit diff
path: root/src/librustdoc/clean/utils.rs
diff options
context:
space:
mode:
authorLukas Markeffsky <@>2024-09-25 22:15:23 +0200
committerLukas Markeffsky <@>2024-09-25 23:45:57 +0200
commitb1745c3919b57d841c15fe0bfb0dd926ab59bafa (patch)
treeabe345fac4dea0fb54ce49b4207884700681ea98 /src/librustdoc/clean/utils.rs
parent0399709cdc3c5cc22327e9f657dc7956546a0457 (diff)
downloadrust-b1745c3919b57d841c15fe0bfb0dd926ab59bafa.tar.gz
rust-b1745c3919b57d841c15fe0bfb0dd926ab59bafa.zip
de-rc external traits
Don't keep the `external_traits` as shared mutable data between the
`DocContext` and `clean::Crate`. Instead, move the data over when necessary.
This allows us to get rid of a borrowck hack in the `DocVisitor`.
Diffstat (limited to 'src/librustdoc/clean/utils.rs')
-rw-r--r--src/librustdoc/clean/utils.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/librustdoc/clean/utils.rs b/src/librustdoc/clean/utils.rs
index b91c1725d0c..fdf628b50fb 100644
--- a/src/librustdoc/clean/utils.rs
+++ b/src/librustdoc/clean/utils.rs
@@ -74,7 +74,7 @@ pub(crate) fn krate(cx: &mut DocContext<'_>) -> Crate {
         }));
     }
 
-    Crate { module, external_traits: cx.external_traits.clone() }
+    Crate { module, external_traits: Box::new(mem::take(&mut cx.external_traits)) }
 }
 
 pub(crate) fn clean_middle_generic_args<'tcx>(