Mercurial > projects > dstress
changeset 506:9a1ad98b24da
added illegal range and illegal type checks for Enum
author | thomask |
---|---|
date | Tue, 10 May 2005 23:43:19 +0000 |
parents | b801cf45a560 |
children | efd4ec3d1235 |
files | nocompile/enum_26_A.d nocompile/enum_26_B.d nocompile/enum_27_A.d nocompile/enum_27_B.d nocompile/enum_28_A.d nocompile/enum_28_B.d nocompile/enum_29_A.d nocompile/enum_29_B.d nocompile/enum_30_A.d nocompile/enum_30_B.d nocompile/enum_31_A.d nocompile/enum_31_B.d nocompile/enum_32_A.d nocompile/enum_32_B.d nocompile/enum_32_C.d nocompile/enum_33_A.d nocompile/enum_33_B.d nocompile/enum_33_C.d nocompile/enum_34_A.d nocompile/enum_34_B.d nocompile/enum_34_C.d nocompile/enum_35.d nocompile/enum_36.d nocompile/enum_37.d run/enum_38.d |
diffstat | 25 files changed, 295 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_26_A.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_26_A.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_26_A; + +enum Enum : byte{ + A = 128 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_26_B.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_26_B.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_26_B; + +enum Enum : byte{ + A = -129 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_27_A.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_27_A.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_27_A; + +enum Enum : ubyte{ + A = -1 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_27_B.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_27_B.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_27_B; + +enum Enum : ubyte{ + A = 256 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_28_A.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_28_A.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_28_A; + +enum Enum : short{ + A = 32768 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_28_B.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_28_B.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_28_B; + +enum Enum : short{ + A = -32769 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_29_A.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_29_A.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_29_A; + +enum Enum : ushort{ + A = 65536 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_29_B.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_29_B.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_29_B; + +enum Enum : ushort{ + A = -1 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_30_A.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_30_A.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_30_A; + +enum Enum : int { + A = 2147483648L +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_30_B.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_30_B.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_30_B; + +enum Enum : int { + A = -2147483649L +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_31_A.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_31_A.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_31_A; + +enum Enum : bit { + A = 2 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_31_B.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_31_B.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 10 + +module dstress.nocompile.enum_31_B; + +enum Enum : bit { + A = -1 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_32_A.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_32_A.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_32_A; + +enum Enum : float { + A = 1.0f +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_32_B.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_32_B.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_32_B; + +enum Enum : ifloat { + A = 1.0fi +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_32_C.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_32_C.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_32_C; + +enum Enum : cfloat { + A = 1.0fi +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_33_A.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_33_A.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_33_A; + +enum Enum : double { + A = 1.0 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_33_B.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_33_B.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_33_B; + +enum Enum : idouble { + A = 1.0i +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_33_C.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_33_C.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_33_C; + +enum Enum : cdouble { + A = 1.0i +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_34_A.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_34_A.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_34_A; + +enum Enum : real { + A = 1.0 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_34_B.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_34_B.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_34_B; + +enum Enum : ireal { + A = 1.0Li +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_34_C.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_34_C.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_34_C; + +enum Enum : creal { + A = 1.0Li +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_35.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,11 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_35.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 9 + +module dstress.nocompile.enum_35; + +enum Enum : Object { + A = new Object() +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_36.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,16 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_36.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 14 + +module dstress.nocompile.enum_36; + +struct S{ +} + +const S s; + +enum Enum : S { + A = s +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/enum_37.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,17 @@ +// $HeadURL: http://dstress.kuehne.cn/nocompile/enum_37.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +// __DSTRESS_ELINE__ 16 + +module dstress.nocompile.enum_37; + +enum E{ + A = 1 +} + +E e; + +enum Enum : E { + B = e +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/enum_38.d Tue May 10 23:43:19 2005 +0000 @@ -0,0 +1,20 @@ +// $HeadURL: http://dstress.kuehne.cn/run/enum_38.d $ +// $Date: 2005-05-03 22:02:05 +0200 (Di, 03 Mai 2005) $ +// $Author: thomask $ + +module dstress.run.enum_38; + +enum E{ + A = 1 +} + +const E e; + +enum Enum : E { + B = e +} + +int main(){ + assert(Enum.B==E.A); + return 0; +}