Skip to main content

Module multi_target

Module multi_target 

Source
Expand description

Merging multiple CrateDatas from different compilation targets into one.

StructsΒ§

CrateMerger πŸ”’
IdRefMapperVisitor πŸ”’
Visitor that remaps references to the given items.
ItemDeduplicator πŸ”’
Orchestrates deduplication of items across compilation targets.
TargetGroup πŸ”’
A set of items that share the same base name and item kind. These are candidates for merging into a single cross-target item.
TargetGroupId

EnumsΒ§

MergeDecision πŸ”’
How a TargetGroup should be merged.

FunctionsΒ§

cleanup_post_merge πŸ”’
Recompute declaration order and run final whole-crate cleanup on the merged crate.
merge
Merge per-target CrateDatas into a single CrateData.
normalize_item πŸ”’
Normalize an item for cross-target comparison.
normalize_name_for_grouping πŸ”’
Normalize a name for grouping across targets; returns the target.
remove_unmentioned_methods πŸ”’
Emulate the behavior of our lazy method translation scheme by removing default trait methods that aren’t usefully mentioned anywhere.
strip_unstable_attributes πŸ”’
Strip attributes such as rustc_diagnostic_item whose arguments can vary across targets in a way that doesn’t matter to us.