Thread overview
[Issue 20368] dmd 2.089.0 Error: expression `main` is `void` and has no value
Nov 08, 2019
Andrea Fontana
Nov 08, 2019
Andrea Fontana
Nov 10, 2019
Basile-z
Mar 21, 2020
Basile-z
Nov 26, 2021
RazvanN
Mar 24, 2022
Dlang Bot
November 08, 2019
https://issues.dlang.org/show_bug.cgi?id=20368

--- Comment #1 from Andrea Fontana <trikkuz@gmail.com> ---
Digger:

digger: 36ccf092ed154a15700c2d082795bcc1ea1b8f99 is the first bad commit
commit 36ccf092ed154a15700c2d082795bcc1ea1b8f99
Author: The Dlang Bot <code+dlang-bot@dawg.eu>
Date:   Mon Aug 26 12:33:40 2019 +0200

    dmd: Merge pull request #10351 from JinShil/entry

    https://github.com/dlang/dmd/pull/10351

    Move hard-coded logic to generate C main out of the compiler and into
druntime
    merged-on-behalf-of: Nicholas Wilson
<thewilsonator@users.noreply.github.com>

diff --git a/dmd b/dmd
index 0de452558..a01aa5587 160000

--
November 08, 2019
https://issues.dlang.org/show_bug.cgi?id=20368

--- Comment #2 from Andrea Fontana <trikkuz@gmail.com> ---
Reduced:

module mymod;

mixin Bug;

template Bug()
{
   void main()
   {
         import std;
         alias bug = hasUDA!(__traits(getMember, mymod, "main"), "myuda");
   }
}

--
November 10, 2019
https://issues.dlang.org/show_bug.cgi?id=20368

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |b2.temp@gmx.com
           Hardware|x86_64                      |All
                 OS|Linux                       |All

--- Comment #3 from Basile-z <b2.temp@gmx.com> ---
w/o phobos:

---
module mymod;

mixin Bug;

mixin template Bug()
{
   void main()
   {
         alias Attribs = __traits(getAttributes, __traits(getMember, mymod,
"main"));
   }
}
---

--
March 21, 2020
https://issues.dlang.org/show_bug.cgi?id=20368

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|b2.temp@gmx.com             |

--
November 26, 2021
https://issues.dlang.org/show_bug.cgi?id=20368

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |razvan.nitu1305@gmail.com
          Component|dmd                         |druntime

--
March 24, 2022
https://issues.dlang.org/show_bug.cgi?id=20368

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #5 from Dlang Bot <dlang-bot@dlang.rocks> ---
@MoonlightSentinel created dlang/druntime pull request #3786 "Fix 20368 - Remove name conflict for `main` mixin" fixing this issue:

- Fix 20368 - Remove name conflict for `main` mixin

  Use a unique name with override mangle s.t. it doesn't conflict with the
  user-defined main.

  Co-authored-by: JinShil <slavo5150@yahoo.com>
  Co-authored-by: Ernesto Castellotti <erny.castell@gmail.com>
  (see PR's 2861 and 2953)

https://github.com/dlang/druntime/pull/3786

--