rust/compiler/rustc_query_system/src/dep_graph
bors 2f92f050e8 Auto merge of #136471 - safinaskar:parallel, r=SparrowLii
tree-wide: parallel: Fully removed all `Lrc`, replaced with `Arc`

tree-wide: parallel: Fully removed all `Lrc`, replaced with `Arc`

This is continuation of https://github.com/rust-lang/rust/pull/132282 .

I'm pretty sure I did everything right. In particular, I searched all occurrences of `Lrc` in submodules and made sure that they don't need replacement.

There are other possibilities, through.

We can define `enum Lrc<T> { Rc(Rc<T>), Arc(Arc<T>) }`. Or we can make `Lrc` a union and on every clone we can read from special thread-local variable. Or we can add a generic parameter to `Lrc` and, yes, this parameter will be everywhere across all codebase.

So, if you think we should take some alternative approach, then don't merge this PR. But if it is decided to stick with `Arc`, then, please, merge.

cc "Parallel Rustc Front-end" ( https://github.com/rust-lang/rust/issues/113349 )

r? SparrowLii

`@rustbot` label WG-compiler-parallel
2025-02-06 10:50:05 +00:00
..
debug.rs Use more slice patterns inside the compiler 2024-08-07 13:37:52 +02:00
dep_node.rs Remove dep_node comment duplication. 2025-02-04 08:34:10 +11:00
edges.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
graph.rs tree-wide: parallel: Fully removed all Lrc, replaced with Arc 2025-02-03 13:25:57 +03:00
mod.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
query.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
README.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
serialized.rs Add warn(unreachable_pub) to rustc_query_system. 2024-08-29 20:18:44 +10:00

To learn more about how dependency tracking works in rustc, see the [rustc guide].