Error not callable with argument types but types matches

anonymous via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Nov 8 04:05:42 PST 2015


On 08.11.2015 08:17, Sliya wrote:
> I am on Mac OS, but I still don't get it. If the import was not
> case-sensitive, I would not have any error since the good file would
> have been loaded... Here I have no error saying file not found yet the
> file is not loaded. I'd love to know what really happens.

The file system is case insensitive. That means when dmd opens noise.d 
or Noise.d it gets the same contents both times. So both `import noise;` 
and `import Noise;` succeed.

But the module name is case sensitive. `import noise;` results in a 
module `noise`, while `import Noise;` results in a module `Noise`. And 
they're not the same. They're different modules.

So when cell.d does `import Noise;` and perlin.d does `import noise;`, 
then they're using two different, incompatible Noise interfaces.


More information about the Digitalmars-d-learn mailing list