www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9631] New: Error message not using fully qualified name when appropriate.

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9631

           Summary: Error message not using fully qualified name when
                    appropriate.
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: deadalnix gmail.com


--- Comment #0 from deadalnix <deadalnix gmail.com> 2013-03-02 01:29:14 PST ---
I'm doing some refactoring in SDC. Doing so, I'm moving this to use a new
implementation of Location. I get often message like :

Error: cannot implicitly convert expression (e.location) of type Location to
Location

The error message is about me using the new Location when the old is expected
or the other way around. But the message itself is kind of cryptic.

DMD should use the fully qualified name in error message when the regular name
isn't enough.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 02 2013
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9631


bearophile_hugs eml.cc changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bearophile_hugs eml.cc


--- Comment #1 from bearophile_hugs eml.cc 2013-03-02 05:21:58 PST ---
(In reply to comment #0)

 The error message is about me using the new Location when the old is expected
 or the other way around. But the message itself is kind of cryptic.

I suggest to add here a minimal complete program example. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 02 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9631


Andrej Mitrovic <andrej.mitrovich gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich gmail.com


--- Comment #2 from Andrej Mitrovic <andrej.mitrovich gmail.com> 2013-03-02
08:03:41 PST ---
Test case:

template T1()
{
    struct F { }
}

template T2()
{
    struct F { }
}

void main()
{
    T2!().F x = T1!().F();
}

 Error: cannot implicitly convert expression (F()) of type F to F

-- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 02 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9631


Andrej Mitrovic <andrej.mitrovich gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrew.smith uk.mlp.com


--- Comment #3 from Andrej Mitrovic <andrej.mitrovich gmail.com> 2013-03-20
14:30:53 PDT ---
*** Issue 9767 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 20 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9631


luka8088 <luka8088 owave.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |luka8088 owave.net


--- Comment #4 from luka8088 <luka8088 owave.net> 2013-04-18 12:39:24 PDT ---
Test case (from #9949):

// Error: function literal __lambda3 (S!(s) a) is not
// callable using argument types (S!(s))

module program;

struct S (alias T) {
  typeof(T) value;
}

void f (alias l = x => 1) (string s) {
  l(S!(s).init);
}

void main () {
  auto s = "some-string";
  f!((S!s a) { return 1; })(s);
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 18 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9631



--- Comment #5 from Andrej Mitrovic <andrej.mitrovich gmail.com> 2013-08-18
11:08:04 PDT ---
Here's another example:

test.d:

-----
module test;

import foo;

struct S { }

void main()
{
    test(S());
}
-----

-----
module foo;

struct S { }

void test(S s) { }
-----

test.d(9): Error: function foo.test (S s) is not callable using argument types
(S)

There used to be another error message here which would say "Cannot implicitly
convert type S to S", and *that* error message is the one that should really be
fixed, however Walter removed the message. I think it will eventually come back
though.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 18 2013