Rant after trying Rust a bit

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Sun Jul 26 02:04:44 PDT 2015


On Sunday, 26 July 2015 at 00:18:14 UTC, Walter Bright wrote:
> On 7/25/2015 3:59 PM, deadalnix wrote:
>> On Saturday, 25 July 2015 at 12:05:12 UTC, Andrei Alexandrescu 
>> wrote:
>>> Well at least all paths must be compiled. You wouldn't ship 
>>> templates that
>>> were never instantiated just as much as you wouldn't ship any 
>>> code without
>>> compiling it. We've had a few cases in Phobos a while ago of 
>>> templates that
>>> were never instantiated, with simple compilation errors when 
>>> people tried to
>>> use them. -- Andrei
>>
>> That is an instance of happy case testing. You test that what 
>> you expect to work
>> work. You can't test that everything that is not supposed to 
>> work do not, or
>> that you don't rely on a specific behavior of the thing you 
>> are testing.
>>
>
> Um, testing all paths is not happy case testing.

You test all execution path, not all "instantiation path". 
Consider this, in a dynamically typed language, you can have a 
function that accept a string and do something with it. You can 
write unit tests to check it does the right thing with various 
strings and make sure it execute all path.

Yet, what happen when it is passed an int ? a float ? an array ? 
an object ? Probably random shit.

Same here, but at instantiation time.


More information about the Digitalmars-d mailing list