Skip to content

Prevent ICE on missing lang items. #72195

Closed
@lcnr

Description

@lcnr

There are currently quite a few locations in the compiler similar to the following:

let future_trait = self.tcx.lang_items().future_trait().unwrap();

This causes an internal compiler error in case the expected lang item is not defined,
for example when using #![no_core]. (see #72099)

A better way to deal with this is to use tcx.require_lang_item(FutureTraitLangItem, opt_span) instead, which cleanly stops compilation in case the lang item is missing.

See #72170, which already did this in some places.

This issue has been assigned to @doctorn via this comment.

Metadata

Metadata

Assignees

Labels

A-lang-itemArea: Language itemsC-enhancementCategory: An issue proposing an enhancement or a PR with one.E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions