Thread overview
[Issue 1238] New: (private) std.stream.isdigit conflicts with std.ctype.isdigit
May 17, 2007
d-bugmail
[Issue 1238] Private identifiers in imported modules create conflicts wtih public ones
Jun 26, 2007
d-bugmail
[Issue 1238] Private identifiers in imported modules create conflicts with public ones
Aug 06, 2008
d-bugmail
Aug 18, 2013
Adam D. Ruppe
Sep 05, 2013
Vladimir Panteleev
May 17, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1238

           Summary: (private) std.stream.isdigit conflicts with
                    std.ctype.isdigit
           Product: D
           Version: 1.015
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: ryg@gmx.net


Repro:

// ---- start

import std.stdio;
import std.stream;
import std.ctype;

void main()
{
  writefln("%d", isdigit('1'));
}

// ---- end

The problem seems to be the couple of "helper functions" at the end of stream.d. Easiest workaround would probably simply declaring them static as well as private (and the same probably applies to other module-scope private variables/functions in Phobos).

Anyway, since the spec states that "Private module members are equivalent to static declarations in C programs" (in "Attributes"), declaring anything "private" at module scope should probably force static linkage.


-- 

June 26, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1238


smjg@iname.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |smjg@iname.com
           Keywords|                            |rejects-valid
            Summary|(private) std.stream.isdigit|Private identifiers in
                   |conflicts with              |imported modules create
                   |std.ctype.isdigit           |conflicts wtih public ones




------- Comment #1 from smjg@iname.com  2007-06-26 05:52 -------
A self-contained testcase:
----------
module ppc_1a;
import ppc_1b;
import ppc_1c;

int qwert = yuiop;
----------
module ppc_1b;

private int yuiop;
----------
module ppc_1c;

public int yuiop;
----------
ppc_1a.d(5): Error: ppc_1b.yuiop at ppc_1b.d(3) conflicts with ppc_1c.yuiop at
ppc_1c.d(3)
ppc_1a.d: module ppc_1a ppc_1b.yuiop is private
----------


-- 

August 06, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=1238


dsimcha@yahoo.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |thecybershadow@gmail.com




------- Comment #2 from dsimcha@yahoo.com  2008-08-06 12:15 -------
*** Bug 1754 has been marked as a duplicate of this bug. ***


-- 

February 19, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=1238



--- Comment #3 from github-bugzilla@puremagic.com 2012-02-18 16:18:22 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/1218502560ca19d7cf95bf277525b17c3b7186eb fixed Issue 1238

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 19, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=1238



--- Comment #4 from github-bugzilla@puremagic.com 2012-02-18 16:22:53 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/e6c8554df338a13202d4140ea7a6b1b37853f5c1 Revert "fixed Issue 1238"

This reverts commit 1218502560ca19d7cf95bf277525b17c3b7186eb.

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


Adam D. Ruppe <destructionator@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |destructionator@gmail.com


--- Comment #5 from Adam D. Ruppe <destructionator@gmail.com> 2013-08-18 07:16:25 PDT ---
This is still a problem with D2... adding a private function shouldn't break the build of user modules. There's no ambiguity because obviously the private one is never wanted as it is inaccessible anyway.

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


Vladimir Panteleev <thecybershadow@gmail.com> changed:

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


--- Comment #6 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-09-06 02:12:42 EEST ---
*** Issue 10411 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: -------