File tree Expand file tree Collapse file tree 4 files changed +10
-8
lines changed
compiler/rustc_query_system/src Expand file tree Collapse file tree 4 files changed +10
-8
lines changed Original file line number Diff line number Diff line change @@ -5344,9 +5344,9 @@ dependencies = [
5344
5344
5345
5345
[[package ]]
5346
5346
name = " thin-vec"
5347
- version = " 0.2.12 "
5347
+ version = " 0.2.13 "
5348
5348
source = " registry+https://github.com/rust-lang/crates.io-index"
5349
- checksum = " aac81b6fd6beb5884b0cf3321b8117e6e5d47ecb6fc89f414cfdcca8b2fe2dd8 "
5349
+ checksum = " a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b "
5350
5350
5351
5351
[[package ]]
5352
5352
name = " thiserror"
Original file line number Diff line number Diff line change @@ -891,7 +891,7 @@ impl<D: Deps> DepGraphData<D> {
891
891
insertion for {dep_node:?}"
892
892
) ;
893
893
894
- if ! side_effects. is_empty ( ) {
894
+ if side_effects. maybe_any ( ) {
895
895
qcx. dep_context ( ) . dep_graph ( ) . with_query_deserialization ( || {
896
896
self . emit_side_effects ( qcx, dep_node_index, side_effects)
897
897
} ) ;
Original file line number Diff line number Diff line change @@ -93,10 +93,13 @@ pub struct QuerySideEffects {
93
93
}
94
94
95
95
impl QuerySideEffects {
96
+ /// Returns true if there might be side effects.
96
97
#[ inline]
97
- pub fn is_empty ( & self ) -> bool {
98
+ pub fn maybe_any ( & self ) -> bool {
98
99
let QuerySideEffects { diagnostics } = self ;
99
- diagnostics. is_empty ( )
100
+ // Use `has_capacity` so that the destructor for `self.diagnostics` can be skipped
101
+ // if `maybe_any` is known to be false.
102
+ diagnostics. has_capacity ( )
100
103
}
101
104
pub fn append ( & mut self , other : QuerySideEffects ) {
102
105
let QuerySideEffects { diagnostics } = self ;
Original file line number Diff line number Diff line change @@ -538,10 +538,9 @@ where
538
538
539
539
prof_timer. finish_with_query_invocation_id ( dep_node_index. into ( ) ) ;
540
540
541
- let diagnostics = diagnostics. into_inner ( ) ;
542
- let side_effects = QuerySideEffects { diagnostics } ;
541
+ let side_effects = QuerySideEffects { diagnostics : diagnostics. into_inner ( ) } ;
543
542
544
- if std:: intrinsics:: unlikely ( ! side_effects. is_empty ( ) ) {
543
+ if std:: intrinsics:: unlikely ( side_effects. maybe_any ( ) ) {
545
544
if query. anon ( ) {
546
545
qcx. store_side_effects_for_anon_node ( dep_node_index, side_effects) ;
547
546
} else {
You can’t perform that action at this time.
0 commit comments