Index: /trunk/nv/position.hh
===================================================================
--- /trunk/nv/position.hh	(revision 111)
+++ /trunk/nv/position.hh	(revision 112)
@@ -63,4 +63,14 @@
 		 */
 		rectangle( position ul, value_type width, value_type height ) : ul(ul), lr(ul + position(width,height)) {}
+        
+        /**
+         * Explicit Copy constructor
+         */
+        rectangle( const rectangle& r ) : ul( r.ul ), lr( r.lr ) {}
+        
+        /**
+         * Explicit Copy constructor
+         */
+        rectangle& operator= (const rectangle& r) { ul = r.ul; lr = r.lr; return *this; }
 		
 		/**
@@ -273,3 +283,3 @@
 }
 
-#endif NV_POSITION_HH
+#endif // NV_POSITION_HH
Index: /trunk/nv/types.hh
===================================================================
--- /trunk/nv/types.hh	(revision 111)
+++ /trunk/nv/types.hh	(revision 112)
@@ -214,5 +214,5 @@
 		: name(name)
 			, type_name()
-			, type_inf( &typeid( std::remove_pointer<TFIELD>::type ) )
+			, type_inf( &typeid( typename std::remove_pointer<TFIELD>::type ) )
 			, type( nullptr )
 			, flags( 0 )
