digitalmars.D - isize_t?
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (7/7) Jan 21 2012 Hi,
- Timon Gehr (2/7) Jan 21 2012 .object.ptrdiff_t
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (9/20) Jan 21 2012 While it does what I want, it's not exactly ideal. I just want a
- Andrej Mitrovic (1/1) Jan 21 2012 There's sizediff_t which is the same thing.
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (8/9) Jan 21 2012 I still think this type name has some specific notion to it. "isize_t"
- Nick Sabalausky (7/14) Jan 21 2012 The names of "ptrdiff_t" and "size_t" *are* terrible, but that's what we...
- bearophile (4/4) Jan 21 2012 There are some more ints here, ints for everyone, for people with long o...
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (4/8) Jan 21 2012 Hm, might just end up using those.
- Andrej Mitrovic (4/4) Jan 21 2012 This has been discussed before on this NG (I don't have the links to
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (4/8) Jan 21 2012 Le sigh. Consistent, standardized names would have been really nice.
- Jonathan M Davis (19/26) Jan 21 2012 our
- Nick Sabalausky (4/16) Jan 21 2012 It wouldn't have to change, just have a better name added. No reason
- Jonathan M Davis (7/9) Jan 21 2012 Except that we're generally against keeping around alias cruft like that...
- Nick Sabalausky (4/14) Jan 21 2012 How about: "Because the existing ones blow and removing them outright is...
- Walter Bright (2/10) Jan 21 2012 I agree with Jonathan. Two names for the same thing just blows.
- Nick Sabalausky (8/22) Jan 21 2012 Sure it blows, but not as much as sticking to god-awful names like ptrdi...
- Manu (4/29) Jan 22 2012 Also size_t and ptrdiff_t are not necessarily the same size.
- Nick Sabalausky (4/5) Jan 22 2012 Hah! That's going to be LOADS of fun when I encounter it!!
- Sean Kelly (4/7) Jan 23 2012 What are they?
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (6/24) Jan 22 2012 I wasn't suggesting changing size_t, but rather ptrdiff_t which is much
- Jonathan M Davis (6/9) Jan 22 2012 What you want is probably ssize_t. It's only defined for Posix at the m=
- Jonathan M Davis (7/14) Jan 22 2012 moment
- Andrei Alexandrescu (3/6) Jan 22 2012 Check .object.sizediff_t.
- Manu (9/20) Jan 21 2012 I don't necessarily think ptrdiff_t and signed size_t are the same thing...
- Don Clugston (8/27) Jan 23 2012 Yes. Maybe ptrdiff_t is not even the size of a pointer. Do we guarantee
- Manu (11/44) Jan 23 2012 e
- equinox atw.hu (13/13) Jan 21 2012 Hi,
- Jonathan M Davis (7/31) Jan 21 2012 No. imports are private by default There's no point in marking them as
- equinox atw.hu (2/12) Jan 21 2012 It makes sense. But did it always work like this?
- Jonathan M Davis (5/21) Jan 21 2012 It has for several years at minimum. But I don't know how it works in D1...
- Nick Sabalausky (5/27) Jan 21 2012 I have a vague recollection of it being the other way around at one poin...
- Don Clugston (5/34) Jan 23 2012 Version D 0.163 Jul 18, 2006
- Manu (3/45) Jan 25 2012 What is a static import? It sounds like something I might have needed la...
- Timon Gehr (8/49) Jan 25 2012 A static import is an import that makes the module visible but does not
- Trass3r (1/1) Jan 21 2012 sizediff_t or ptrdiff_t I think
Hi, I needed a native-size signed integer type this other day and was just kinda wondering: Why don't we have this in object.di? isize_t or whatever? (I have a feeling this has been asked before, but my search-fu is weak today seemingly...) -- - Alex
Jan 21 2012
On 01/21/2012 09:06 PM, Alex Rønne Petersen wrote:Hi, I needed a native-size signed integer type this other day and was just kinda wondering: Why don't we have this in object.di? isize_t or whatever? (I have a feeling this has been asked before, but my search-fu is weak today seemingly...).object.ptrdiff_t
Jan 21 2012
On 21-01-2012 21:18, Timon Gehr wrote:On 01/21/2012 09:06 PM, Alex Rønne Petersen wrote:While it does what I want, it's not exactly ideal. I just want a general-purpose native-size signed integer. ptrdiff_t sounds like it must have something to do with pointers, which is not what I want my API to look like. I could alias ptrdiff_t to isize_t, but then that defeats the purpose right there. Do you think that it would be a big deal to add an alias ptrdiff_t isize_t; to object.di? -- - AlexHi, I needed a native-size signed integer type this other day and was just kinda wondering: Why don't we have this in object.di? isize_t or whatever? (I have a feeling this has been asked before, but my search-fu is weak today seemingly...).object.ptrdiff_t
Jan 21 2012
There's sizediff_t which is the same thing.
Jan 21 2012
On 21-01-2012 22:46, Andrej Mitrovic wrote:There's sizediff_t which is the same thing.I still think this type name has some specific notion to it. "isize_t" alone just means "a signed integer the size of a pointer" (same for size_t, minus the signed), while sizediff_t means something along the lines of "an integer the size of the result of an arithmetic operation on a pointer". -- - Alex
Jan 21 2012
"Alex Rønne Petersen" <xtzgzorex gmail.com> wrote in message news:jffbuc$2b37$1 digitalmars.com...On 21-01-2012 22:46, Andrej Mitrovic wrote:The names of "ptrdiff_t" and "size_t" *are* terrible, but that's what we have. There was a big thread not too long ago about getting better names, even just as standard alternatives, but the powers that be just weren't interested. So if we want sensible names for them, we have to make up non-standardized aliases in each individual project. :/There's sizediff_t which is the same thing.I still think this type name has some specific notion to it. "isize_t" alone just means "a signed integer the size of a pointer" (same for size_t, minus the signed), while sizediff_t means something along the lines of "an integer the size of the result of an arithmetic operation on a pointer".
Jan 21 2012
There are some more ints here, ints for everyone, for people with long or short feet or no feet: http://www.dlang.org/phobos/std_stdint.html Bye, bearophile
Jan 21 2012
On 21-01-2012 22:59, bearophile wrote:There are some more ints here, ints for everyone, for people with long or short feet or no feet: http://www.dlang.org/phobos/std_stdint.html Bye, bearophileHm, might just end up using those. -- - Alex
Jan 21 2012
This has been discussed before on this NG (I don't have the links to the discussions, sorry!) but additional aliases will not be added. You'll have to use what you have or introduce your own aliases in your code.
Jan 21 2012
On 21-01-2012 23:01, Andrej Mitrovic wrote:This has been discussed before on this NG (I don't have the links to the discussions, sorry!) but additional aliases will not be added. You'll have to use what you have or introduce your own aliases in your code.Le sigh. Consistent, standardized names would have been really nice. -- - Alex
Jan 21 2012
On Saturday, January 21, 2012 23:07:17 Alex R=C3=B8nne Petersen wrote:On 21-01-2012 23:01, Andrej Mitrovic wrote:oThis has been discussed before on this NG (I don't have the links t=ourthe discussions, sorry!) but additional aliases will not be added. You'll have to use what you have or introduce your own aliases in y=size_t comes from C/C++, and is exactly the same as it is in C++. In D,= you=20 know that if a type ends in _t, then its size can vary depending on the= =20 machine that you compile on, unlike all of the other primitive types. Maybe another name would have been better, but it works, and I think th= at most=20 people who have been C/C++ programmers just don't care. The know size_t= , and=20 it works. At this point, given how much code would break from changing it, you wo= uld=20 have to demonstrate that whatever name you came up with was really wort= h that=20 cost, I realyl don't think that that's going to happen. - Jonathan M Daviscode.=20 Le sigh. Consistent, standardized names would have been really nice.
Jan 21 2012
"Jonathan M Davis" <jmdavisProg gmx.com> wrote in message news:mailman.671.1327197702.16222.digitalmars-d puremagic.com...size_t comes from C/C++, and is exactly the same as it is in C++. In D, you know that if a type ends in _t, then its size can vary depending on the machine that you compile on, unlike all of the other primitive types. Maybe another name would have been better, but it works, and I think that most people who have been C/C++ programmers just don't care. The know size_t, and it works. At this point, given how much code would break from changing it, you would have to demonstrate that whatever name you came up with was really worth that cost, I realyl don't think that that's going to happen.It wouldn't have to change, just have a better name added. No reason 'size_t', et al, couldn't still be kept for compatibility.
Jan 21 2012
On Saturday, January 21, 2012 21:54:37 Nick Sabalausky wrote:It wouldn't have to change, just have a better name added. No reason 'size_t', et al, couldn't still be kept for compatibility.Except that we're generally against keeping around alias cruft like that except temporarily as part of a deprecation path, so that doesn't usually fly. Certainly, it means that if you want that to happen, you'd then have to be able to come up with a name and arguments for it which justified having two standard aliases for the same thing. - Jonathan M Davis
Jan 21 2012
"Jonathan M Davis" <jmdavisProg gmx.com> wrote in message news:mailman.674.1327201445.16222.digitalmars-d puremagic.com...On Saturday, January 21, 2012 21:54:37 Nick Sabalausky wrote:How about: "Because the existing ones blow and removing them outright is never gonna happen"? ;)It wouldn't have to change, just have a better name added. No reason 'size_t', et al, couldn't still be kept for compatibility.Except that we're generally against keeping around alias cruft like that except temporarily as part of a deprecation path, so that doesn't usually fly. Certainly, it means that if you want that to happen, you'd then have to be able to come up with a name and arguments for it which justified having two standard aliases for the same thing.
Jan 21 2012
On 1/21/2012 7:03 PM, Jonathan M Davis wrote:On Saturday, January 21, 2012 21:54:37 Nick Sabalausky wrote:I agree with Jonathan. Two names for the same thing just blows.It wouldn't have to change, just have a better name added. No reason 'size_t', et al, couldn't still be kept for compatibility.Except that we're generally against keeping around alias cruft like that except temporarily as part of a deprecation path, so that doesn't usually fly. Certainly, it means that if you want that to happen, you'd then have to be able to come up with a name and arguments for it which justified having two standard aliases for the same thing.
Jan 21 2012
"Walter Bright" <newshound2 digitalmars.com> wrote in message news:jfg0p4$i1j$1 digitalmars.com...On 1/21/2012 7:03 PM, Jonathan M Davis wrote:Sure it blows, but not as much as sticking to god-awful names like ptrdiff_t and size_t. And yea, you could label it a bikeshedding issue, but really...There's questionable bikeshed colors, and then there's "lime green with orange stripes and pink polka dots, all largely obscured by a giant shit stain and three rotting rat carcasses."On Saturday, January 21, 2012 21:54:37 Nick Sabalausky wrote:I agree with Jonathan. Two names for the same thing just blows.It wouldn't have to change, just have a better name added. No reason 'size_t', et al, couldn't still be kept for compatibility.Except that we're generally against keeping around alias cruft like that except temporarily as part of a deprecation path, so that doesn't usually fly. Certainly, it means that if you want that to happen, you'd then have to be able to come up with a name and arguments for it which justified having two standard aliases for the same thing.
Jan 21 2012
On 22 January 2012 05:51, Nick Sabalausky <a a.a> wrote:"Walter Bright" <newshound2 digitalmars.com> wrote in message news:jfg0p4$i1j$1 digitalmars.com...Also size_t and ptrdiff_t are not necessarily the same size. Is there a signed size_t type? Is there an unsigned ptrdiff_t type? What are they?On 1/21/2012 7:03 PM, Jonathan M Davis wrote:usuallyOn Saturday, January 21, 2012 21:54:37 Nick Sabalausky wrote:It wouldn't have to change, just have a better name added. No reason 'size_t', et al, couldn't still be kept for compatibility.Except that we're generally against keeping around alias cruft like that except temporarily as part of a deprecation path, so that doesn'tSure it blows, but not as much as sticking to god-awful names like ptrdiff_t and size_t. And yea, you could label it a bikeshedding issue, but really...There's questionable bikeshed colors, and then there's "lime green with orange stripes and pink polka dots, all largely obscured by a giant shit stain and three rotting rat carcasses."fly. Certainly, it means that if you want that to happen, you'd then have to be able to come up with a name and arguments for it which justified having two standard aliases for the same thing.I agree with Jonathan. Two names for the same thing just blows.
Jan 22 2012
"Manu" <turkeyman gmail.com> wrote in message news:mailman.688.1327228280.16222.digitalmars-d puremagic.com...Also size_t and ptrdiff_t are not necessarily the same size.Hah! That's going to be LOADS of fun when I encounter it!! Ugh...
Jan 22 2012
On Jan 22, 2012, at 2:30 AM, Manu wrote:=20 Also size_t and ptrdiff_t are not necessarily the same size. Is there a signed size_t type? Is there an unsigned ptrdiff_t type? =What are they? There's ssize_t in the Posix world. ptrdiff_t is the closes you can get = in C99 though, I believe.
Jan 23 2012
On 22-01-2012 03:00, Jonathan M Davis wrote:On Saturday, January 21, 2012 23:07:17 Alex Rønne Petersen wrote:I wasn't suggesting changing size_t, but rather ptrdiff_t which is much less commonly used. (Or alternatively, just adding a ptrdiff_t -> isize_t alias.) -- - AlexOn 21-01-2012 23:01, Andrej Mitrovic wrote:size_t comes from C/C++, and is exactly the same as it is in C++. In D, you know that if a type ends in _t, then its size can vary depending on the machine that you compile on, unlike all of the other primitive types. Maybe another name would have been better, but it works, and I think that most people who have been C/C++ programmers just don't care. The know size_t, and it works. At this point, given how much code would break from changing it, you would have to demonstrate that whatever name you came up with was really worth that cost, I realyl don't think that that's going to happen. - Jonathan M DavisThis has been discussed before on this NG (I don't have the links to the discussions, sorry!) but additional aliases will not be added. You'll have to use what you have or introduce your own aliases in your code.Le sigh. Consistent, standardized names would have been really nice.
Jan 22 2012
On Sunday, January 22, 2012 12:25:25 Alex R=C3=B8nne Petersen wrote:I wasn't suggesting changing size_t, but rather ptrdiff_t which is mu=chless commonly used. (Or alternatively, just adding a ptrdiff_t -> isize_t alias.)What you want is probably ssize_t. It's only defined for Posix at the m= oment=20 though (core.sys.posix.sys.types). - Jonathan M Davis
Jan 22 2012
On Sunday, January 22, 2012 03:41:30 Jonathan M Davis wrote:On Sunday, January 22, 2012 12:25:25 Alex R=C3=B8nne Petersen wrote:muchI wasn't suggesting changing size_t, but rather ptrdiff_t which is =momentless commonly used. (Or alternatively, just adding a ptrdiff_t -> isize_t alias.)=20 What you want is probably ssize_t. It's only defined for Posix at the=though (core.sys.posix.sys.types).Actually, a better idea would be to just use c_long (which is what ssiz= e_t is=20 anyway), which is in core.stdc.config. It's available on all OSes. - Jonathan M Davis
Jan 22 2012
On 1/22/12 5:25 AM, Alex Rønne Petersen wrote:I wasn't suggesting changing size_t, but rather ptrdiff_t which is much less commonly used. (Or alternatively, just adding a ptrdiff_t -> isize_t alias.)Check .object.sizediff_t. Andrei
Jan 22 2012
On 21 January 2012 22:18, Timon Gehr <timon.gehr gmx.ch> wrote:On 01/21/2012 09:06 PM, Alex R=C3=B8nne Petersen wrote:r?Hi, I needed a native-size signed integer type this other day and was just kinda wondering: Why don't we have this in object.di? isize_t or whateve=I don't necessarily think ptrdiff_t and signed size_t are the same thing. Surely size_t should represent the systems native word width? ptrdiff_t represents the size of a pointer, which is NOT necessarily the same as the native word width. There are quite a few 64 bit systems that retain 32bit pointers. I would thing ssize_t is safer than using ptrdiff_t, and certainly, both should exist.(I have a feeling this has been asked before, but my search-fu is weak today seemingly...).object.ptrdiff_t
Jan 21 2012
On 22/01/12 00:15, Manu wrote:On 21 January 2012 22:18, Timon Gehr <timon.gehr gmx.ch <mailto:timon.gehr gmx.ch>> wrote: On 01/21/2012 09:06 PM, Alex Rønne Petersen wrote: Hi, I needed a native-size signed integer type this other day and was just kinda wondering: Why don't we have this in object.di? isize_t or whatever? (I have a feeling this has been asked before, but my search-fu is weak today seemingly...) .object.ptrdiff_t I don't necessarily think ptrdiff_t and signed size_t are the same thing. Surely size_t should represent the systems native word width? ptrdiff_t represents the size of a pointer, which is NOT necessarily the same as the native word width.Yes. Maybe ptrdiff_t is not even the size of a pointer. Do we guarantee a flat address space? I mean, back in the old 16 bit segmented architecture days, you could have two 32 bit pointers p and q, and have the difference between them being 16 bits (or an error, if the segments were different). Maybe similar oddities are possible on the less traditional architectures (Cell, maybe?)There are quite a few 64 bit systems that retain 32bit pointers. I would thing ssize_t is safer than using ptrdiff_t, and certainly, both should exist.
Jan 23 2012
On 23 January 2012 12:55, Don Clugston <dac nospam.com> wrote:On 22/01/12 00:15, Manu wrote:.On 21 January 2012 22:18, Timon Gehr <timon.gehr gmx.ch <mailto:timon.gehr gmx.ch>> wrote: On 01/21/2012 09:06 PM, Alex R=C3=B8nne Petersen wrote: Hi, I needed a native-size signed integer type this other day and was just kinda wondering: Why don't we have this in object.di? isize_t or whatever? (I have a feeling this has been asked before, but my search-fu is weak today seemingly...) .object.ptrdiff_t I don't necessarily think ptrdiff_t and signed size_t are the same thing=eSurely size_t should represent the systems native word width? ptrdiff_t represents the size of a pointer, which is NOT necessarily the same as the native word width.Yes. Maybe ptrdiff_t is not even the size of a pointer. Do we guarantee a flat address space? I mean, back in the old 16 bit segmented architecture days, you could hav=two 32 bit pointers p and q, and have the difference between them being 1=6bits (or an error, if the segments were different). Maybe similar oddities are possible on the less traditional architectures (Cell, maybe?)Cell is too weird to worry about (just treat it as 32bit), but it's fairly common to have embedded systems with 64bit processors which retain 32bit pointers because the memory map is fixed, and there's no point. All games consoles, perhaps even phones with the new 64bit ARM processors. Phones don't need >4gb of ram ;) .. Should size_t on this device be 32 or 64bits? The pointers and OS will still be 32bits, I don't see them releasing an Android-64 any time soon.
Jan 23 2012
Hi, I have an import related questoin.. I have this: module A; const c1=4; module B; import A; module C; private import B; Should not module C see c1? Because it cannot see it. Even if the import is not private. Regards Marton Papp
Jan 21 2012
On Saturday, January 21, 2012 21:22:22 equinox atw.hu wrote:Hi, I have an import related questoin.. I have this: module A; const c1=4; module B; import A; module C; private import B; Should not module C see c1? Because it cannot see it. Even if the import is not private.No. imports are private by default There's no point in marking them as private. If you want module C to see what module B is importing, then module B needs to import it publicly. e.g. module B; public import A; - Jonathan M Davis
Jan 21 2012
It makes sense. But did it always work like this? Marton PappShould not module C see c1? Because it cannot see it. Even if the import is not private.No. imports are private by default There's no point in marking them as private. If you want module C to see what module B is importing, then module B needs to import it publicly. e.g. module B; public import A; - Jonathan M Davis
Jan 21 2012
On Saturday, January 21, 2012 22:28:20 equinox atw.hu wrote:It has for several years at minimum. But I don't know how it works in D1, and it may have worked differently in the very beginning of D2. I don't know. But as far as I know, it's always worked this way. - Jonathan m DavisIt makes sense. But did it always work like this?Should not module C see c1? Because it cannot see it. Even if the import is not private.No. imports are private by default There's no point in marking them as private. If you want module C to see what module B is importing, then module B needs to import it publicly. e.g. module B; public import A; - Jonathan M Davis
Jan 21 2012
"Jonathan M Davis" <jmdavisProg gmx.com> wrote in message news:mailman.670.1327197408.16222.digitalmars-d puremagic.com...On Saturday, January 21, 2012 22:28:20 equinox atw.hu wrote:I have a vague recollection of it being the other way around at one point, but that probably would have been pre-1.0. *Definitely* pre-2.0. (Or I might just be thinking of something else...)It has for several years at minimum. But I don't know how it works in D1, and it may have worked differently in the very beginning of D2. I don't know. But as far as I know, it's always worked this way.It makes sense. But did it always work like this?Should not module C see c1? Because it cannot see it. Even if the import is not private.No. imports are private by default There's no point in marking them as private. If you want module C to see what module B is importing, then module B needs to import it publicly. e.g. module B; public import A; - Jonathan M Davis
Jan 21 2012
On 22/01/12 03:56, Nick Sabalausky wrote:"Jonathan M Davis"<jmdavisProg gmx.com> wrote in message news:mailman.670.1327197408.16222.digitalmars-d puremagic.com...Version D 0.163 Jul 18, 2006 New/Changed Features Imports now default to private instead of public. Breaks existing code. Added static imports, renamed imports, and selective importing.On Saturday, January 21, 2012 22:28:20 equinox atw.hu wrote:I have a vague recollection of it being the other way around at one point, but that probably would have been pre-1.0. *Definitely* pre-2.0. (Or I might just be thinking of something else...)It has for several years at minimum. But I don't know how it works in D1, and it may have worked differently in the very beginning of D2. I don't know. But as far as I know, it's always worked this way.It makes sense. But did it always work like this?Should not module C see c1? Because it cannot see it. Even if the import is not private.No. imports are private by default There's no point in marking them as private. If you want module C to see what module B is importing, then module B needs to import it publicly. e.g. module B; public import A; - Jonathan M Davis
Jan 23 2012
On 23 January 2012 12:47, Don Clugston <dac nospam.com> wrote:On 22/01/12 03:56, Nick Sabalausky wrote:What is a static import? It sounds like something I might have needed last night..."Jonathan M Davis"<jmdavisProg gmx.com> wrote in message news:mailman.670.1327197408.**16222.digitalmars-d puremagic.**com...Version D 0.163 Jul 18, 2006 New/Changed Features Imports now default to private instead of public. Breaks existing code. Added static imports, renamed imports, and selective importingOn Saturday, January 21, 2012 22:28:20 equinox atw.hu wrote:I have a vague recollection of it being the other way around at one point, but that probably would have been pre-1.0. *Definitely* pre-2.0. (Or I might just be thinking of something else...)Should not module C see c1? Because it cannot see it. Even if theIt has for several years at minimum. But I don't know how it works in D1, and it may have worked differently in the very beginning of D2. I don't know. But as far as I know, it's always worked this way.It makes sense. But did it always work like this?import is not private.No. imports are private by default There's no point in marking them as private. If you want module C to see what module B is importing, then module B needs to import it publicly. e.g. module B; public import A; - Jonathan M Davis
Jan 25 2012
On 01/25/2012 01:33 PM, Manu wrote:On 23 January 2012 12:47, Don Clugston <dac nospam.com <mailto:dac nospam.com>> wrote: On 22/01/12 03:56, Nick Sabalausky wrote: "Jonathan M Davis"<jmdavisProg gmx.com <mailto:jmdavisProg gmx.com>> wrote in message news:mailman.670.1327197408.__16222.digitalmars-d puremagic.__com... On Saturday, January 21, 2012 22:28:20 equinox atw.hu <mailto:equinox atw.hu> wrote: Should not module C see c1? Because it cannot see it. Even if the import is not private. No. imports are private by default There's no point in marking them as private. If you want module C to see what module B is importing, then module B needs to import it publicly. e.g. module B; public import A; - Jonathan M Davis It makes sense. But did it always work like this? It has for several years at minimum. But I don't know how it works in D1, and it may have worked differently in the very beginning of D2. I don't know. But as far as I know, it's always worked this way. I have a vague recollection of it being the other way around at one point, but that probably would have been pre-1.0. *Definitely* pre-2.0. (Or I might just be thinking of something else...) Version D 0.163 Jul 18, 2006 New/Changed Features Imports now default to private instead of public. Breaks existing code. Added static imports, renamed imports, and selective importing What is a static import? It sounds like something I might have needed last night...A static import is an import that makes the module visible but does not import any of it's members into the current scope: static import std.stdio; void main(){ // writeln("hello, world!"); // undefined symbol std.stdio.writeln("hello, world!"); // ok }
Jan 25 2012