Skip to content

Commit 133de6e

Browse files
authored
Rollup merge of #94252 - lcnr:def_kind-encoding, r=cjgillot
don't special case `DefKind::Ctor` in encoding considering that we still use `DefKind::Ctor` for these in `Res`, this seems weird and definitely felt like a bug when encountering it while working on #89862. r? `@cjgillot`
2 parents 7dcbe69 + ae45e8a commit 133de6e

9 files changed

+46
-51
lines changed

compiler/rustc_metadata/src/rmeta/encoder.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use rustc_data_structures::fx::{FxHashMap, FxIndexSet};
66
use rustc_data_structures::stable_hasher::StableHasher;
77
use rustc_data_structures::sync::{join, par_iter, Lrc, ParallelIterator};
88
use rustc_hir as hir;
9-
use rustc_hir::def::{CtorOf, DefKind};
9+
use rustc_hir::def::DefKind;
1010
use rustc_hir::def_id::{
1111
CrateNum, DefId, DefIndex, LocalDefId, CRATE_DEF_ID, CRATE_DEF_INDEX, LOCAL_CRATE,
1212
};
@@ -983,12 +983,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
983983
let def_id = local_id.to_def_id();
984984
let def_kind = tcx.opt_def_kind(local_id);
985985
let Some(def_kind) = def_kind else { continue };
986-
record!(self.tables.opt_def_kind[def_id] <- match def_kind {
987-
// Replace Ctor by the enclosing object to avoid leaking details in children crates.
988-
DefKind::Ctor(CtorOf::Struct, _) => DefKind::Struct,
989-
DefKind::Ctor(CtorOf::Variant, _) => DefKind::Variant,
990-
def_kind => def_kind,
991-
});
986+
record!(self.tables.opt_def_kind[def_id] <- def_kind);
992987
record!(self.tables.def_span[def_id] <- tcx.def_span(def_id));
993988
record!(self.tables.attributes[def_id] <- tcx.get_attrs(def_id));
994989
record!(self.tables.expn_that_defined[def_id] <- self.tcx.expn_that_defined(def_id));

src/test/ui/deprecation/deprecation-lint.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,21 @@ mod cross_crate {
3535
i: 0 //~ ERROR use of deprecated field `deprecation_lint::DeprecatedStruct::i`: text
3636
};
3737

38-
let _ = DeprecatedUnitStruct; //~ ERROR use of deprecated struct `deprecation_lint::DeprecatedUnitStruct`: text
38+
let _ = DeprecatedUnitStruct; //~ ERROR use of deprecated unit struct `deprecation_lint::DeprecatedUnitStruct`: text
3939

40-
let _ = Enum::DeprecatedVariant; //~ ERROR use of deprecated variant `deprecation_lint::Enum::DeprecatedVariant`: text
40+
let _ = Enum::DeprecatedVariant; //~ ERROR use of deprecated unit variant `deprecation_lint::Enum::DeprecatedVariant`: text
4141

42-
let _ = DeprecatedTupleStruct (1); //~ ERROR use of deprecated struct `deprecation_lint::DeprecatedTupleStruct`: text
42+
let _ = DeprecatedTupleStruct (1); //~ ERROR use of deprecated tuple struct `deprecation_lint::DeprecatedTupleStruct`: text
4343

4444
let _ = nested::DeprecatedStruct { //~ ERROR use of deprecated struct `deprecation_lint::nested::DeprecatedStruct`: text
4545
i: 0 //~ ERROR use of deprecated field `deprecation_lint::nested::DeprecatedStruct::i`: text
4646
};
4747

48-
let _ = nested::DeprecatedUnitStruct; //~ ERROR use of deprecated struct `deprecation_lint::nested::DeprecatedUnitStruct`: text
48+
let _ = nested::DeprecatedUnitStruct; //~ ERROR use of deprecated unit struct `deprecation_lint::nested::DeprecatedUnitStruct`: text
4949

50-
let _ = nested::Enum::DeprecatedVariant; //~ ERROR use of deprecated variant `deprecation_lint::nested::Enum::DeprecatedVariant`: text
50+
let _ = nested::Enum::DeprecatedVariant; //~ ERROR use of deprecated unit variant `deprecation_lint::nested::Enum::DeprecatedVariant`: text
5151

52-
let _ = nested::DeprecatedTupleStruct (1); //~ ERROR use of deprecated struct `deprecation_lint::nested::DeprecatedTupleStruct`: text
52+
let _ = nested::DeprecatedTupleStruct (1); //~ ERROR use of deprecated tuple struct `deprecation_lint::nested::DeprecatedTupleStruct`: text
5353

5454
// At the moment, the lint checker only checks stability in
5555
// in the arguments of macros.
@@ -130,7 +130,7 @@ mod cross_crate {
130130
{ .. } = x;
131131

132132
let x = Deprecated2(1, 2, 3);
133-
//~^ ERROR use of deprecated struct `deprecation_lint::Deprecated2`: text
133+
//~^ ERROR use of deprecated tuple struct `deprecation_lint::Deprecated2`: text
134134

135135
let _ = x.0;
136136
//~^ ERROR use of deprecated field `deprecation_lint::Deprecated2::0`: text
@@ -140,7 +140,7 @@ mod cross_crate {
140140
//~^ ERROR use of deprecated field `deprecation_lint::Deprecated2::2`: text
141141

142142
let Deprecated2
143-
//~^ ERROR use of deprecated struct `deprecation_lint::Deprecated2`: text
143+
//~^ ERROR use of deprecated tuple struct `deprecation_lint::Deprecated2`: text
144144
(_,
145145
//~^ ERROR use of deprecated field `deprecation_lint::Deprecated2::0`: text
146146
_,
@@ -149,7 +149,7 @@ mod cross_crate {
149149
//~^ ERROR use of deprecated field `deprecation_lint::Deprecated2::2`: text
150150
= x;
151151
let Deprecated2
152-
//~^ ERROR use of deprecated struct `deprecation_lint::Deprecated2`: text
152+
//~^ ERROR use of deprecated tuple struct `deprecation_lint::Deprecated2`: text
153153
// the patterns are all fine:
154154
(..) = x;
155155
}

src/test/ui/deprecation/deprecation-lint.stderr

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,19 @@ error: use of deprecated struct `deprecation_lint::DeprecatedStruct`: text
4646
LL | let _ = DeprecatedStruct {
4747
| ^^^^^^^^^^^^^^^^
4848

49-
error: use of deprecated struct `deprecation_lint::DeprecatedUnitStruct`: text
49+
error: use of deprecated unit struct `deprecation_lint::DeprecatedUnitStruct`: text
5050
--> $DIR/deprecation-lint.rs:38:17
5151
|
5252
LL | let _ = DeprecatedUnitStruct;
5353
| ^^^^^^^^^^^^^^^^^^^^
5454

55-
error: use of deprecated variant `deprecation_lint::Enum::DeprecatedVariant`: text
55+
error: use of deprecated unit variant `deprecation_lint::Enum::DeprecatedVariant`: text
5656
--> $DIR/deprecation-lint.rs:40:23
5757
|
5858
LL | let _ = Enum::DeprecatedVariant;
5959
| ^^^^^^^^^^^^^^^^^
6060

61-
error: use of deprecated struct `deprecation_lint::DeprecatedTupleStruct`: text
61+
error: use of deprecated tuple struct `deprecation_lint::DeprecatedTupleStruct`: text
6262
--> $DIR/deprecation-lint.rs:42:17
6363
|
6464
LL | let _ = DeprecatedTupleStruct (1);
@@ -70,19 +70,19 @@ error: use of deprecated struct `deprecation_lint::nested::DeprecatedStruct`: te
7070
LL | let _ = nested::DeprecatedStruct {
7171
| ^^^^^^^^^^^^^^^^
7272

73-
error: use of deprecated struct `deprecation_lint::nested::DeprecatedUnitStruct`: text
73+
error: use of deprecated unit struct `deprecation_lint::nested::DeprecatedUnitStruct`: text
7474
--> $DIR/deprecation-lint.rs:48:25
7575
|
7676
LL | let _ = nested::DeprecatedUnitStruct;
7777
| ^^^^^^^^^^^^^^^^^^^^
7878

79-
error: use of deprecated variant `deprecation_lint::nested::Enum::DeprecatedVariant`: text
79+
error: use of deprecated unit variant `deprecation_lint::nested::Enum::DeprecatedVariant`: text
8080
--> $DIR/deprecation-lint.rs:50:31
8181
|
8282
LL | ... let _ = nested::Enum::DeprecatedVariant;
8383
| ^^^^^^^^^^^^^^^^^
8484

85-
error: use of deprecated struct `deprecation_lint::nested::DeprecatedTupleStruct`: text
85+
error: use of deprecated tuple struct `deprecation_lint::nested::DeprecatedTupleStruct`: text
8686
--> $DIR/deprecation-lint.rs:52:25
8787
|
8888
LL | ... let _ = nested::DeprecatedTupleStruct (1);
@@ -154,19 +154,19 @@ error: use of deprecated struct `deprecation_lint::Deprecated`: text
154154
LL | let Deprecated
155155
| ^^^^^^^^^^
156156

157-
error: use of deprecated struct `deprecation_lint::Deprecated2`: text
157+
error: use of deprecated tuple struct `deprecation_lint::Deprecated2`: text
158158
--> $DIR/deprecation-lint.rs:132:17
159159
|
160160
LL | let x = Deprecated2(1, 2, 3);
161161
| ^^^^^^^^^^^
162162

163-
error: use of deprecated struct `deprecation_lint::Deprecated2`: text
163+
error: use of deprecated tuple struct `deprecation_lint::Deprecated2`: text
164164
--> $DIR/deprecation-lint.rs:142:13
165165
|
166166
LL | let Deprecated2
167167
| ^^^^^^^^^^^
168168

169-
error: use of deprecated struct `deprecation_lint::Deprecated2`: text
169+
error: use of deprecated tuple struct `deprecation_lint::Deprecated2`: text
170170
--> $DIR/deprecation-lint.rs:151:13
171171
|
172172
LL | let Deprecated2

src/test/ui/lint/lint-stability-deprecated.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,18 @@ mod cross_crate {
115115
let _ = UnstableStruct { i: 0 };
116116
let _ = StableStruct { i: 0 };
117117

118-
let _ = DeprecatedUnitStruct; //~ WARN use of deprecated struct `lint_stability::DeprecatedUnitStruct`
119-
let _ = DeprecatedUnstableUnitStruct; //~ WARN use of deprecated struct `lint_stability::DeprecatedUnstableUnitStruct`
118+
let _ = DeprecatedUnitStruct; //~ WARN use of deprecated unit struct `lint_stability::DeprecatedUnitStruct`
119+
let _ = DeprecatedUnstableUnitStruct; //~ WARN use of deprecated unit struct `lint_stability::DeprecatedUnstableUnitStruct`
120120
let _ = UnstableUnitStruct;
121121
let _ = StableUnitStruct;
122122

123-
let _ = Enum::DeprecatedVariant; //~ WARN use of deprecated variant `lint_stability::Enum::DeprecatedVariant`
124-
let _ = Enum::DeprecatedUnstableVariant; //~ WARN use of deprecated variant `lint_stability::Enum::DeprecatedUnstableVariant`
123+
let _ = Enum::DeprecatedVariant; //~ WARN use of deprecated unit variant `lint_stability::Enum::DeprecatedVariant`
124+
let _ = Enum::DeprecatedUnstableVariant; //~ WARN use of deprecated unit variant `lint_stability::Enum::DeprecatedUnstableVariant`
125125
let _ = Enum::UnstableVariant;
126126
let _ = Enum::StableVariant;
127127

128-
let _ = DeprecatedTupleStruct (1); //~ WARN use of deprecated struct `lint_stability::DeprecatedTupleStruct`
129-
let _ = DeprecatedUnstableTupleStruct (1); //~ WARN use of deprecated struct `lint_stability::DeprecatedUnstableTupleStruct`
128+
let _ = DeprecatedTupleStruct (1); //~ WARN use of deprecated tuple struct `lint_stability::DeprecatedTupleStruct`
129+
let _ = DeprecatedUnstableTupleStruct (1); //~ WARN use of deprecated tuple struct `lint_stability::DeprecatedUnstableTupleStruct`
130130
let _ = UnstableTupleStruct (1);
131131
let _ = StableTupleStruct (1);
132132

src/test/ui/lint/lint-stability-deprecated.stderr

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,37 +88,37 @@ warning: use of deprecated struct `lint_stability::DeprecatedUnstableStruct`: te
8888
LL | let _ = DeprecatedUnstableStruct {
8989
| ^^^^^^^^^^^^^^^^^^^^^^^^
9090

91-
warning: use of deprecated struct `lint_stability::DeprecatedUnitStruct`: text
91+
warning: use of deprecated unit struct `lint_stability::DeprecatedUnitStruct`: text
9292
--> $DIR/lint-stability-deprecated.rs:118:17
9393
|
9494
LL | let _ = DeprecatedUnitStruct;
9595
| ^^^^^^^^^^^^^^^^^^^^
9696

97-
warning: use of deprecated struct `lint_stability::DeprecatedUnstableUnitStruct`: text
97+
warning: use of deprecated unit struct `lint_stability::DeprecatedUnstableUnitStruct`: text
9898
--> $DIR/lint-stability-deprecated.rs:119:17
9999
|
100100
LL | let _ = DeprecatedUnstableUnitStruct;
101101
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
102102

103-
warning: use of deprecated variant `lint_stability::Enum::DeprecatedVariant`: text
103+
warning: use of deprecated unit variant `lint_stability::Enum::DeprecatedVariant`: text
104104
--> $DIR/lint-stability-deprecated.rs:123:23
105105
|
106106
LL | let _ = Enum::DeprecatedVariant;
107107
| ^^^^^^^^^^^^^^^^^
108108

109-
warning: use of deprecated variant `lint_stability::Enum::DeprecatedUnstableVariant`: text
109+
warning: use of deprecated unit variant `lint_stability::Enum::DeprecatedUnstableVariant`: text
110110
--> $DIR/lint-stability-deprecated.rs:124:23
111111
|
112112
LL | let _ = Enum::DeprecatedUnstableVariant;
113113
| ^^^^^^^^^^^^^^^^^^^^^^^^^
114114

115-
warning: use of deprecated struct `lint_stability::DeprecatedTupleStruct`: text
115+
warning: use of deprecated tuple struct `lint_stability::DeprecatedTupleStruct`: text
116116
--> $DIR/lint-stability-deprecated.rs:128:17
117117
|
118118
LL | let _ = DeprecatedTupleStruct (1);
119119
| ^^^^^^^^^^^^^^^^^^^^^
120120

121-
warning: use of deprecated struct `lint_stability::DeprecatedUnstableTupleStruct`: text
121+
warning: use of deprecated tuple struct `lint_stability::DeprecatedUnstableTupleStruct`: text
122122
--> $DIR/lint-stability-deprecated.rs:129:17
123123
|
124124
LL | let _ = DeprecatedUnstableTupleStruct (1);

src/test/ui/lint/lint-stability-fields-deprecated.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ mod cross_crate {
129129
{ .. } = x;
130130

131131
let x = Deprecated2(1, 2, 3);
132-
//~^ ERROR use of deprecated struct
132+
//~^ ERROR use of deprecated tuple struct
133133

134134
let _ = x.0;
135135
//~^ ERROR use of deprecated field
@@ -139,7 +139,7 @@ mod cross_crate {
139139
//~^ ERROR use of deprecated field
140140

141141
let Deprecated2
142-
//~^ ERROR use of deprecated struct
142+
//~^ ERROR use of deprecated tuple struct
143143
(_,
144144
//~^ ERROR use of deprecated field
145145
_,
@@ -148,7 +148,7 @@ mod cross_crate {
148148
//~^ ERROR use of deprecated field
149149
= x;
150150
let Deprecated2
151-
//~^ ERROR use of deprecated struct
151+
//~^ ERROR use of deprecated tuple struct
152152
// the patterns are all fine:
153153
(..) = x;
154154
}

src/test/ui/lint/lint-stability-fields-deprecated.stderr

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,19 @@ error: use of deprecated struct `cross_crate::lint_stability_fields::Deprecated`
2222
LL | let Deprecated
2323
| ^^^^^^^^^^
2424

25-
error: use of deprecated struct `cross_crate::lint_stability_fields::Deprecated2`: text
25+
error: use of deprecated tuple struct `cross_crate::lint_stability_fields::Deprecated2`: text
2626
--> $DIR/lint-stability-fields-deprecated.rs:131:17
2727
|
2828
LL | let x = Deprecated2(1, 2, 3);
2929
| ^^^^^^^^^^^
3030

31-
error: use of deprecated struct `cross_crate::lint_stability_fields::Deprecated2`: text
31+
error: use of deprecated tuple struct `cross_crate::lint_stability_fields::Deprecated2`: text
3232
--> $DIR/lint-stability-fields-deprecated.rs:141:13
3333
|
3434
LL | let Deprecated2
3535
| ^^^^^^^^^^^
3636

37-
error: use of deprecated struct `cross_crate::lint_stability_fields::Deprecated2`: text
37+
error: use of deprecated tuple struct `cross_crate::lint_stability_fields::Deprecated2`: text
3838
--> $DIR/lint-stability-fields-deprecated.rs:150:13
3939
|
4040
LL | let Deprecated2

src/test/ui/stability-attribute/generics-default-stability.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,25 +217,25 @@ fn main() {
217217

218218
let _ = ENUM4;
219219
let _: Enum4<isize> = Enum4::Some(1);
220-
//~^ use of deprecated variant `unstable_generic_param::Enum4::Some`: test [deprecated]
220+
//~^ use of deprecated tuple variant `unstable_generic_param::Enum4::Some`: test [deprecated]
221221
//~^^ use of deprecated enum `unstable_generic_param::Enum4`: test [deprecated]
222222
let _ = ENUM4;
223223
let _: Enum4 = ENUM4; //~ use of deprecated enum `unstable_generic_param::Enum4`: test [deprecated]
224224
let _: Enum4<usize> = ENUM4; //~ use of deprecated enum `unstable_generic_param::Enum4`: test [deprecated]
225225
let _: Enum4<isize> = Enum4::Some(0);
226-
//~^ use of deprecated variant `unstable_generic_param::Enum4::Some`: test [deprecated]
226+
//~^ use of deprecated tuple variant `unstable_generic_param::Enum4::Some`: test [deprecated]
227227
//~^^ use of deprecated enum `unstable_generic_param::Enum4`: test [deprecated]
228228

229229
let _ = ENUM5;
230230
let _: Enum5<isize> = Enum5::Some(1); //~ ERROR use of unstable library feature 'unstable_default'
231-
//~^ use of deprecated variant `unstable_generic_param::Enum5::Some`: test [deprecated]
231+
//~^ use of deprecated tuple variant `unstable_generic_param::Enum5::Some`: test [deprecated]
232232
//~^^ use of deprecated enum `unstable_generic_param::Enum5`: test [deprecated]
233233
let _ = ENUM5;
234234
let _: Enum5 = ENUM5; //~ use of deprecated enum `unstable_generic_param::Enum5`: test [deprecated]
235235
let _: Enum5<usize> = ENUM5; //~ ERROR use of unstable library feature 'unstable_default'
236236
//~^ use of deprecated enum `unstable_generic_param::Enum5`: test [deprecated]
237237
let _: Enum5<isize> = Enum5::Some(0); //~ ERROR use of unstable library feature 'unstable_default'
238-
//~^ use of deprecated variant `unstable_generic_param::Enum5::Some`: test [deprecated]
238+
//~^ use of deprecated tuple variant `unstable_generic_param::Enum5::Some`: test [deprecated]
239239
//~^^ use of deprecated enum `unstable_generic_param::Enum5`: test [deprecated]
240240

241241
let _: Enum6<isize> = Enum6::Some(1); // ok

src/test/ui/stability-attribute/generics-default-stability.stderr

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ warning: use of deprecated type alias `unstable_generic_param::Alias5`: test
144144
LL | let _: Alias5<isize> = Alias5::Some(0);
145145
| ^^^^^^
146146

147-
warning: use of deprecated variant `unstable_generic_param::Enum4::Some`: test
147+
warning: use of deprecated tuple variant `unstable_generic_param::Enum4::Some`: test
148148
--> $DIR/generics-default-stability.rs:219:34
149149
|
150150
LL | let _: Enum4<isize> = Enum4::Some(1);
@@ -168,7 +168,7 @@ warning: use of deprecated enum `unstable_generic_param::Enum4`: test
168168
LL | let _: Enum4<usize> = ENUM4;
169169
| ^^^^^
170170

171-
warning: use of deprecated variant `unstable_generic_param::Enum4::Some`: test
171+
warning: use of deprecated tuple variant `unstable_generic_param::Enum4::Some`: test
172172
--> $DIR/generics-default-stability.rs:225:34
173173
|
174174
LL | let _: Enum4<isize> = Enum4::Some(0);
@@ -180,7 +180,7 @@ warning: use of deprecated enum `unstable_generic_param::Enum4`: test
180180
LL | let _: Enum4<isize> = Enum4::Some(0);
181181
| ^^^^^
182182

183-
warning: use of deprecated variant `unstable_generic_param::Enum5::Some`: test
183+
warning: use of deprecated tuple variant `unstable_generic_param::Enum5::Some`: test
184184
--> $DIR/generics-default-stability.rs:230:34
185185
|
186186
LL | let _: Enum5<isize> = Enum5::Some(1);
@@ -204,7 +204,7 @@ warning: use of deprecated enum `unstable_generic_param::Enum5`: test
204204
LL | let _: Enum5<usize> = ENUM5;
205205
| ^^^^^
206206

207-
warning: use of deprecated variant `unstable_generic_param::Enum5::Some`: test
207+
warning: use of deprecated tuple variant `unstable_generic_param::Enum5::Some`: test
208208
--> $DIR/generics-default-stability.rs:237:34
209209
|
210210
LL | let _: Enum5<isize> = Enum5::Some(0);

0 commit comments

Comments
 (0)