Thread overview
Is this actually a bug or?
Oct 31, 2017
bauss
Oct 31, 2017
Jonathan M Davis
Oct 31, 2017
bauss
October 31, 2017
If you look at:
https://github.com/DiamondMVC/Diamond/blob/master/authentication/permissions.d#L13

I have to import "diamond.http.method" manually, although the package "diamond.http" imports the module public like:

https://github.com/DiamondMVC/Diamond/blob/master/http/package.d#L11

However if the import statement directly to the module is removed then it won't compile, because the symbols from diamond.http.method are undefined symbols.

It only happens in that module too, other modules can access the symbols fine with importing "diamond.http" only.

For the compiler I'm using dmd-2.072.2, so if it's a bug and it has been fixed in a newer version it'd be nice to know.

I'm not asking for a work-around as clearly importing the module directly works fine, but I would just like to know if it's a bug and if I should report it or if it has already been fixed/is a known issue.
October 31, 2017
On Tuesday, October 31, 2017 20:06:12 bauss via Digitalmars-d wrote:
> If you look at: https://github.com/DiamondMVC/Diamond/blob/master/authentication/permissio ns.d#L13
>
> I have to import "diamond.http.method" manually, although the package "diamond.http" imports the module public like:
>
> https://github.com/DiamondMVC/Diamond/blob/master/http/package.d#L11
>
> However if the import statement directly to the module is removed then it won't compile, because the symbols from diamond.http.method are undefined symbols.
>
> It only happens in that module too, other modules can access the symbols fine with importing "diamond.http" only.
>
> For the compiler I'm using dmd-2.072.2, so if it's a bug and it has been fixed in a newer version it'd be nice to know.
>
> I'm not asking for a work-around as clearly importing the module directly works fine, but I would just like to know if it's a bug and if I should report it or if it has already been fixed/is a known issue.

Well, at first glance, it seems like you should just be able to import the package, but I suppose that there could be some detail I'm missing. I don't recall any bugs about that, but that doesn't mean that there weren't any. 2.072.2 is pretty old at this point, and I would advise against using it, but regardless, the easiest way to know if your problem goes away with a newer compiler is to just use a newer compiler.

- Jonathan M Davis

October 31, 2017
On Tuesday, 31 October 2017 at 20:20:38 UTC, Jonathan M Davis wrote:
> On Tuesday, October 31, 2017 20:06:12 bauss via Digitalmars-d wrote:
>> If you look at: https://github.com/DiamondMVC/Diamond/blob/master/authentication/permissio ns.d#L13
>>
>> I have to import "diamond.http.method" manually, although the package "diamond.http" imports the module public like:
>>
>> https://github.com/DiamondMVC/Diamond/blob/master/http/package.d#L11
>>
>> However if the import statement directly to the module is removed then it won't compile, because the symbols from diamond.http.method are undefined symbols.
>>
>> It only happens in that module too, other modules can access the symbols fine with importing "diamond.http" only.
>>
>> For the compiler I'm using dmd-2.072.2, so if it's a bug and it has been fixed in a newer version it'd be nice to know.
>>
>> I'm not asking for a work-around as clearly importing the module directly works fine, but I would just like to know if it's a bug and if I should report it or if it has already been fixed/is a known issue.
>
> Well, at first glance, it seems like you should just be able to import the package, but I suppose that there could be some detail I'm missing. I don't recall any bugs about that, but that doesn't mean that there weren't any. 2.072.2 is pretty old at this point, and I would advise against using it, but regardless, the easiest way to know if your problem goes away with a newer compiler is to just use a newer compiler.
>
> - Jonathan M Davis

Yeah I would use a newer compiler, but unfortunately mysql-native doesn't link properly with any versions after or at least it didn't for my project. (When compiling to x86)

I haven't tried for a few releases though, so I might give it a try again.

The linking issue is similar to this: https://issues.dlang.org/show_bug.cgi?id=15183