I think I have a misunderstanding of how 'package' is suppose to
work. How I understand it, you will give access to the directory,
unlike private which will hide it outside of the same file.

1. Package access is _very_ broken:
http://d.puremagic.com/issues/show_bug.cgi?id=143
2. I'm not sure that your code is even using package properly. Note that t1
and t2 arguably don't _have_ a package. They're not pkg.t1 and pkg.t2, they're
just straight t1 and t2. So, even if package were working properly, I'm not
sure that t1 and t2 would ever be considered to be in the same package.
- Jonathan M Davis

I think I have a misunderstanding of how 'package' is suppose to
work. How I understand it, you will give access to the directory,
unlike private which will hide it outside of the same file.

1. Package access is _very_ broken:
http://d.puremagic.com/issues/show_bug.cgi?id=143
2. I'm not sure that your code is even using package properly. Note that
t1
and t2 arguably don't _have_ a package. They're not pkg.t1 and pkg.t2,
they're
just straight t1 and t2. So, even if package were working properly, I'm
not
sure that t1 and t2 would ever be considered to be in the same package.
- Jonathan M Davis

These things comes up quite often: "shared is broken", "alias this is
broken", "package is broken", "scope is broken", "X is broken", "Y is
broken".
I believe this should be addressed in a very visible place to avoid
getting the impression that everything in D is "horribly broken".
The frontpage on the wiki could list incomplete features that you should
steer away to avoid hitting compiler bugs.
http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel#DMDCompilerStability
includes some of these issues, but it's hidden and doesn't show it in an
easy to grasp way for beginners.
It shouldn't be necessary to be following the development of D intimately
to know what features are implemented and considered production ready.
I think it gives a better impression to list the features still under
development than to let (new) users hit bugs within the first hours (read:
minutes) of hacking around.

I think I have a misunderstanding of how 'package' is suppose to work.
How I understand it, you will give access to the directory, unlike
private which will hide it outside of the same file.
This problem comes up since a struct is declared inside a package (and
even instantiated), however access to it is lacking. Here's my two
sources. Using DMD v2.059 (Win32)
--- t1.d
module t1;
import std.stdio;
class Priv { //private by default
int i;
struct S {
int s_i;
}

So it is... That explains why the tests came out backwards on the
results.... Wasn't it private by default in C++? I honestly don't know
sometimes.

I think so. If you use "class" it's private by default. If use "struct"
it's public by default. That's basically the only difference between
"class" and "struct" in C++, if I recall correctly.
--
/Jacob Carlborg