www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - imports other than at the top

reply Bill Baxter <dnewsgroup billbaxter.com> writes:
I tried sticking an import in a unittest {} block and it caused an error.

I put it there, naturally, because I only needed that particular module 
for the unittests and the whole rest of the file didn't really need to 
see those symbols.  If you're not doing unittests there's no reason for 
the import overhead, and no reason to burden the user with making sure 
that particular testing module is present.

Scoped importing like that just not supported at this time?

--bb
Oct 24 2006
parent reply Lionello Lunesu <lio lunesu.remove.com> writes:
Bill Baxter wrote:
 I tried sticking an import in a unittest {} block and it caused an error.
 
 I put it there, naturally, because I only needed that particular module 
 for the unittests and the whole rest of the file didn't really need to 
 see those symbols.  If you're not doing unittests there's no reason for 
 the import overhead, and no reason to burden the user with making sure 
 that particular testing module is present.
 
 Scoped importing like that just not supported at this time?
 
 --bb

I've noticed that imports can be placed in a version { } block, and I'd assume inside a debug { } too.. But inside of unittest { } there's actual code being executed, so it's probably a different kind of scope. L.
Oct 25 2006
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Lionello Lunesu wrote:
 Bill Baxter wrote:
 I tried sticking an import in a unittest {} block and it caused an error.

 I put it there, naturally, because I only needed that particular 
 module for the unittests and the whole rest of the file didn't really 
 need to see those symbols.  If you're not doing unittests there's no 
 reason for the import overhead, and no reason to burden the user with 
 making sure that particular testing module is present.

 Scoped importing like that just not supported at this time?

 --bb

I've noticed that imports can be placed in a version { } block, and I'd assume inside a debug { } too.. But inside of unittest { } there's actual code being executed, so it's probably a different kind of scope.

Ok, well that's good at least. I wonder if there is (or could be) a version(unittest) automatically set when -unittest is used. --bb
Oct 25 2006
parent reply Thomas Kuehne <thomas-dloop kuehne.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Bill Baxter schrieb am 2006-10-25:
 Lionello Lunesu wrote:
 Bill Baxter wrote:
 I tried sticking an import in a unittest {} block and it caused an error.

 I put it there, naturally, because I only needed that particular 
 module for the unittests and the whole rest of the file didn't really 
 need to see those symbols.  If you're not doing unittests there's no 
 reason for the import overhead, and no reason to burden the user with 
 making sure that particular testing module is present.

 Scoped importing like that just not supported at this time?

 --bb

I've noticed that imports can be placed in a version { } block, and I'd assume inside a debug { } too.. But inside of unittest { } there's actual code being executed, so it's probably a different kind of scope.

Ok, well that's good at least. I wonder if there is (or could be) a version(unittest) automatically set when -unittest is used.

http://d.puremagic.com/issues/show_bug.cgi?id=458 Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFFP02aLK5blCcjpWoRAqHgAKCnpwQBdeO6foA/0gddXVw+hF1p/wCeLnRQ gh3CWZJdc6gHhcV10aPcy7Q= =ZDwC -----END PGP SIGNATURE-----
Oct 25 2006
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Thomas Kuehne wrote:

 I've noticed that imports can be placed in a version { } block, and I'd 
 assume inside a debug { } too.. But inside of unittest { } there's 
 actual code being executed, so it's probably a different kind of scope.

version(unittest) automatically set when -unittest is used.

http://d.puremagic.com/issues/show_bug.cgi?id=458 Thomas

That was fast! Thanks, Thomas. --bb
Oct 25 2006