Thread overview | ||||||
---|---|---|---|---|---|---|
|
August 17, 2011 [phobos] rdmd is not compiling | ||||
---|---|---|---|---|
| ||||
There are a lot of things wrong with rdmd.d in the "tools" repository right now. If I run "dmd rdmd.d", I get the following error: rdmd.d(313): Error: incompatible types for ((& shellQuote) ? (__funcliteral4)): 'string function(string arg)' and 'string function(string s) pure nothrow @safe' That's easy to fix; just mark shellQuote() as @safe pure nothrow. But now, the compiler is saying rdmd.d(321): Error: undefined identifier myModules I think a few of the recent commits need to be reverted. -Lars |
August 17, 2011 [phobos] rdmd is not compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lars Tandle Kyllingstad | On Wednesday, August 17, 2011 14:25 Lars Tandle Kyllingstad wrote:
> There are a lot of things wrong with rdmd.d in the "tools" repository right now. If I run "dmd rdmd.d", I get the following error:
>
> rdmd.d(313): Error: incompatible types for ((& shellQuote) ?
> (__funcliteral4)): 'string function(string arg)' and 'string
> function(string s) pure nothrow @safe'
>
> That's easy to fix; just mark shellQuote() as @safe pure nothrow. But
> now, the compiler is saying
>
> rdmd.d(321): Error: undefined identifier myModules
>
> I think a few of the recent commits need to be reverted.
Commits to what? rdmd? dmd? Phobos?
- Jonathan M Davis
|
August 18, 2011 [phobos] rdmd is not compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | On Wed, 2011-08-17 at 22:15 +0000, Jonathan M Davis wrote:
> On Wednesday, August 17, 2011 14:25 Lars Tandle Kyllingstad wrote:
> > There are a lot of things wrong with rdmd.d in the "tools" repository right now. If I run "dmd rdmd.d", I get the following error:
> >
> > rdmd.d(313): Error: incompatible types for ((& shellQuote) ?
> > (__funcliteral4)): 'string function(string arg)' and 'string
> > function(string s) pure nothrow @safe'
> >
> > That's easy to fix; just mark shellQuote() as @safe pure nothrow. But
> > now, the compiler is saying
> >
> > rdmd.d(321): Error: undefined identifier myModules
> >
> > I think a few of the recent commits need to be reverted.
>
> Commits to what? rdmd? dmd? Phobos?
rdmd. It has seen an unusual amount of development activity lately, which is great, but it seems not all commits have been properly tested.
(That said, I actually think the first one is a bug in DMD. I cannot
see any reason why a "string function(string) pure nothrow @safe"
shouldn't be implicitly convertible to "string function(string)".)
-Lars
|
August 18, 2011 [phobos] rdmd is not compiling | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lars Tandle Kyllingstad | On Thu, 2011-08-18 at 07:37 +0200, Lars Tandle Kyllingstad wrote:
> On Wed, 2011-08-17 at 22:15 +0000, Jonathan M Davis wrote:
> > On Wednesday, August 17, 2011 14:25 Lars Tandle Kyllingstad wrote:
> > > There are a lot of things wrong with rdmd.d in the "tools" repository right now. If I run "dmd rdmd.d", I get the following error:
> > >
> > > rdmd.d(313): Error: incompatible types for ((& shellQuote) ?
> > > (__funcliteral4)): 'string function(string arg)' and 'string
> > > function(string s) pure nothrow @safe'
> > >
> > > That's easy to fix; just mark shellQuote() as @safe pure nothrow. But
> > > now, the compiler is saying
> > >
> > > rdmd.d(321): Error: undefined identifier myModules
> > >
> > > I think a few of the recent commits need to be reverted.
> >
> > Commits to what? rdmd? dmd? Phobos?
>
> rdmd. It has seen an unusual amount of development activity lately, which is great, but it seems not all commits have been properly tested.
>
> (That said, I actually think the first one is a bug in DMD. I cannot
> see any reason why a "string function(string) pure nothrow @safe"
> shouldn't be implicitly convertible to "string function(string)".)
Argh. It is so broken it's not even funny.
I filed a report for the first bug (6524) and implemented the workaround. Then I fixed the second bug by replacing myModules with myDeps in line 321. That made it compile, but now another bug has surfaced:
In the .rsp file, which is supposed to contain DMD's command line
parameters (when there are many of them), the string
"dmd /path/to/dmd.conf" now appears.
I've traced this back to rdmd.d line 414-437, in which the
"binary" (i.e. dmd) and "config" (i.e. dmd.conf) lines of the .deps file
get added as dependencies of the program being compiled. In other
words, it appears to be very much intentional. I have no idea why,
though.
I have submitted a pull request that hopefully fixes these issues in an acceptable manner. I don't have much experience with the rdmd code, however, so it should be reviewed by someone who does.
-Lars
|
Copyright © 1999-2021 by the D Language Foundation