Changes between Initial Version and Version 1 of Ticket #13390, comment 10


Ignore:
Timestamp:
May 13, 2017 9:36:31 PM (21 months ago)
Author:
dfeuer
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #13390, comment 10

    initial v1  
    5252}}}
    5353
    54 The same thing happens to `$dmd` and `$cd_aT8`. At some point, I believe both `ce_aTf` and `cd_aT8` must both get eta-reduced to `$cc_aT4` (which is perfectly legitimate because `$cc_aT4` is strict in its argument). `-ddump-inlinings` on its own doesn't show any further inlining, but `-dverbose-core2core` (if I'm reading it right) shows that the eta-reduced versions are indeed inlined into the constructor. These are trivial inlinings, replacing one binding with another, which should get around your statement that we don't (and don't want to) inline into constructor arguments.
     54The same thing happens to `$dmd` and `$cd_aT8`. At some point, I believe both `ce_aTf` and `cd_aT8` must both get eta-reduced to `$cc_aT4`. `-ddump-inlinings` on its own doesn't show any further inlining, but `-dverbose-core2core` (if I'm reading it right) shows that the eta-reduced versions are indeed inlined into the constructor. These are trivial inlinings, replacing one binding with another, which should get around your statement that we don't (and don't want to) inline into constructor arguments.