Somehow give a warning when trying to assign a size_t/ptrdiff_t to int or uint

Temtaime via Digitalmars-d digitalmars-d at puremagic.com
Sun Apr 17 02:38:33 PDT 2016


On Sunday, 17 April 2016 at 09:29:33 UTC, WebFreak001 wrote:
> It's annoying to fix all these `int index = 
> str.indexOf("something")` to size_t/ptrdiff_t because you 
> started writing the code thinking that indexOf returns an 
> integer even though it returns a ptrdiff_t. When porting code 
> from 32bit to 64bit you need to fix all these lines which can 
> quickly become quite complex from functions where you don't 
> expect them to return size_t or ptrdiff_t
>
> Adding a warning when trying to do something like `int i = 
> funcReturningPtrdiff();` would make porting easier because you 
> would already spot the issues on the OS/architecture you are 
> working on. This also affects porting windows to linux as DMD 
> on windows uses 32bit by default and on linux it uses the 
> architecture you downloaded as default.

There already was a such bugreport.
size_t is simple alias to int/long depending on the platform.

So currently it's impossible without adding a new type in the 
frontend.


More information about the Digitalmars-d mailing list