Thread overview | |||||
---|---|---|---|---|---|
|
November 07, 2017 Cyclic dependency error | ||||
---|---|---|---|---|
| ||||
My program compiled, but when I ran it I got this error message: object.Error@src/rt/minfo.d(371): Cyclic dependency between module variable and main variable* -> misc -> main* -> variable* I take it that the -> represents a dependency from the module on that line, to the module on the line below. My question is what do the asterisks represent? |
November 07, 2017 Re: Cyclic dependency error | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tony | On 11/7/17 7:49 AM, Tony wrote:
> My program compiled, but when I ran it I got this error message:
>
> object.Error@src/rt/minfo.d(371): Cyclic dependency between module variable and main
> variable* ->
> misc ->
> main* ->
> variable*
>
>
> I take it that the -> represents a dependency from the module on that line, to the module on the line below. My question is what do the asterisks represent?
The asterisks represent modules with module ctors/dtors. So misc is an intermediate step, but has no module ctor/dtor.
A cycle between a module with a ctor and itself is OK, as long as it only goes through such import paths.
-Steve
|
November 07, 2017 Re: Cyclic dependency error | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | On Tuesday, 7 November 2017 at 14:05:41 UTC, Steven Schveighoffer wrote: > On 11/7/17 7:49 AM, Tony wrote: >> My program compiled, but when I ran it I got this error message: >> >> object.Error@src/rt/minfo.d(371): Cyclic dependency between module variable and main >> variable* -> >> misc -> >> main* -> >> variable* >> >> >> I take it that the -> represents a dependency from the module on that line, to the module on the line below. My question is what do the asterisks represent? > > The asterisks represent modules with module ctors/dtors. So misc is an intermediate step, but has no module ctor/dtor. > > A cycle between a module with a ctor and itself is OK, as long as it only goes through such import paths. > See https://dlang.org/spec/module.html#order_of_static_ctor for options on how to handle cycles other than rewriting. |
Copyright © 1999-2021 by the D Language Foundation