diff dmd/AliasDeclaration.d @ 98:5c859d5fbe27

and more
author Trass3r
date Tue, 31 Aug 2010 03:53:49 +0200
parents 43073c7c7769
children e28b18c23469
line wrap: on
line diff
--- a/dmd/AliasDeclaration.d	Tue Aug 31 02:12:15 2010 +0200
+++ b/dmd/AliasDeclaration.d	Tue Aug 31 03:53:49 2010 +0200
@@ -126,17 +126,17 @@
 		if (s && ((s.getType() && type.equals(s.getType())) || s.isEnumMember()))
 			goto L2;			// it's a symbolic alias
 
-		///version (DMDV2) {
-		if (storage_class & STC.STCref)
+///version (DMDV2) {
+		if (storage_class & (STC.STCref | STCnothrow | STCpure))
 		{	// For 'ref' to be attached to function types, and picked
 			// up by Type.resolve(), it has to go into sc.
 			sc = sc.push();
-			sc.stc |= STC.STCref;
+			sc.stc |= storage_class & (STCref | STCnothrow | STCpure);
 			type.resolve(loc, sc, &e, &t, &s);
 			sc = sc.pop();
 		}
 		else
-			///	#endif
+///	#endif
 			type.resolve(loc, sc, &e, &t, &s);
 		if (s)
 		{