Auto merge of #118605 - fee1-dead-contrib:rm-rustc_host, r=compiler-e… · rust-lang/rust@f32d298 (original) (raw)

`@@ -565,11 +565,10 @@ impl<'hir> LoweringContext<'_, 'hir> {

`

565

565

`.params

`

566

566

`.iter()

`

567

567

`.find(|param| {

`

568

``

`-

parent_hir

`

569

``

`-

.attrs

`

570

``

`-

.get(param.hir_id.local_id)

`

571

``

`-

.iter()

`

572

``

`-

.any(|attr| attr.has_name(sym::rustc_host))

`

``

568

`+

matches!(

`

``

569

`+

param.kind,

`

``

570

`+

hir::GenericParamKind::Const { is_host_effect: true, .. }

`

``

571

`+

)

`

573

572

`})

`

574

573

`.map(|param| param.def_id);

`

575

574

`}

`

`@@ -1372,27 +1371,17 @@ impl<'hir> LoweringContext<'_, 'hir> {

`

1372

1371

`let host_param_parts = if let Const::Yes(span) = constness

`

1373

1372

` && self.tcx.features().effects

`

1374

1373

`{

`

1375

``

`-

if let Some(param) =

`

1376

``

`-

generics.params.iter().find(|x| x.attrs.iter().any(|x| x.has_name(sym::rustc_host)))

`

1377

``

`-

{

`

1378

``

`` -

// user has manually specified a rustc_host param, in this case, we set

``

1379

``

`-

// the param id so that lowering logic can use that. But we don't create

`

1380

``

`` -

// another host param, so this gives None.

``

1381

``

`-

self.host_param_id = Some(self.local_def_id(param.id));

`

1382

``

`-

None

`

1383

``

`-

} else {

`

1384

``

`-

let param_node_id = self.next_node_id();

`

1385

``

`-

let hir_id = self.next_id();

`

1386

``

`-

let def_id = self.create_def(

`

1387

``

`-

self.local_def_id(parent_node_id),

`

1388

``

`-

param_node_id,

`

1389

``

`-

sym::host,

`

1390

``

`-

DefKind::ConstParam,

`

1391

``

`-

span,

`

1392

``

`-

);

`

1393

``

`-

self.host_param_id = Some(def_id);

`

1394

``

`-

Some((span, hir_id, def_id))

`

1395

``

`-

}

`

``

1374

`+

let param_node_id = self.next_node_id();

`

``

1375

`+

let hir_id = self.next_id();

`

``

1376

`+

let def_id = self.create_def(

`

``

1377

`+

self.local_def_id(parent_node_id),

`

``

1378

`+

param_node_id,

`

``

1379

`+

sym::host,

`

``

1380

`+

DefKind::ConstParam,

`

``

1381

`+

span,

`

``

1382

`+

);

`

``

1383

`+

self.host_param_id = Some(def_id);

`

``

1384

`+

Some((span, hir_id, def_id))

`

1396

1385

`} else {

`

1397

1386

`None

`

1398

1387

`};

`

`@@ -1456,19 +1445,6 @@ impl<'hir> LoweringContext<'_, 'hir> {

`

1456

1445

`self.children.push((def_id, hir::MaybeOwner::NonOwner(hir_id)));

`

1457

1446

`self.children.push((anon_const, hir::MaybeOwner::NonOwner(const_id)));

`

1458

1447

``

1459

``

`-

let attr_id = self.tcx.sess.parse_sess.attr_id_generator.mk_attr_id();

`

1460

``

-

1461

``

`-

let attrs = self.arena.alloc_from_iter([Attribute {

`

1462

``

`-

kind: AttrKind::Normal(P(NormalAttr::from_ident(Ident::new(

`

1463

``

`-

sym::rustc_host,

`

1464

``

`-

span,

`

1465

``

`-

)))),

`

1466

``

`-

span,

`

1467

``

`-

id: attr_id,

`

1468

``

`-

style: AttrStyle::Outer,

`

1469

``

`-

}]);

`

1470

``

`-

self.attrs.insert(hir_id.local_id, attrs);

`

1471

``

-

1472

1448

`let const_body = self.lower_body(|this| {

`

1473

1449

`(

`

1474

1450

`&[],

`

`@@ -1510,6 +1486,7 @@ impl<'hir> LoweringContext<'_, 'hir> {

`

1510

1486

`hir_id: const_id,

`

1511

1487

`body: const_body,

`

1512

1488

`}),

`

``

1489

`+

is_host_effect: true,

`

1513

1490

`},

`

1514

1491

`colon_span: None,

`

1515

1492

`pure_wrt_drop: false,

`