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;
+}