trait Partition<'tcx> {
    // Required methods
    fn place_root_mono_items<I>(
        &mut self,
        cx: &PartitioningCx<'_, 'tcx>,
        mono_items: &mut I
    ) -> PlacedRootMonoItems<'tcx>
       where I: Iterator<Item = MonoItem<'tcx>>;
    fn merge_codegen_units(
        &mut self,
        cx: &PartitioningCx<'_, 'tcx>,
        codegen_units: &mut Vec<CodegenUnit<'tcx>>
    );
    fn place_inlined_mono_items(
        &mut self,
        cx: &PartitioningCx<'_, 'tcx>,
        codegen_units: &mut [CodegenUnit<'tcx>],
        roots: FxHashSet<MonoItem<'tcx>>
    ) -> FxHashMap<MonoItem<'tcx>, MonoItemPlacement>;
    fn internalize_symbols(
        &mut self,
        cx: &PartitioningCx<'_, 'tcx>,
        codegen_units: &mut [CodegenUnit<'tcx>],
        mono_item_placements: FxHashMap<MonoItem<'tcx>, MonoItemPlacement>,
        internalization_candidates: FxHashSet<MonoItem<'tcx>>
    );
}

Required Methods§

source

fn place_root_mono_items<I>( &mut self, cx: &PartitioningCx<'_, 'tcx>, mono_items: &mut I ) -> PlacedRootMonoItems<'tcx>where I: Iterator<Item = MonoItem<'tcx>>,

source

fn merge_codegen_units( &mut self, cx: &PartitioningCx<'_, 'tcx>, codegen_units: &mut Vec<CodegenUnit<'tcx>> )

source

fn place_inlined_mono_items( &mut self, cx: &PartitioningCx<'_, 'tcx>, codegen_units: &mut [CodegenUnit<'tcx>], roots: FxHashSet<MonoItem<'tcx>> ) -> FxHashMap<MonoItem<'tcx>, MonoItemPlacement>

source

fn internalize_symbols( &mut self, cx: &PartitioningCx<'_, 'tcx>, codegen_units: &mut [CodegenUnit<'tcx>], mono_item_placements: FxHashMap<MonoItem<'tcx>, MonoItemPlacement>, internalization_candidates: FxHashSet<MonoItem<'tcx>> )

Implementors§

source§

impl<'tcx> Partition<'tcx> for Partitioner

source§

impl<'tcx> Partition<'tcx> for DefaultPartitioning