RejectedSoftware Forums

Sign up

Errors compiling with latest DMD 2.064.2

Hi I've just tried to update to the latest D and vibe (tried both .7.17 and the latest nightly) and I'm getting some compilation errors that I'm not sure how to debug.

First, it's complaining about the uses of "0.seconds" as being "not a property". If I change that to seconds(0), it works, but then spits out a few more errors:
source\vibe\core\args.d(201): Error: not a property cpath.exists
source\vibe\data\json.d(754): Error: not a property this.m_type.to!string
source\vibe\data\json.d(757): Error: not a property typeId().to!string

Before I debug too much further into this, are these known issues or some problem with my setup? I've just wiped everything and installed the latest stuff through the D web site to be sure, and I'm compiling vibe through VisualD.

Is there a different version of D that I should be using or perhaps something wrong with the compilation settings? I'm just using the defaults from the VisualD file, other than switching to using the LibEvent driver.

Re: Errors compiling with latest DMD 2.064.2

On 2013-11-24 22:19:56 +0000, punkUser said:

Hi I've just tried to update to the latest D and vibe (tried both .7.17
and the latest nightly) and I'm getting some compilation errors that
I'm not sure how to debug.

First, it's complaining about the uses of "0.seconds" as being "not a
property". If I change that to seconds(0), it works, but then spits out
a few more errors:

source\vibe\core\args.d(201): Error: not a property cpath.exists

source\vibe\data\json.d(754): Error: not a property this.m_type.to!string

source\vibe\data\json.d(757): Error: not a property typeId().to!string

Before I debug too much further into this, are these known issues or
some problem with my setup? I've just wiped everything and installed
the latest stuff through the D web site to be sure, and I'm compiling
vibe through VisualD.

Is there a different version of D that I should be using or perhaps
something wrong with the compilation settings? I'm just using the
defaults from the VisualD file, other than switching to using the
LibEvent driver.

I am using the latest of both as well and have no problems. Those
errors seem like something more problematic with your configuration as
DMD isn't finding those methods. Tell us more about your OS, version
of DUB, etc.

-Shammah

Re: Errors compiling with latest DMD 2.064.2

Am 25.11.2013 00:23, schrieb Shammah Chancellor:

On 2013-11-24 22:19:56 +0000, punkUser said:

Hi I've just tried to update to the latest D and vibe (tried both
.7.17 and the latest nightly) and I'm getting some compilation errors
that I'm not sure how to debug.

First, it's complaining about the uses of "0.seconds" as being "not a
property". If I change that to seconds(0), it works, but then spits
out a few more errors:

source\vibe\core\args.d(201): Error: not a property cpath.exists

source\vibe\data\json.d(754): Error: not a property this.m_type.to!string

source\vibe\data\json.d(757): Error: not a property typeId().to!string

Before I debug too much further into this, are these known issues or
some problem with my setup? I've just wiped everything and installed
the latest stuff through the D web site to be sure, and I'm compiling
vibe through VisualD.

Is there a different version of D that I should be using or perhaps
something wrong with the compilation settings? I'm just using the
defaults from the VisualD file, other than switching to using the
LibEvent driver.

I am using the latest of both as well and have no problems. Those
errors seem like something more problematic with your configuration as
DMD isn't finding those methods. Tell us more about your OS, version
of DUB, etc.

-Shammah

It looks like -property is passed to DMD (Compiler/Messages/Enforce
Property Syntax in the VisualD project properties). The general
conclusion was that this switch should get deprecated once proper rules
for property enforcement are implemented, as it doesn't enforce the
important parts (disallowing parentheses to call properties), while it
disallows something many people would like to keep (allow to omit
parentheses on ordinary methods). This is why the latest versions of DUB
don't emit this flag anymore and omitted parentheses can be found in
more and more of my code now.

But it could in theory also still be something else, as that error
message sometimes appears for seemingly completely unrelated errors.

Re: Errors compiling with latest DMD 2.064.2

On 2013-11-25 07:02:20 +0000, Sönke Ludwig said:

It looks like -property is passed to DMD (Compiler/Messages/Enforce
Property Syntax in the VisualD project properties). The general
conclusion was that this switch should get deprecated once proper rules
for property enforcement are implemented, as it doesn't enforce the
important parts (disallowing parentheses to call properties), while it
disallows something many people would like to keep (allow to omit
parentheses on ordinary methods). This is why the latest versions of DUB
don't emit this flag anymore and omitted parentheses can be found in
more and more of my code now.

Haha. I was going to say it was a very strange set of errors and
wondered if such a flag existed. I didn't bother to check though.

Re: Errors compiling with latest DMD 2.064.2

It looks like -property is passed to DMD (Compiler/Messages/Enforce
Property Syntax in the VisualD project properties).

Good call! I checked and that was indeed enabled in the VisualD project. Disabling it removes the messages.

Thanks a lot guys. Not sure why I didn't think to double-check compiler settings for ones that seemed suspect :S

Re: Errors compiling with latest DMD 2.064.2

BTW, I didn't realize at first that the old VisualD project file is
still in the repository. It hasn't been maintained for a while and is
now removed.

It can be easily generated for the current version using "dub generate
visuald" or "dub generate visuald-combined", though.

Re: Errors compiling with latest DMD 2.064.2

Yeah I noticed there were a few files missing :) Will regenerate from dub.