Skip to content

Commit 040a352

Browse files
committed
perf: clone
1 parent c0faba8 commit 040a352

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/cached_source.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ impl StreamChunks for CachedSource {
182182
dependent.cached_colomns_map.get_or_init(|| {
183183
unsafe { std::mem::transmute::<Option<SourceMap>, Option<SourceMap<'static>>>(map) }
184184
});
185-
generated_info
185+
generated_info
186186
})
187187
} else {
188188
self.0.with_dependent(|owner, dependent| {

src/source.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,14 @@ self_cell::self_cell!(
359359

360360
impl Clone for StaticSourceMap {
361361
fn clone(&self) -> Self {
362-
Self::from_borrowed_value_cell(self.borrow_owner().clone())
362+
Self::new(self.borrow_owner().clone(), |_| {
363+
let dependent = self.borrow_dependent();
364+
unsafe {
365+
std::mem::transmute::<BorrowedSourceMap, BorrowedSourceMap<'static>>(
366+
dependent.clone(),
367+
)
368+
}
369+
})
363370
}
364371
}
365372

0 commit comments

Comments
 (0)