Module rustc_monomorphize::polymorphize

source ยท
Expand description

ยงPolymorphization Analysis

This module implements an analysis of functions, methods and closures to determine which generic parameters are unused (and eventually, in what ways generic parameters are used - only for their size, offset of a field, etc.).



  • Emit errors for the function annotated by #[rustc_polymorphize_error], labelling each generic parameter which was unused.
  • Some parameters are considered used-by-default, such as non-generic parameters and the dummy generic parameters from closures, this function marks them as used. leaf_is_closure should be true if the item that unused_generic_params was invoked on is a closure.
  • Provide implementations of queries relating to polymorphization analysis.
  • Returns true if the instance should be polymorphized.
  • Determine which generic parameters are used by the instance.