Printing shortest decimal form of floating point number with Mir
    jmh530 
    john.michael.hall at gmail.com
       
    Mon Jan  4 15:03:05 UTC 2021
    
    
  
On Monday, 4 January 2021 at 14:40:31 UTC, ag0aep6g wrote:
> On 04.01.21 15:37, Ola Fosheim Grøstad wrote:
>> On Monday, 4 January 2021 at 14:11:28 UTC, ag0aep6g wrote:
>>> `Bar!int` is an alias. It's indistinguishable from `Foo!int`. 
>>> The code fails in the same manner when you replace "Bar!int" 
>>> with "Foo!int".
>> 
>> 
>> Wrong. This succeeds:
>> 
>>   struct Foo(T) {}
>> 
>>    alias Bar(T) = Foo!T;
>> 
>>    void f(T)(Foo!T x) {}
>> 
>>    void main() {
>>      f(Bar!int());
>>    }
>
> You didn't replace "Bar!int" with "Foo!int". You replaced 
> "Bar!T" with "Foo!T". That's something else entirely.
IMO, this is a better example, even if it's a little more verbose.
struct Foo(T) {}
alias Bar(T) = Foo!T;
void f(T)(Bar!T x) {}
void main() {
     auto x = Bar!int();
     f(x);
}
    
    
More information about the Digitalmars-d-announce
mailing list