Index: wp-includes/capabilities.php
===================================================================
--- wp-includes/capabilities.php	(revision 21531)
+++ wp-includes/capabilities.php	(working copy)
@@ -585,7 +585,33 @@
 
 		return metadata_exists( 'user', $this->ID, $key );
 	}
+	
+	/**
+	 * Magic method for checking whether a certain custom field has a value
+	 *
+	 * @since 3.5.0
+	 */
+	function __hasval( $key ) {
+		if ( 'id' == $key ) {
+			_deprecated_argument( 'WP_User->id', '2.1', __( 'Use <code>WP_User->ID</code> instead.' ) );
+			$key = 'ID';
+		}
 
+		if ( isset( $this->data->$key ) && ! empty( $this->data->$key ) )
+			return true;
+
+		if ( isset( self::$back_compat_keys[ $key ] ) )
+			$key = self::$back_compat_keys[ $key ];
+
+		if ( $this->__isset( $key ) )
+			$value = $this->__get( $key );
+		
+		if ( $value )
+			return $value;
+		else
+			return false;
+	}
+
 	/**
 	 * Magic method for accessing custom fields
 	 *
@@ -664,6 +690,19 @@
 	function has_prop( $key ) {
 		return $this->__isset( $key );
 	}
+	
+	/**
+	 * Determine whether a property or meta key has a value
+	 *
+	 * Consults the users and usermeta tables.
+	 *
+	 * @since 3.5.0
+	 *
+	 * @param string $key Property
+	 */
+	function has_prop_val( $key ) {
+		return $this->__hasval( $key );
+	}
 
 	/*
 	 * Return an array representation.
