Merge pull request #13945 from airspeedswift/array-protocol

diff --git a/stdlib/public/core/ArrayType.swift b/stdlib/public/core/ArrayType.swift
index 40c42d6..9563de0 100644
--- a/stdlib/public/core/ArrayType.swift
+++ b/stdlib/public/core/ArrayType.swift
@@ -11,7 +11,7 @@
 //===----------------------------------------------------------------------===//
 
 @_versioned
-internal protocol _ArrayProtocol
+internal protocol ArrayProtocol
   : RangeReplaceableCollection,
     ExpressibleByArrayLiteral
 {
@@ -72,7 +72,7 @@
   var _buffer: _Buffer { get }
 }
 
-extension _ArrayProtocol {
+extension ArrayProtocol {
   // Since RangeReplaceableCollection now has a version of filter that is less
   // efficient, we should make the default implementation coming from Sequence
   // preferred.
diff --git a/stdlib/public/core/Arrays.swift.gyb b/stdlib/public/core/Arrays.swift.gyb
index 270bab3..520cc91 100644
--- a/stdlib/public/core/Arrays.swift.gyb
+++ b/stdlib/public/core/Arrays.swift.gyb
@@ -1020,7 +1020,7 @@
 }
 %end
 
-extension ${Self} : RangeReplaceableCollection, _ArrayProtocol {
+extension ${Self} : RangeReplaceableCollection, ArrayProtocol {
   /// Creates a new, empty array.
   ///
   /// This is equivalent to initializing with an empty array literal.
diff --git a/test/Constraints/array_literal.swift b/test/Constraints/array_literal.swift
index 09c17ba..96d956f 100644
--- a/test/Constraints/array_literal.swift
+++ b/test/Constraints/array_literal.swift
@@ -105,7 +105,7 @@
 [1,2].map // expected-error {{expression type '((Int) throws -> _) throws -> [_]' is ambiguous without more context}}
 
 
-// <rdar://problem/25563498> Type checker crash assigning array literal to type conforming to _ArrayProtocol
+// <rdar://problem/25563498> Type checker crash assigning array literal to type conforming to ArrayProtocol
 func rdar25563498<T : ExpressibleByArrayLiteral>(t: T) {
   var x: T = [1] // expected-error {{cannot convert value of type '[Int]' to specified type 'T'}}
   // expected-warning@-1{{variable 'x' was never used; consider replacing with '_' or removing it}}