Thread overview
[Issue 9879] New: Built-in sizeof should return ErrorExp if error occurs in aggregate type semantics
Apr 05, 2013
Kenji Hara
Apr 05, 2013
Kenji Hara
Apr 05, 2013
Don
Apr 05, 2013
Kenji Hara
Apr 05, 2013
Kenji Hara
April 05, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9879

           Summary: Built-in sizeof should return ErrorExp if error occurs
                    in aggregate type semantics
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: diagnostic
          Severity: minor
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: k.hara.pg@gmail.com


--- Comment #0 from Kenji Hara <k.hara.pg@gmail.com> 2013-04-04 21:12:54 PDT ---
From bug 4269:

With this code, `__traits` should return `false`, but doesn't.

static if (__traits(compiles,A.sizeof)) pragma(msg, "A.sizeof compiles!");
class A { void foo(B b); }

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 05, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9879


Kenji Hara <k.hara.pg@gmail.com> changed:

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


--- Comment #1 from Kenji Hara <k.hara.pg@gmail.com> 2013-04-04 21:19:38 PDT ---
https://github.com/D-Programming-Language/dmd/pull/1843

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 05, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9879



--- Comment #2 from Don <clugdbug@yahoo.com.au> 2013-04-05 03:58:02 PDT ---
This behaviour is intentional.

Although there is an error in a function declared in A, the size of A is still known.

Just as an error inside a function definition doesn't make the type of the function unknown.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 05, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9879


Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID


--- Comment #3 from Kenji Hara <k.hara.pg@gmail.com> 2013-04-05 04:12:03 PDT ---
(In reply to comment #2)
> This behaviour is intentional.
> 
> Although there is an error in a function declared in A, the size of A is still known.
> 
> Just as an error inside a function definition doesn't make the type of the function unknown.

OK, It makes sense. Thanks.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 05, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9879



--- Comment #4 from Kenji Hara <k.hara.pg@gmail.com> 2013-04-05 04:13:30 PDT ---
*** Issue 9856 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: -------