Skip to content
Snippets Groups Projects
  • Erwan Jahier's avatar
    8d8dcbd0
    Avoid the generation of polymorphic type variables when iterating on · 8d8dcbd0
    Erwan Jahier authored
    polymorphic operators.
    
    For instance, when LicDumping expression such as
    
        map<<map<<+,4>>,5>>
    
    an  alias  node was  created  for  "map<<+,4>>"  (to unnest  iterator
    calls). Fut this node is intrically overloaded (polymorphic). In this
    change, we  look at  the type this  innr call  is used to  generate a
    specialised (mono-morphic) version of the node alias.
    
    Note that we currently still generate type variable when users write
    
         node mymap = map<<+,4>>;
    8d8dcbd0
    History
    Avoid the generation of polymorphic type variables when iterating on
    Erwan Jahier authored
    polymorphic operators.
    
    For instance, when LicDumping expression such as
    
        map<<map<<+,4>>,5>>
    
    an  alias  node was  created  for  "map<<+,4>>"  (to unnest  iterator
    calls). Fut this node is intrically overloaded (polymorphic). In this
    change, we  look at  the type this  innr call  is used to  generate a
    specialised (mono-morphic) version of the node alias.
    
    Note that we currently still generate type variable when users write
    
         node mymap = map<<+,4>>;
unifyType.ml 4.90 KiB