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