Version 0.5.0.1 .

svn merge -c 21817 https://dart.googlecode.com/svn/branches/bleeding_edge trunk

git-svn-id: http://dart.googlecode.com/svn/trunk@21823 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/runtime/lib/array_patch.dart b/runtime/lib/array_patch.dart
index 6a2ba29..386e8ac 100644
--- a/runtime/lib/array_patch.dart
+++ b/runtime/lib/array_patch.dart
@@ -32,44 +32,6 @@
     return result;
   }
 
-  /* patch */ factory List.from(Iterable other, { bool growable: true }) {
-    // TODO(iposva): Avoid the iterators for the known lists and do the copy in
-    // the VM directly.
-    var len = null;
-    // TODO(iposva): Remove this dance once dart2js does not implement
-    // an Iterable that throws on calling length.
-    try {
-      len = other.length;
-    } catch (e) {
-      // Ensure that we try again below. 
-      len = null;
-    }
-    if (len == null) {
-      len = 0;
-      try {
-        var iter = other.iterator;
-        while (iter.moveNext()) {
-          len++;
-        }
-      } catch (e) {
-        rethrow;  // Giving up and throwing to the caller.
-      }
-    }
-    var result;
-    if (growable) {
-      result = new _GrowableObjectArray<E>.withCapacity(len);
-      result.length = len;
-    } else {
-      result = new _ObjectArray<E>(len);
-    }
-    var iter = other.iterator;
-    for (var i = 0; i < len; i++) {
-      iter.moveNext();
-      result[i] = iter.current;
-    }
-    return result;
-  }
-
   // Factory constructing a mutable List from a parser generated List literal.
   // [elements] contains elements that are already type checked.
   factory List._fromLiteral(List elements) {
diff --git a/tools/VERSION b/tools/VERSION
index e1d42d1..065d490 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -1,4 +1,4 @@
 MAJOR 0
 MINOR 5
 BUILD 0
-PATCH 0
+PATCH 1