CARVIEW |
Select Language
HTTP/2 200
date: Fri, 25 Jul 2025 05:01:52 GMT
content-type: text/plain; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-repository-download: git clone https://github.com/radex/swift_stdlib.git
etag: W/"75df1716a383e1f7f0006d76a868acaf"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=ziNLLQeqdU2ASj10w0i3kVJca2Yb%2Bxn%2F7OLM6RYUq%2B%2BVa5dLUgYnAyUI0%2Ba97Xh2UABQT%2Bfio7Bi0yVlomFJ5A8%2Fsq3BLiNHtuS7m2G0kEeaf1kVK5FuM0Trh9lq4NvWrLrvIWZ8VXte0blkEA%2FLL7r1m4%2FWu8V5SCm3mb8Ha89Q7ByYQ8R2z1NvpzcuJPMcjh07qkWpXWnrWn%2BEV2DxWzsbLUd4%2BS6TuJa5qnCszg3O48yS2iXqTY0eSE9TN97Glv1IEjM%2FnHooNODWTRdGZw%3D%3D--O4hQRysWBqem7Ntx--WatlnAm55UPLBVWM2BSk3A%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1195349414.1753419712; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 05:01:52 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 05:01:52 GMT; HttpOnly; Secure; SameSite=Lax
content-length: 50499
x-github-request-id: E84A:2026F8:1F7170:2A8E3F:68830FC0
diff --git a/stdlib.swift b/stdlib.swift
index a85a6bd..b6a9a20 100644
--- a/stdlib.swift
+++ b/stdlib.swift
@@ -1,10 +1,15 @@
-infix operator |= {
+infix operator ~> {
+ associativity left
+ precedence 255
+}
+
+infix operator += {
associativity right
precedence 90
assignment
}
-infix operator += {
+infix operator -= {
associativity right
precedence 90
assignment
@@ -15,12 +20,6 @@ infix operator ... {
precedence 135
}
-infix operator -= {
- associativity right
- precedence 90
- assignment
-}
-
infix operator &% {
associativity left
precedence 150
@@ -78,19 +77,19 @@ infix operator ^= {
assignment
}
-infix operator ^ {
- associativity left
- precedence 140
-}
-
infix operator ?? {
associativity right
precedence 110
}
-infix operator != {
- associativity none
- precedence 130
+infix operator ^ {
+ associativity left
+ precedence 140
+}
+
+infix operator | {
+ associativity left
+ precedence 140
}
infix operator &= {
@@ -120,7 +119,7 @@ infix operator * {
precedence 150
}
-infix operator > {
+infix operator < {
associativity none
precedence 130
}
@@ -130,10 +129,9 @@ infix operator + {
precedence 140
}
-infix operator %= {
- associativity right
- precedence 90
- assignment
+infix operator >> {
+ associativity none
+ precedence 160
}
infix operator - {
@@ -152,14 +150,14 @@ infix operator <<= {
assignment
}
-infix operator < {
+infix operator !== {
associativity none
precedence 130
}
-infix operator | {
- associativity left
- precedence 140
+infix operator ~= {
+ associativity none
+ precedence 130
}
infix operator || {
@@ -172,52 +170,54 @@ infix operator << {
precedence 160
}
+infix operator |= {
+ associativity right
+ precedence 90
+ assignment
+}
+
infix operator <= {
associativity none
precedence 130
}
-infix operator ~> {
- associativity left
- precedence 255
+infix operator >= {
+ associativity none
+ precedence 130
}
-infix operator >>= {
+infix operator %= {
associativity right
precedence 90
assignment
}
-infix operator >> {
- associativity none
- precedence 160
-}
-
-infix operator !== {
+infix operator != {
associativity none
precedence 130
}
-infix operator >= {
+infix operator > {
associativity none
precedence 130
}
-infix operator ~= {
- associativity none
- precedence 130
+infix operator >>= {
+ associativity right
+ precedence 90
+ assignment
}
-prefix operator -- {
+prefix operator - {
}
-prefix operator ++ {
+prefix operator ~ {
}
-prefix operator - {
+prefix operator -- {
}
-prefix operator ~ {
+prefix operator ++ {
}
prefix operator + {
@@ -226,25 +226,23 @@ prefix operator + {
prefix operator ! {
}
-postfix operator -- {
-}
-
postfix operator ++ {
}
-prefix func !(a: T) -> Bool
+postfix operator -- {
+}
prefix func !(a: Bool) -> Bool
-func !=(lhs: _OptionalNilComparisonType, rhs: T?) -> Bool
-func !=(lhs: T?, rhs: _OptionalNilComparisonType) -> Bool
+/// Return the result of inverting `a`\ 's logic value
+prefix func !(a: T) -> Bool
-func !=(lhs: T?, rhs: T?) -> Bool
+func !=(lhs: Int, rhs: Int) -> Bool
+func !=(lhs: T?, rhs: T?) -> Bool
-/// Returns true if the arrays do not contain the same elements.
-func !=(lhs: ContiguousArray, rhs: ContiguousArray) -> Bool
+func !=(lhs: T?, rhs: _OptionalNilComparisonType) -> Bool
func !=(lhs: UInt, rhs: UInt) -> Bool
@@ -264,9 +262,13 @@ func !=(lhs: Int8, rhs: Int8) -> Bool
func !=(lhs: UInt8, rhs: UInt8) -> Bool
+func !=(lhs: _OptionalNilComparisonType, rhs: T?) -> Bool
+
func !=(lhs: T, rhs: T) -> Bool
-func !=(lhs: Int, rhs: Int) -> Bool
+
+/// Returns true if the arrays do not contain the same elements.
+func !=(lhs: ContiguousArray, rhs: ContiguousArray) -> Bool
/// Returns true if the arrays do not contain the same elements.
@@ -282,76 +284,95 @@ func !==(lhs: AnyObject?, rhs: AnyObject?) -> Bool
func %(lhs: UInt32, rhs: UInt32) -> UInt32
-func %(lhs: Int32, rhs: Int32) -> Int32
+func %(lhs: Int16, rhs: Int16) -> Int16
-func %(lhs: UInt64, rhs: UInt64) -> UInt64
+func %(lhs: UInt16, rhs: UInt16) -> UInt16
-func %(lhs: Int64, rhs: Int64) -> Int64
+func %(lhs: Int8, rhs: Int8) -> Int8
-func %(lhs: Int16, rhs: Int16) -> Int16
+func %(lhs: UInt8, rhs: UInt8) -> UInt8
-func %(lhs: Int, rhs: Int) -> Int
-func %(lhs: Float, rhs: Float) -> Float
+/// Divide `lhs` and `rhs`, returning the remainder and trapping in case of
+/// arithmetic overflow (except in -Ounchecked builds).
+func %(lhs: T, rhs: T) -> T
+
+func %(lhs: Float80, rhs: Float80) -> Float80
func %(lhs: Double, rhs: Double) -> Double
-func %(lhs: Float80, rhs: Float80) -> Float80
+func %(lhs: Float, rhs: Float) -> Float
-func %(lhs: T, rhs: T) -> T
+func %(lhs: Int, rhs: Int) -> Int
-func %(lhs: UInt16, rhs: UInt16) -> UInt16
+func %(lhs: Int32, rhs: Int32) -> Int32
-func %(lhs: Int8, rhs: Int8) -> Int8
+func %(lhs: UInt64, rhs: UInt64) -> UInt64
-func %(lhs: UInt8, rhs: UInt8) -> UInt8
+func %(lhs: Int64, rhs: Int64) -> Int64
func %(lhs: UInt, rhs: UInt) -> UInt
-func %=(inout lhs: T, rhs: T)
+func %=(inout lhs: Float, rhs: Float)
+
+func %=(inout lhs: Double, rhs: Double)
func %=(inout lhs: Float80, rhs: Float80)
-func %=(inout lhs: Double, rhs: Double)
-func %=(inout lhs: Float, rhs: Float)
+/// remainder `lhs` and `rhs` and store the result in `lhs`, trapping in
+/// case of arithmetic overflow (except in -Ounchecked builds).
+func %=(inout lhs: T, rhs: T)
-func &(lhs: Int64, rhs: Int64) -> Int64
+func &(lhs: UInt32, rhs: UInt32) -> UInt32
+
+func &(lhs: UInt16, rhs: UInt16) -> UInt16
+
+func &(lhs: Int16, rhs: Int16) -> Int16
+
+func &(lhs: Int32, rhs: Int32) -> Int32
func &(lhs: UInt64, rhs: UInt64) -> UInt64
+func &(lhs: Int64, rhs: Int64) -> Int64
+
func &(lhs: UInt, rhs: UInt) -> UInt
func &(lhs: Int, rhs: Int) -> Int
-func &(a: T, b: T) -> T
-
func &(lhs: Bool, rhs: Bool) -> Bool
-func &(lhs: Int32, rhs: Int32) -> Int32
+func &(a: T, b: T) -> T
func &(lhs: UInt8, rhs: UInt8) -> UInt8
func &(lhs: Int8, rhs: Int8) -> Int8
-func &(lhs: UInt16, rhs: UInt16) -> UInt16
-
-func &(lhs: Int16, rhs: Int16) -> Int16
-
-func &(lhs: UInt32, rhs: UInt32) -> UInt32
+/// remainder `lhs` and `rhs`, silently discarding any overflow.
func &%(lhs: T, rhs: T) -> T
func &&(lhs: T, rhs: @autoclosure () -> Bool) -> Bool
-func &&(lhs: T, rhs: @autoclosure () -> U) -> Bool
+/// If `lhs` is `false`, return it. Otherwise, evaluate `rhs` and
+/// return its `boolValue`.
+@inline(__always) func &&(lhs: T, rhs: @autoclosure () -> U) -> Bool
+
+
+/// multiply `lhs` and `rhs`, silently discarding any overflow.
func &*(lhs: T, rhs: T) -> T
+
+/// add `lhs` and `rhs`, silently discarding any overflow.
func &+(lhs: T, rhs: T) -> T
+
+/// subtract `lhs` and `rhs`, silently discarding any overflow.
func &-(lhs: T, rhs: T) -> T
+
+/// divide `lhs` and `rhs`, silently discarding any overflow.
func &/(lhs: T, rhs: T) -> T
func &=(inout lhs: Bool, rhs: Bool)
@@ -370,25 +391,13 @@ func &=(inout lhs: Int32, rhs: Int32)
func &=(inout lhs: UInt64, rhs: UInt64)
-func &=(inout lhs: Int64, rhs: Int64)
-
func &=(inout lhs: T, rhs: T)
func &=(inout lhs: Int, rhs: Int)
func &=(inout lhs: UInt, rhs: UInt)
-func *(lhs: UInt16, rhs: UInt16) -> UInt16
-
-func *(lhs: Int8, rhs: Int8) -> Int8
-
-func *(lhs: UInt8, rhs: UInt8) -> UInt8
-
-func *(lhs: T, rhs: T) -> T
-
-func *(lhs: Double, rhs: Double) -> Double
-
-func *(lhs: Int16, rhs: Int16) -> Int16
+func &=(inout lhs: Int64, rhs: Int64)
func *(lhs: UInt32, rhs: UInt32) -> UInt32
@@ -404,8 +413,23 @@ func *(lhs: Int, rhs: Int) -> Int
func *(lhs: Float, rhs: Float) -> Float
+func *(lhs: Double, rhs: Double) -> Double
+
func *(lhs: Float80, rhs: Float80) -> Float80
+
+/// Multiply `lhs` and `rhs`, returning a result and trapping in case of
+/// arithmetic overflow (except in -Ounchecked builds).
+func *(lhs: T, rhs: T) -> T
+
+func *(lhs: Int16, rhs: Int16) -> Int16
+
+func *(lhs: UInt16, rhs: UInt16) -> UInt16
+
+func *(lhs: Int8, rhs: Int8) -> Int8
+
+func *(lhs: UInt8, rhs: UInt8) -> UInt8
+
func *=(inout lhs: UInt8, rhs: UInt8)
func *=(inout lhs: Int8, rhs: Int8)
@@ -414,6 +438,8 @@ func *=(inout lhs: UInt16, rhs: UInt16)
func *=(inout lhs: Int16, rhs: Int16)
+func *=(inout lhs: UInt32, rhs: UInt32)
+
func *=(inout lhs: Int32, rhs: Int32)
func *=(inout lhs: UInt64, rhs: UInt64)
@@ -428,296 +454,333 @@ func *=(inout lhs: Float, rhs: Float)
func *=(inout lhs: Double, rhs: Double)
-func *=(inout lhs: Float80, rhs: Float80)
+/// multiply `lhs` and `rhs` and store the result in `lhs`, trapping in
+/// case of arithmetic overflow (except in -Ounchecked builds).
func *=(inout lhs: T, rhs: T)
-func *=(inout lhs: UInt32, rhs: UInt32)
+func *=(inout lhs: Float80, rhs: Float80)
-func +(lhs: Int, rhs: UnsafeMutablePointer) -> UnsafeMutablePointer
+prefix func +(x: Double) -> Double
-func +(lhs: UnsafeMutablePointer, rhs: Int) -> UnsafeMutablePointer
+func +(lhs: Float, rhs: Float) -> Float
-func +(lhs: String, rhs: String) -> String
+func +(lhs: Int, rhs: UnsafePointer) -> UnsafePointer
+
+prefix func +(x: Float) -> Float
func +(lhs: UnsafePointer, rhs: Int) -> UnsafePointer
-func +(lhs: T.Stride, rhs: T) -> T
+func +(lhs: Int, rhs: Int) -> Int
-func +(lhs: T, rhs: T.Stride) -> T
+func +(lhs: UInt, rhs: UInt) -> UInt
-func +(lhs: Int, rhs: UnsafePointer) -> UnsafePointer
+func +(lhs: Int64, rhs: Int64) -> Int64
-prefix func +(x: T) -> T
+func +(lhs: UInt64, rhs: UInt64) -> UInt64
-func +(lhs: UInt8, rhs: UInt8) -> UInt8
+func +(lhs: Int, rhs: UnsafeMutablePointer) -> UnsafeMutablePointer
-func +(lhs: EC1, rhs: EC2) -> EC1
+func +(lhs: UnsafeMutablePointer, rhs: Int) -> UnsafeMutablePointer
-func +(lhs: C, rhs: S) -> C
+func +(lhs: Int32, rhs: Int32) -> Int32
-func +(lhs: Int8, rhs: Int8) -> Int8
+func +(lhs: UInt32, rhs: UInt32) -> UInt32
-func +(lhs: UInt16, rhs: UInt16) -> UInt16
+func +(lhs: Int16, rhs: Int16) -> Int16
-func +(lhs: S, rhs: C) -> C
+func +(lhs: UInt16, rhs: UInt16) -> UInt16
-func +(lhs: C, rhs: S) -> C
+func +(lhs: Int8, rhs: Int8) -> Int8
-func +(lhs: Int16, rhs: Int16) -> Int16
+func +(lhs: UInt8, rhs: UInt8) -> UInt8
-func +(lhs: T, rhs: T) -> T
+func +(lhs: Double, rhs: Double) -> Double
-func +(lhs: Float80, rhs: Float80) -> Float80
+func +(lhs: String, rhs: String) -> String
prefix func +(x: Float80) -> Float80
-func +(lhs: Double, rhs: Double) -> Double
+func +(lhs: Float80, rhs: Float80) -> Float80
-func +(lhs: UInt32, rhs: UInt32) -> UInt32
-prefix func +(x: Double) -> Double
+/// Add `lhs` and `rhs`, returning a result and trapping in case of
+/// arithmetic overflow (except in -Ounchecked builds).
+func +(lhs: T, rhs: T) -> T
-func +(lhs: Float, rhs: Float) -> Float
+prefix func +(x: T) -> T
-prefix func +(x: Float) -> Float
+func +(lhs: C, rhs: S) -> C
-func +(lhs: Int, rhs: Int) -> Int
+func +(lhs: S, rhs: C) -> C
-func +(lhs: UInt, rhs: UInt) -> UInt
+func +(lhs: T.Stride, rhs: T) -> T
-func +(lhs: Int64, rhs: Int64) -> Int64
+func +(lhs: C, rhs: S) -> C
-func +(lhs: Int32, rhs: Int32) -> Int32
+func +(lhs: EC1, rhs: EC2) -> EC1
-func +(lhs: UInt64, rhs: UInt64) -> UInt64
+func +(lhs: T, rhs: T.Stride) -> T
prefix func ++(inout x: Int8) -> Int8
-prefix func ++(inout x: UInt8) -> UInt8
+prefix func ++(inout x: Int16) -> Int16
-postfix func ++(inout x: UInt8) -> UInt8
+postfix func ++(inout x: T) -> T
-postfix func ++(inout x: Int8) -> Int8
+prefix func ++(inout x: T) -> T
-prefix func ++(inout x: UInt16) -> UInt16
+postfix func ++(inout lhs: Float80) -> Float80
-postfix func ++(inout x: UInt16) -> UInt16
+prefix func ++(inout rhs: Float80) -> Float80
-prefix func ++(inout x: Int16) -> Int16
+postfix func ++(inout lhs: Double) -> Double
-postfix func ++(inout x: Int16) -> Int16
+prefix func ++(inout rhs: Double) -> Double
-prefix func ++(inout x: UInt32) -> UInt32
+postfix func ++(inout lhs: Float) -> Float
-postfix func ++(inout x: UInt32) -> UInt32
+prefix func ++(inout rhs: Float) -> Float
-prefix func ++(inout x: Int32) -> Int32
+postfix func ++(inout x: Int) -> Int
-postfix func ++(inout x: Int32) -> Int32
+prefix func ++(inout x: Int) -> Int
-prefix func ++(inout x: UInt64) -> UInt64
+postfix func ++(inout x: UInt) -> UInt
-postfix func ++(inout x: UInt64) -> UInt64
+prefix func ++(inout x: UInt) -> UInt
+
+postfix func ++(inout x: Int64) -> Int64
prefix func ++(inout x: Int64) -> Int64
-postfix func ++(inout x: Int64) -> Int64
+postfix func ++(inout x: UInt64) -> UInt64
-prefix func ++(inout x: UInt) -> UInt
+prefix func ++(inout x: UInt64) -> UInt64
-postfix func ++(inout x: UInt) -> UInt
+postfix func ++(inout x: Int32) -> Int32
-prefix func ++(inout x: Int) -> Int
+prefix func ++(inout x: Int32) -> Int32
-postfix func ++(inout x: Int) -> Int
+postfix func ++(inout x: UInt32) -> UInt32
-prefix func ++(inout rhs: Float) -> Float
+prefix func ++(inout x: UInt32) -> UInt32
-postfix func ++(inout lhs: Float) -> Float
+postfix func ++(inout x: Int16) -> Int16
-prefix func ++(inout rhs: Double) -> Double
+postfix func ++(inout x: UInt16) -> UInt16
-postfix func ++(inout lhs: Double) -> Double
+prefix func ++(inout x: UInt16) -> UInt16
-prefix func ++(inout rhs: Float80) -> Float80
+postfix func ++(inout x: Int8) -> Int8
-postfix func ++(inout lhs: Float80) -> Float80
+prefix func ++(inout x: UInt8) -> UInt8
-prefix func ++(inout x: T) -> T
+postfix func ++(inout x: UInt8) -> UInt8
-postfix func ++(inout x: T) -> T
-func +=(inout lhs: Int64, rhs: Int64)
+/// Extend `lhs` with the elements of `rhs`
+func +=(inout lhs: ContiguousArray, rhs: S)
-func +=(inout lhs: UnsafePointer, rhs: Int)
+
+/// Append rhs to lhs
+func +=(inout lhs: _ContiguousArrayBuffer, rhs: T)
+
+
+/// Extend `lhs` with the elements of `rhs`
+func +=(inout lhs: ContiguousArray, rhs: C)
func +=(inout lhs: UnsafeMutablePointer, rhs: Int)
func +=(inout lhs: String, rhs: String)
-func +=(inout lhs: ContiguousArray, rhs: S)
-
func +=(inout lhs: T, rhs: T.Stride)
-func +=(inout lhs: ContiguousArray, rhs: C)
+/// add `lhs` and `rhs` and store the result in `lhs`, trapping in
+/// case of arithmetic overflow (except in -Ounchecked builds).
func +=(inout lhs: T, rhs: T)
-func +=(inout lhs: Slice, rhs: S)
-
-func +=(inout lhs: Slice, rhs: C)
-
-func +=(inout lhs: [T], rhs: S)
+func +=(inout lhs: Float80, rhs: Float80)
-func +=(inout lhs: [T], rhs: C)
+func +=(inout lhs: Double, rhs: Double)
+func +=(inout lhs: Float, rhs: Float)
-/// Append the elements of rhs to lhs
-func +=(inout lhs: _ContiguousArrayBuffer, rhs: C)
+func +=(inout lhs: Int, rhs: Int)
+func +=(inout lhs: UInt, rhs: UInt)
-/// Append rhs to lhs
-func +=(inout lhs: _ContiguousArrayBuffer, rhs: T)
+func +=(inout lhs: Int64, rhs: Int64)
-func +=(inout lhs: UInt8, rhs: UInt8)
-func +=(inout lhs: Int8, rhs: Int8)
+/// Extend `lhs` with the elements of `rhs`
+func +=(inout lhs: Slice, rhs: S)
-func +=(inout lhs: UInt16, rhs: UInt16)
-func +=(inout lhs: Int16, rhs: Int16)
+/// Extend `lhs` with the elements of `rhs`
+func +=(inout lhs: Slice, rhs: C)
-func +=(inout lhs: Float80, rhs: Float80)
+func +=(inout lhs: UInt64, rhs: UInt64)
-func +=(inout lhs: Double, rhs: Double)
+func +=(inout lhs: Int32, rhs: Int32)
func +=(inout lhs: UInt32, rhs: UInt32)
-func +=(inout lhs: Int32, rhs: Int32)
+func +=(inout lhs: Int16, rhs: Int16)
-func +=(inout lhs: UInt64, rhs: UInt64)
+func +=(inout lhs: UInt16, rhs: UInt16)
-func +=(inout lhs: UInt, rhs: UInt)
-func +=(inout lhs: Int, rhs: Int)
+/// Extend `lhs` with the elements of `rhs`
+func +=(inout lhs: [T], rhs: S)
-func +=(inout lhs: Float, rhs: Float)
-prefix func -(x: Float) -> Float
+/// Extend `lhs` with the elements of `rhs`
+func +=(inout lhs: [T], rhs: C)
-func -(lhs: UInt8, rhs: UInt8) -> UInt8
-func -(lhs: Int8, rhs: Int8) -> Int8
+/// Append the elements of rhs to lhs
+func +=(inout lhs: _ContiguousArrayBuffer, rhs: C)
-func -(lhs: UInt16, rhs: UInt16) -> UInt16
+func +=(inout lhs: Int8, rhs: Int8)
-func -(lhs: Int16, rhs: Int16) -> Int16
+func +=(inout lhs: UInt8, rhs: UInt8)
-func -(lhs: UInt32, rhs: UInt32) -> UInt32
+func +=(inout lhs: UnsafePointer, rhs: Int)
func -(lhs: Int32, rhs: Int32) -> Int32
func -(lhs: UInt64, rhs: UInt64) -> UInt64
+func -(lhs: UInt32, rhs: UInt32) -> UInt32
+
func -(lhs: Int64, rhs: Int64) -> Int64
func -(lhs: UInt, rhs: UInt) -> UInt
func -(lhs: Int, rhs: Int) -> Int
-func -(lhs: Float, rhs: Float) -> Float
+func -(lhs: Int16, rhs: Int16) -> Int16
-prefix func -(x: Double) -> Double
+func -(lhs: UInt16, rhs: UInt16) -> UInt16
-func -(lhs: Double, rhs: Double) -> Double
+func -(lhs: Int8, rhs: Int8) -> Int8
-prefix func -(x: Float80) -> Float80
+func -(lhs: UInt8, rhs: UInt8) -> UInt8
-func -(lhs: Float80, rhs: Float80) -> Float80
+func -(lhs: UnsafePointer, rhs: UnsafePointer) -> Int
-func -(lhs: T, rhs: T) -> T
+func -(lhs: UnsafePointer, rhs: Int) -> UnsafePointer
-prefix func -(x: T) -> T
+func -(lhs: UnsafeMutablePointer, rhs: UnsafeMutablePointer) -> Int
-func -(lhs: T, rhs: T.Stride) -> T
+func -(lhs: UnsafeMutablePointer, rhs: Int) -> UnsafeMutablePointer
func -(lhs: T, rhs: T) -> T.Stride
-func -(lhs: UnsafeMutablePointer, rhs: Int) -> UnsafeMutablePointer
+func -(lhs: T, rhs: T.Stride) -> T
-func -(lhs: UnsafeMutablePointer, rhs: UnsafeMutablePointer) -> Int
+prefix func -(x: T) -> T
-func -(lhs: UnsafePointer, rhs: Int) -> UnsafePointer
-func -(lhs: UnsafePointer, rhs: UnsafePointer) -> Int
+/// Subtract `lhs` and `rhs`, returning a result and trapping in case of
+/// arithmetic overflow (except in -Ounchecked builds).
+func -(lhs: T, rhs: T) -> T
-postfix func --(inout x: Int32) -> Int32
+func -(lhs: Float80, rhs: Float80) -> Float80
-postfix func --(inout lhs: Float) -> Float
+prefix func -(x: Float80) -> Float80
-prefix func --(inout rhs: Double) -> Double
+func -(lhs: Double, rhs: Double) -> Double
-prefix func --(inout rhs: Float) -> Float
+prefix func -(x: Double) -> Double
-prefix func --(inout x: UInt16) -> UInt16
+func -(lhs: Float, rhs: Float) -> Float
-postfix func --(inout x: Int) -> Int
+prefix func -(x: Float) -> Float
-postfix func --(inout lhs: Double) -> Double
+postfix func --(inout x: UInt) -> UInt
-prefix func --(inout rhs: Float80) -> Float80
+prefix func --(inout rhs: Float) -> Float
postfix func --(inout lhs: Float80) -> Float80
-prefix func --(inout x: Int16) -> Int16
-
-prefix func --(inout x: Int) -> Int
-
-postfix func --(inout x: UInt) -> UInt
-
-prefix func --(inout x: Int8) -> Int8
-
prefix func --(inout x: UInt) -> UInt
-prefix func --(inout x: T) -> T
+postfix func --(inout lhs: Float) -> Float
postfix func --(inout x: Int64) -> Int64
-postfix func --(inout x: T) -> T
-
prefix func --(inout x: Int64) -> Int64
+prefix func --(inout rhs: Double) -> Double
+
postfix func --(inout x: UInt64) -> UInt64
-postfix func --(inout x: UInt16) -> UInt16
+postfix func --(inout lhs: Double) -> Double
prefix func --(inout x: UInt8) -> UInt8
+prefix func --(inout rhs: Float80) -> Float80
+
+prefix func --(inout x: UInt64) -> UInt64
+
postfix func --(inout x: UInt8) -> UInt8
-postfix func --(inout x: Int8) -> Int8
+prefix func --(inout x: Int8) -> Int8
-postfix func --(inout x: Int16) -> Int16
+prefix func --(inout x: T) -> T
+
+postfix func --(inout x: Int) -> Int
+
+postfix func --(inout x: Int32) -> Int32
+
+prefix func --(inout x: Int32) -> Int32
+
+postfix func --(inout x: T) -> T
prefix func --(inout x: UInt32) -> UInt32
postfix func --(inout x: UInt32) -> UInt32
-prefix func --(inout x: Int32) -> Int32
+postfix func --(inout x: Int8) -> Int8
-prefix func --(inout x: UInt64) -> UInt64
+prefix func --(inout x: UInt16) -> UInt16
-func -=(inout lhs: Int16, rhs: Int16)
+postfix func --(inout x: UInt16) -> UInt16
-func -=(inout lhs: UInt32, rhs: UInt32)
+prefix func --(inout x: Int16) -> Int16
-func -=(inout lhs: Int32, rhs: Int32)
+postfix func --(inout x: Int16) -> Int16
+
+prefix func --(inout x: Int) -> Int
func -=(inout lhs: UInt64, rhs: UInt64)
+func -=(inout lhs: Int64, rhs: Int64)
+
+func -=(inout lhs: UInt8, rhs: UInt8)
+
+func -=(inout lhs: Int8, rhs: Int8)
+
+func -=(inout lhs: UInt16, rhs: UInt16)
+
+func -=(inout lhs: UnsafePointer, rhs: Int)
+
+func -=(inout lhs: Int32, rhs: Int32)
+
+func -=(inout lhs: UnsafeMutablePointer, rhs: Int)
+
+func -=(inout lhs: UInt32, rhs: UInt32)
+
func -=(inout lhs: T, rhs: T.Stride)
+func -=(inout lhs: Int16, rhs: Int16)
+
+
+/// subtract `lhs` and `rhs` and store the result in `lhs`, trapping in
+/// case of arithmetic overflow (except in -Ounchecked builds).
func -=(inout lhs: T, rhs: T)
func -=(inout lhs: Float80, rhs: Float80)
@@ -726,21 +789,13 @@ func -=(inout lhs: Double, rhs: Double)
func -=(inout lhs: Float, rhs: Float)
-func -=(inout lhs: Int, rhs: Int)
-
func -=(inout lhs: UInt, rhs: UInt)
-func -=(inout lhs: UInt16, rhs: UInt16)
-
-func -=(inout lhs: Int64, rhs: Int64)
-
-func -=(inout lhs: UnsafeMutablePointer, rhs: Int)
-
-func -=(inout lhs: UnsafePointer, rhs: Int)
+func -=(inout lhs: Int, rhs: Int)
-func -=(inout lhs: Int8, rhs: Int8)
-func -=(inout lhs: UInt8, rhs: UInt8)
+/// Returns a closed interval from `start` through `end`
+func ...(start: T, end: T) -> ClosedInterval
/// Forms a closed range that contains both `start` and `end`.
@@ -748,16 +803,13 @@ func -=(inout lhs: UInt8, rhs: UInt8)
func ...(start: Pos, end: Pos) -> Range
-/// Returns a closed interval from `start` through `end`
-func ...(start: T, end: T) -> ClosedInterval
-
-
/// Forms a closed range that contains both `minimum` and `maximum`.
func ...(minimum: Pos, maximum: Pos) -> Range
-/// Returns a half-open interval from `start` to `end`
-func ..<(start: T, end: T) -> HalfOpenInterval
+/// Forms a half-open range that contains `start`, but not
+/// `end`. Requires: `start <= end`
+func ..<(start: Pos, end: Pos) -> Range
/// Forms a half-open range that contains `minimum`, but not
@@ -765,49 +817,76 @@ func ..<(start: T, end: T) -> HalfOpenInterval
func ..<(minimum: Pos, maximum: Pos) -> Range
-/// Forms a half-open range that contains `start`, but not
-/// `end`. Requires: `start <= end`
-func ..<(start: Pos, end: Pos) -> Range
+/// Returns a half-open interval from `start` to `end`
+func ..<(start: T, end: T) -> HalfOpenInterval
-func /(lhs: Int16, rhs: Int16) -> Int16
+func /(lhs: Float, rhs: Float) -> Float
-func /(lhs: UInt32, rhs: UInt32) -> UInt32
+func /(lhs: Double, rhs: Double) -> Double
-func /(lhs: Int32, rhs: Int32) -> Int32
+func /(lhs: Float80, rhs: Float80) -> Float80
-func /(lhs: UInt64, rhs: UInt64) -> UInt64
+
+/// Divide `lhs` and `rhs`, returning a result and trapping in case of
+/// arithmetic overflow (except in -Ounchecked builds).
+func /(lhs: T, rhs: T) -> T
+
+func /(lhs: Int, rhs: Int) -> Int
func /(lhs: Int64, rhs: Int64) -> Int64
+func /(lhs: UInt64, rhs: UInt64) -> UInt64
+
+func /(lhs: Int32, rhs: Int32) -> Int32
+
+func /(lhs: UInt32, rhs: UInt32) -> UInt32
+
+func /(lhs: Int16, rhs: Int16) -> Int16
+
+func /(lhs: UInt16, rhs: UInt16) -> UInt16
+
+func /(lhs: Int8, rhs: Int8) -> Int8
+
+func /(lhs: UInt8, rhs: UInt8) -> UInt8
+
func /(lhs: UInt, rhs: UInt) -> UInt
-func /(lhs: Int, rhs: Int) -> Int
+func /=(inout lhs: Float, rhs: Float)
-func /(lhs: Float, rhs: Float) -> Float
+func /=(inout lhs: Double, rhs: Double)
-func /(lhs: Double, rhs: Double) -> Double
+func /=(inout lhs: Float80, rhs: Float80)
-func /(lhs: Float80, rhs: Float80) -> Float80
-func /(lhs: T, rhs: T) -> T
+/// divide `lhs` and `rhs` and store the result in `lhs`, trapping in
+/// case of arithmetic overflow (except in -Ounchecked builds).
+func /=(inout lhs: T, rhs: T)
+
+func <(lhs: UnicodeScalar, rhs: UnicodeScalar) -> Bool
+
+func <(lhs: UInt, rhs: UInt) -> Bool
+
+func <(lhs: String.Index, rhs: String.Index) -> Bool
+
+func <(lhs: String, rhs: String) -> Bool
-func /(lhs: Int8, rhs: Int8) -> Int8
-func /(lhs: UInt8, rhs: UInt8) -> UInt8
+/// Compare two Strideables
+func <(x: T, y: T) -> Bool
-func /(lhs: UInt16, rhs: UInt16) -> UInt16
+func <(lhs: T?, rhs: T?) -> Bool
-func /=(inout lhs: Float, rhs: Float)
+func <(lhs: Float80, rhs: Float80) -> Bool
-func /=(inout lhs: Double, rhs: Double)
+func <(lhs: Double, rhs: Double) -> Bool
-func /=(inout lhs: Float80, rhs: Float80)
+func <(lhs: Float, rhs: Float) -> Bool
-func /=(inout lhs: T, rhs: T)
+func <(lhs: Int, rhs: Int) -> Bool
-func <(lhs: UInt, rhs: UInt) -> Bool
+func <(lhs: String.UnicodeScalarView.Index, rhs: String.UnicodeScalarView.Index) -> Bool
-func <(lhs: String.Index, rhs: String.Index) -> Bool
+func <(lhs: Int64, rhs: Int64) -> Bool
func <(lhs: UInt64, rhs: UInt64) -> Bool
@@ -827,33 +906,13 @@ func <(lhs: DictionaryIndex, rhs: DictionaryI
func <(lhs: Character, rhs: Character) -> Bool
-func <(lhs: Int64, rhs: Int64) -> Bool
-
func <(lhs: Bit, rhs: Bit) -> Bool
-func <(lhs: UnsafePointer, rhs: UnsafePointer) -> Bool
-
func <(lhs: UnsafeMutablePointer, rhs: UnsafeMutablePointer) -> Bool
-func <(lhs: UnicodeScalar, rhs: UnicodeScalar) -> Bool
-
-func <(lhs: String.UnicodeScalarView.Index, rhs: String.UnicodeScalarView.Index) -> Bool
-
-func <(lhs: Int, rhs: Int) -> Bool
-
-func <(lhs: String, rhs: String) -> Bool
-
-
-/// Compare two Strideables
-func <(x: T, y: T) -> Bool
-
-func <(lhs: T?, rhs: T?) -> Bool
-
-func <(lhs: Float80, rhs: Float80) -> Bool
-
-func <(lhs: Double, rhs: Double) -> Bool
+func <(lhs: UnsafePointer, rhs: UnsafePointer) -> Bool
-func <(lhs: Float, rhs: Float) -> Bool
+func <<(lhs: UInt8, rhs: UInt8) -> UInt8
func <<(lhs: Int, rhs: Int) -> Int
@@ -861,39 +920,39 @@ func <<(lhs: UInt, rhs: UInt) -> UInt
func <<(lhs: Int64, rhs: Int64) -> Int64
+func <<(lhs: Int8, rhs: Int8) -> Int8
+
+func <<(lhs: UInt16, rhs: UInt16) -> UInt16
+
+func <<(lhs: Int16, rhs: Int16) -> Int16
+
func <<(lhs: UInt64, rhs: UInt64) -> UInt64
func <<(lhs: Int32, rhs: Int32) -> Int32
func <<(lhs: UInt32, rhs: UInt32) -> UInt32
-func <<(lhs: Int16, rhs: Int16) -> Int16
-
-func <<(lhs: Int8, rhs: Int8) -> Int8
-
-func <<(lhs: UInt16, rhs: UInt16) -> UInt16
+func <<=(inout lhs: UInt8, rhs: UInt8)
-func <<(lhs: UInt8, rhs: UInt8) -> UInt8
+func <<=(inout lhs: Int8, rhs: Int8)
-func <<=(inout lhs: UInt, rhs: UInt)
+func <<=(inout lhs: UInt16, rhs: UInt16)
-func <<=(inout lhs: Int, rhs: Int)
+func <<=(inout lhs: Int16, rhs: Int16)
-func <<=(inout lhs: UInt64, rhs: UInt64)
+func <<=(inout lhs: UInt32, rhs: UInt32)
func <<=(inout lhs: Int32, rhs: Int32)
-func <<=(inout lhs: UInt32, rhs: UInt32)
+func <<=(inout lhs: UInt64, rhs: UInt64)
func <<=(inout lhs: Int64, rhs: Int64)
-func <<=(inout lhs: Int16, rhs: Int16)
-
-func <<=(inout lhs: UInt16, rhs: UInt16)
+func <<=(inout lhs: UInt, rhs: UInt)
-func <<=(inout lhs: Int8, rhs: Int8)
+func <<=(inout lhs: Int, rhs: Int)
-func <<=(inout lhs: UInt8, rhs: UInt8)
+func <=(lhs: UInt32, rhs: UInt32) -> Bool
func <=(lhs: T, rhs: T) -> Bool
@@ -909,150 +968,148 @@ func <=(lhs: UInt64, rhs: UInt64) -> Bool
func <=(lhs: Int32, rhs: Int32) -> Bool
-func <=(lhs: UInt32, rhs: UInt32) -> Bool
-
-func <=(lhs: UInt8, rhs: UInt8) -> Bool
-
func <=(lhs: Int16, rhs: Int16) -> Bool
-func <=(lhs: Int8, rhs: Int8) -> Bool
-
func <=(lhs: UInt16, rhs: UInt16) -> Bool
-func ==(lhs: UnsafePointer, rhs: UnsafePointer) -> Bool
+func <=(lhs: Int8, rhs: Int8) -> Bool
-func ==(x: T, y: T) -> Bool
+func <=(lhs: UInt8, rhs: UInt8) -> Bool
func ==(x: ObjectIdentifier, y: ObjectIdentifier) -> Bool
-func ==(lhs: String.Index, rhs: String.Index) -> Bool
+func ==(lhs: UnsafePointer, rhs: UnsafePointer) -> Bool
-func ==(lhs: String.UTF8View.Index, rhs: String.UTF8View.Index) -> Bool
+func ==(lhs: UInt8, rhs: UInt8) -> Bool
+func ==(lhs: Bit, rhs: Bit) -> Bool
-/// Two `HalfOpenInterval`\ s are equal if their `start` and `end` are
-/// equal
-func ==(lhs: HalfOpenInterval, rhs: HalfOpenInterval) -> Bool
+func ==(lhs: Int8, rhs: Int8) -> Bool
-func ==(lhs: String.UnicodeScalarView.Index, rhs: String.UnicodeScalarView.Index) -> Bool
+func ==(lhs: UInt16, rhs: UInt16) -> Bool
+func == (lhs: FilterCollectionViewIndex , rhs: FilterCollectionViewIndex ) -> Bool
-/// Two `ClosedInterval`\ s are equal if their `start` and `end` are
-/// equal
-func ==(lhs: ClosedInterval, rhs: ClosedInterval) -> Bool
+func ==(lhs: Int16, rhs: Int16) -> Bool
-func ==(lhs: T?, rhs: T?) -> Bool
+func ==(lhs: [Key : Value], rhs: [Key : Value]) -> Bool
-func ==(lhs: T?, rhs: _OptionalNilComparisonType) -> Bool
+func ==(lhs: DictionaryIndex, rhs: DictionaryIndex) -> Bool
-func ==(lhs: UInt8, rhs: UInt8) -> Bool
+func ==(lhs: UInt32, rhs: UInt32) -> Bool
-func ==(lhs: Int8, rhs: Int8) -> Bool
+func ==(a: T, b: T) -> Bool
-func ==(lhs: Bit, rhs: Bit) -> Bool
+func ==(lhs: Character, rhs: Character) -> Bool
-func ==(lhs: UInt16, rhs: UInt16) -> Bool
+func ==(lhs: UInt64, rhs: UInt64) -> Bool
-func ==(lhs: HeapBuffer, rhs: HeapBuffer) -> Bool
+func ==(lhs: Int32, rhs: Int32) -> Bool
-func ==(lhs: FloatingPointClassification, rhs: FloatingPointClassification) -> Bool
+func ==(lhs: Int64, rhs: Int64) -> Bool
-func ==(lhs: Float80, rhs: Float80) -> Bool
+func ==(lhs: CFunctionPointer, rhs: CFunctionPointer) -> Bool
+func ==(lhs: UInt, rhs: UInt) -> Bool
-/// Returns true if these arrays contain the same elements.
-func ==(lhs: ContiguousArray, rhs: ContiguousArray) -> Bool
+func ==(lhs: COpaquePointer, rhs: COpaquePointer) -> Bool
-func ==(lhs: Double, rhs: Double) -> Bool
+func ==(lhs: ReverseBidirectionalIndex, rhs: ReverseBidirectionalIndex) -> Bool
-func ==(lhs: Float, rhs: Float) -> Bool
+func ==(lhs: AutoreleasingUnsafeMutablePointer, rhs: AutoreleasingUnsafeMutablePointer) -> Bool
-func ==(lhs: UnsafeMutablePointer, rhs: UnsafeMutablePointer) -> Bool
+func ==(lhs: Bool, rhs: Bool) -> Bool
-func ==(lhs: UnicodeScalar, rhs: UnicodeScalar) -> Bool
+
+/// Returns true if these arrays contain the same elements.
+func ==(lhs: [T], rhs: [T]) -> Bool
/// Returns true if these arrays contain the same elements.
func ==(lhs: Slice, rhs: Slice) -> Bool
-func ==(lhs: ReverseRandomAccessIndex, rhs: ReverseRandomAccessIndex) -> Bool
+
+/// Returns true if these arrays contain the same elements.
+func ==(lhs: ContiguousArray, rhs: ContiguousArray) -> Bool
func ==(lhs: Int, rhs: Int) -> Bool
+func ==(lhs: ReverseRandomAccessIndex, rhs: ReverseRandomAccessIndex) -> Bool
-/// Returns true if these arrays contain the same elements.
-func ==(lhs: [T], rhs: [T]) -> Bool
+func ==(x: T, y: T) -> Bool
-func ==(lhs: UInt, rhs: UInt) -> Bool
+func ==(lhs: String.UTF8View.Index, rhs: String.UTF8View.Index) -> Bool
-func ==(lhs: Bool, rhs: Bool) -> Bool
+func ==