Skip to content

Commit be7f4b3

Browse files
committed
semverver: update for rustc and Cargo changes.
1 parent 0527be9 commit be7f4b3

File tree

4 files changed

+27
-28
lines changed

4 files changed

+27
-28
lines changed

src/tools/semverver/src/bin/cargo_semver.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ impl<'a> WorkInfo<'a> {
481481
let target = cargo::core::compiler::CompileTarget::new(&target);
482482
if let Ok(target) = target {
483483
let kind = cargo::core::compiler::CompileKind::Target(target);
484-
opts.build_config.requested_kind = kind;
484+
opts.build_config.requested_kinds = vec![kind];
485485
}
486486
}
487487

@@ -526,7 +526,8 @@ impl<'a> WorkInfo<'a> {
526526
for i in &build_plan.invocations {
527527
if let Some(kind) = i.target_kind.get(0) {
528528
if kind.contains("lib") && i.package_name == name {
529-
return Ok((i.outputs[0].clone(), compilation.deps_output));
529+
// FIXME(eddyb) handle multiple targets.
530+
return Ok((i.outputs[0].clone(), compilation.deps_output.into_iter().next().unwrap().1));
530531
}
531532
}
532533
}

src/tools/semverver/src/mapping.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ impl Hash for InherentEntry {
5050
match self.kind {
5151
AssocKind::Const => 0_u8.hash(hasher),
5252
AssocKind::Fn => 1_u8.hash(hasher),
53-
AssocKind::OpaqueTy => 2_u8.hash(hasher),
54-
AssocKind::Type => 3_u8.hash(hasher),
53+
AssocKind::Type => 2_u8.hash(hasher),
5554
}
5655

5756
self.name.hash(hasher);
@@ -366,8 +365,7 @@ impl NameMapping {
366365
TraitAlias | // TODO: will need some handling later on
367366
AssocTy |
368367
TyParam |
369-
OpaqueTy |
370-
AssocOpaqueTy => Some(&mut self.type_map),
368+
OpaqueTy => Some(&mut self.type_map),
371369
Fn |
372370
Const |
373371
ConstParam |

src/tools/semverver/src/mismatch.rs

+18-18
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ impl<'a, 'tcx> MismatchRelation<'a, 'tcx> {
7979
let old_ty = self.tcx.type_of(old_def_id);
8080
let new_ty = self.tcx.type_of(new_def_id);
8181
debug!("relating item pair");
82-
let _ = self.relate(&old_ty, &new_ty);
82+
let _ = self.relate(old_ty, new_ty);
8383
}
8484
}
8585

@@ -118,13 +118,13 @@ impl<'a, 'tcx> TypeRelation<'tcx> for MismatchRelation<'a, 'tcx> {
118118
fn relate_with_variance<T: Relate<'tcx>>(
119119
&mut self,
120120
_: ty::Variance,
121-
a: &T,
122-
b: &T,
121+
a: T,
122+
b: T,
123123
) -> RelateResult<'tcx, T> {
124124
self.relate(a, b)
125125
}
126126

127-
fn relate<T: Relate<'tcx>>(&mut self, a: &T, b: &T) -> RelateResult<'tcx, T> {
127+
fn relate<T: Relate<'tcx>>(&mut self, a: T, b: T) -> RelateResult<'tcx, T> {
128128
debug!("relate: mismatch relation: a: {:?}, b: {:?}", a, b);
129129
Relate::relate(self, a, b)
130130
}
@@ -135,7 +135,7 @@ impl<'a, 'tcx> TypeRelation<'tcx> for MismatchRelation<'a, 'tcx> {
135135
use rustc_middle::ty::TyKind;
136136

137137
if self.current_old_types.contains(a) || self.current_new_types.contains(b) {
138-
return Ok(self.tcx.types.err);
138+
return Ok(self.tcx.ty_error());
139139
}
140140

141141
self.current_old_types.insert(a);
@@ -161,7 +161,7 @@ impl<'a, 'tcx> TypeRelation<'tcx> for MismatchRelation<'a, 'tcx> {
161161
{
162162
let b_field_ty = b_field.ty(self.tcx, b_substs);
163163

164-
let _ = self.relate(&a_field_ty, &b_field_ty)?;
164+
let _ = self.relate(a_field_ty, b_field_ty)?;
165165
}
166166
}
167167

@@ -188,16 +188,16 @@ impl<'a, 'tcx> TypeRelation<'tcx> for MismatchRelation<'a, 'tcx> {
188188
}
189189
(&TyKind::Array(a_t, _), &TyKind::Array(b_t, _))
190190
| (&TyKind::Slice(a_t), &TyKind::Slice(b_t)) => {
191-
let _ = self.relate(&a_t, &b_t)?;
191+
let _ = self.relate(a_t, b_t)?;
192192
None
193193
}
194194
(&TyKind::RawPtr(a_mt), &TyKind::RawPtr(b_mt)) => {
195-
let _ = self.relate(&a_mt, &b_mt)?;
195+
let _ = self.relate(a_mt, b_mt)?;
196196
None
197197
}
198198
(&TyKind::Ref(a_r, a_ty, _), &TyKind::Ref(b_r, b_ty, _)) => {
199-
let _ = self.relate(&a_r, &b_r)?;
200-
let _ = self.relate(&a_ty, &b_ty)?;
199+
let _ = self.relate(a_r, b_r)?;
200+
let _ = self.relate(a_ty, b_ty)?;
201201
None
202202
}
203203
(&TyKind::FnDef(a_def_id, a_substs), &TyKind::FnDef(b_def_id, b_substs)) => {
@@ -214,17 +214,17 @@ impl<'a, 'tcx> TypeRelation<'tcx> for MismatchRelation<'a, 'tcx> {
214214
Some((a, b))
215215
}
216216
(&TyKind::FnPtr(a_fty), &TyKind::FnPtr(b_fty)) => {
217-
let _ = self.relate(&a_fty, &b_fty)?;
217+
let _ = self.relate(a_fty, b_fty)?;
218218
None
219219
}
220220
(&TyKind::Dynamic(a_obj, a_r), &TyKind::Dynamic(b_obj, b_r)) => {
221-
let _ = self.relate(&a_r, &b_r)?;
221+
let _ = self.relate(a_r, b_r)?;
222222
let a = a_obj.principal();
223223
let b = b_obj.principal();
224224

225225
if let (Some(a), Some(b)) = (a, b) {
226226
if self.check_substs(a.skip_binder().substs, b.skip_binder().substs) {
227-
let _ = self.relate(&a.skip_binder().substs, &b.skip_binder().substs)?;
227+
let _ = self.relate(a.skip_binder().substs, b.skip_binder().substs)?;
228228
let a = Res::Def(DefKind::Trait, a.skip_binder().def_id);
229229
let b = Res::Def(DefKind::Trait, b.skip_binder().def_id);
230230
Some((a, b))
@@ -236,11 +236,11 @@ impl<'a, 'tcx> TypeRelation<'tcx> for MismatchRelation<'a, 'tcx> {
236236
}
237237
}
238238
(&TyKind::Tuple(as_), &TyKind::Tuple(bs)) => {
239-
let _ = as_.iter().zip(bs).map(|(a, b)| self.relate(&a, &b));
239+
let _ = as_.iter().zip(bs).map(|(a, b)| self.relate(a, b));
240240
None
241241
}
242242
(&TyKind::Projection(a_data), &TyKind::Projection(b_data)) => {
243-
let _ = self.relate(&a_data, &b_data)?;
243+
let _ = self.relate(a_data, b_data)?;
244244

245245
let a = Res::Def(DefKind::AssocTy, a_data.item_def_id);
246246
let b = Res::Def(DefKind::AssocTy, b_data.item_def_id);
@@ -279,7 +279,7 @@ impl<'a, 'tcx> TypeRelation<'tcx> for MismatchRelation<'a, 'tcx> {
279279
}
280280
}
281281

282-
Ok(self.tcx.types.err)
282+
Ok(self.tcx.ty_error())
283283
}
284284

285285
fn regions(
@@ -300,8 +300,8 @@ impl<'a, 'tcx> TypeRelation<'tcx> for MismatchRelation<'a, 'tcx> {
300300

301301
fn binders<T: Relate<'tcx>>(
302302
&mut self,
303-
a: &ty::Binder<T>,
304-
b: &ty::Binder<T>,
303+
a: ty::Binder<T>,
304+
b: ty::Binder<T>,
305305
) -> RelateResult<'tcx, ty::Binder<T>> {
306306
Ok(ty::Binder::bind(
307307
self.relate(a.skip_binder(), b.skip_binder())?,

src/tools/semverver/src/translate.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,10 @@ impl<'a, 'tcx> TranslationContext<'a, 'tcx> {
208208
let res: Vec<_> = preds
209209
.iter()
210210
.map(|p| {
211-
match *p.skip_binder() {
211+
match p.skip_binder() {
212212
Trait(existential_trait_ref) => {
213213
let trait_ref = Binder::bind(existential_trait_ref)
214-
.with_self_ty(self.tcx, self.tcx.types.err);
214+
.with_self_ty(self.tcx, self.tcx.ty_error());
215215
let did = trait_ref.skip_binder().def_id;
216216
let substs = trait_ref.skip_binder().substs;
217217

@@ -234,7 +234,7 @@ impl<'a, 'tcx> TranslationContext<'a, 'tcx> {
234234
}
235235
Projection(existential_projection) => {
236236
let projection_pred = Binder::bind(existential_projection)
237-
.with_self_ty(self.tcx, self.tcx.types.err);
237+
.with_self_ty(self.tcx, self.tcx.ty_error());
238238
let item_def_id =
239239
projection_pred.skip_binder().projection_ty.item_def_id;
240240
let substs =
@@ -561,7 +561,7 @@ impl<'a, 'tcx> TypeFolder<'tcx> for InferenceCleanupFolder<'a, 'tcx> {
561561
.tcx
562562
.mk_ref(self.infcx.tcx.lifetimes.re_erased, ty_and_mut)
563563
}
564-
TyKind::Infer(_) => self.infcx.tcx.mk_ty(TyKind::Error),
564+
TyKind::Infer(_) => self.infcx.tcx.ty_error(),
565565
_ => t1,
566566
}
567567
}

0 commit comments

Comments
 (0)