Re: utils.toBulkString is not accesible from utils

2015-12-03 Thread Jonathan M Davis via Digitalmars-d-learn
On Wednesday, December 02, 2015 06:33:32 Andre via Digitalmars-d-learn wrote:
> Hi,
>
> for following coding there is an error during compilation:
>
>module utils;
>
>package string toBulkString(string s)
>{
> import std.string: format;
> return "$%s\r\n%s\r\n".format(s.length, s);
>}
>
>unittest
>{
> string actual = "foobar".toBulkString();
> //...
>}
>
> >> source\utils.d(11,39): Error: function utils.toBulkString is
> >> not accessible from module utils
>
> The error disappears if I change the visibility attribute from
> package to private.
> This seems to be a bug, is it?
>
> Version: DMD v2.069.0-b2
>
> Kind regards
> André

I believe that the problem is that there is no package for toBulkString to
be in. utils is a top-level module and is not in a package. Now, arguably it
should be an error to use the package attribute in such a module rather than
giving an error when you try and use it, but I'm pretty sure that that's the
source of your problem. If utils were actually in a package, then it should
work.

- Jonathan M Davis



Re: utils.toBulkString is not accesible from utils

2015-12-02 Thread Andre via Digitalmars-d-learn

On Wednesday, 2 December 2015 at 12:37:29 UTC, Marc Schütz wrote:



I think so, yes. But according to digger, the current behaviour 
goes back to at least DMD 2.052. Please file a bug report 
anyway.


Bug report filed
https://issues.dlang.org/show_bug.cgi?id=15395


Re: utils.toBulkString is not accesible from utils

2015-12-02 Thread Marc Schütz via Digitalmars-d-learn

On Wednesday, 2 December 2015 at 06:33:36 UTC, Andre wrote:

Hi,

for following coding there is an error during compilation:

  module utils;

  package string toBulkString(string s)
  {
  import std.string: format;
  return "$%s\r\n%s\r\n".format(s.length, s);
  }

  unittest
  {
  string actual = "foobar".toBulkString();
  //...
  }

source\utils.d(11,39): Error: function utils.toBulkString is 
not accessible from module utils


The error disappears if I change the visibility attribute from 
package to private.

This seems to be a bug, is it?

Version: DMD v2.069.0-b2


I think so, yes. But according to digger, the current behaviour 
goes back to at least DMD 2.052. Please file a bug report anyway.


utils.toBulkString is not accesible from utils

2015-12-01 Thread Andre via Digitalmars-d-learn

Hi,

for following coding there is an error during compilation:

  module utils;

  package string toBulkString(string s)
  {
  import std.string: format;
  return "$%s\r\n%s\r\n".format(s.length, s);
  }

  unittest
  {
  string actual = "foobar".toBulkString();
  //...
  }

source\utils.d(11,39): Error: function utils.toBulkString is 
not accessible from module utils


The error disappears if I change the visibility attribute from 
package to private.

This seems to be a bug, is it?

Version: DMD v2.069.0-b2

Kind regards
André