Commit Graph

7182 Commits

Author SHA1 Message Date
eeckstein
6debc33128 Merge pull request #74332 from eeckstein/swift_dynamiccastclass
embedded: add swift_dynamicCastClass runtime function
2024-06-13 07:31:44 +02:00
Kavon Farvardin
ec4a125f3e NCGenerics: ext's might not infer invertible req's
If the extension adds conformance to an invertible protocol, it's
confusing for people to also infer conditional requirements on the
generic parameters for those invertible protocols. This came up in the
review of SE-427.
2024-06-12 14:44:22 -07:00
Erik Eckstein
13ecb51612 embedded: add swift_dynamicCastClass runtime function
To enable dynamic class casts

rdar://129672994
2024-06-12 18:23:38 +02:00
Kuba Mracek
5e1721dd4a [embedded] Make Mirror present but unavailable 2024-06-10 13:40:36 -07:00
Alex Lorenz
c8b5344d3e Merge pull request #72014 from compnerd/android
utils: support building android SDKs on Windows
2024-06-07 12:37:00 -07:00
Alex Lorenz
30dbf3a4aa do not add ObjectIdentifier+DebugDescription.swift for android builds 2024-06-06 11:19:44 -07:00
Alejandro Alonso
676b8e7bae Update stdlib/public/core/DictionaryBuilder.swift
Co-authored-by: Karoy Lorentey <klorentey@apple.com>
2024-06-04 20:46:11 +00:00
Alejandro Alonso
551acb3d4b Guard for empty singleton in dictionary builder 2024-06-04 13:30:03 -07:00
Guillaume Lessard
dabd99d798 Revert "[stdlib] Mark some UnsafePointer APIs as transparent" 2024-06-03 09:40:37 -07:00
Alejandro Alonso
1ec03e133b Merge pull request #74017 from Azoy/pointer-transparent
[stdlib] Mark some UnsafePointer APIs as transparent
2024-05-31 12:59:05 -07:00
Rintaro Ishizaki
5824d88362 Merge pull request #74032 from rintaro/stdlib-plugin-path
[stdlib] Use -plugin-path for building the standard library
2024-05-31 09:42:05 -07:00
Karl
7a57bd8ae4 [stdlib] Refactor Unicode normalization (#73590)
* [stdlib] Refactor Unicode normalization

* Tweak inlining
2024-05-31 08:22:37 -06:00
Rintaro Ishizaki
299167420a [stdlib] Use -plugin-path for building the standard library
`-external-plugin-path` requires `swift-plugin-server` exectuable, but
there was no dependency. Instead of adding the dependency, use
`-plugin-path` that doesn't require the plugin-server.
2024-05-30 14:02:12 -07:00
Alejandro Alonso
d5f67eb479 Mark some UnsafePointer APIs as transparent 2024-05-30 10:32:14 -07:00
Holly Borla
135e3f2ee9 Merge pull request #73889 from hborla/deprecate-anyactor
[Concurrency] Deprecate `AnyActor`.
2024-05-30 09:36:35 -07:00
Guillaume Lessard
da65626beb Merge pull request #73947 from glessard/rdar128709914 2024-05-29 12:42:55 -07:00
Guillaume Lessard
4fc82f895a [stdlib] remove deprecations added by SE-0426 2024-05-28 11:05:31 -07:00
Guillaume Lessard
511e619268 Merge pull request #73900 from glessard/rdar128543858
[stdlib] add failure explanations to debug preconditions
2024-05-28 09:21:28 -07:00
Kuba (Brecka) Mracek
545c2434c0 Merge pull request #70446 from kubamracek/embedded-string
[embedded] Port Swift.String to embedded Swift
2024-05-26 12:59:01 -07:00
nate-chandler
c0af25c069 Merge pull request #73890 from nate-chandler/rdar128661878
[BitwiseCopyable] Drop req from SIMD/Storage.
2024-05-24 18:10:57 -07:00
Guillaume Lessard
71258c4a2a [stdlib] add failure explanations to debug preconditions
addresses rdar://128543858
2024-05-24 14:02:57 -07:00
Nate Chandler
746cf2ff5b [BitwiseCopyable] Drop req from SIMD/Storage.
There are conformers to SIMDStorage (like that in the added test case)
which involve an Array (a type that can't conform to BitwiseCopyable).
So lift the constraint on SIMDStorage.  This in turn requires lifting
the constraint on SIMD (otherwise, e.g. `SIMD8<Scalar>` would fail to
conform since it has as a member some SIMD8Storage which is only
constrained to conform to `SIMDStorage`; the `SIMD8Storage`
associatedtype also cannot be constrained to `BitwiseCopyable` because
that storage may again not conform as in the test example).

rdar://128661878
2024-05-24 12:32:10 -07:00
Holly Borla
2590b2d7ac [Concurrency] Obsolete a few deprecated typealiases to Sendable in
Swift 6.
2024-05-24 08:58:41 -07:00
Alex Martini
65a5216a7b Merge pull request #73238 from amartini51/copyable_126377559
Add reference for Copyable

Fixes: rdar://126377559
2024-05-22 15:55:47 -07:00
eeckstein
7c69bec9b4 Merge pull request #73782 from eeckstein/static-arrays-in-embedded
IRGen: support read-only statically initialized arrays in embedded swift
2024-05-22 19:34:42 +02:00
Alejandro Alonso
4221d9f76a Merge pull request #73734 from Azoy/bitwisecopyable-atomic-reps
[stdlib] Enforce that atomic representations are BitwiseCopyable
2024-05-22 08:19:06 -07:00
Erik Eckstein
162139364e IRGen: support read-only statically initialized arrays in embedded swift
Arrays buffers need to be initialized with a (minimal) metatype and with an immortal reference count.
2024-05-21 18:04:10 +02:00
Alejandro Alonso
3053c81259 Enforce that atomic representations are bitwisecopyable 2024-05-18 10:18:32 -07:00
Guillaume Lessard
a27d9c426a Merge pull request #71912 from oscbyspro/better-joined-distance-from-to-int-min
FlattenSequence/distance(from:to:) untrapping Int.min
2024-05-17 16:17:01 -07:00
Allan Shortlidge
f0551920c5 Merge pull request #73700 from tshortli/borrowing-switch-condfail
stdlib: Fix a borrowing switch condfail
2024-05-17 09:16:39 -07:00
Allan Shortlidge
ca70312879 stdlib: Fix a borrowing switch condfail.
Resolves rdar://128249510
2024-05-16 23:35:25 -07:00
Allan Shortlidge
5b252da7e2 stdlib: Fix warnings in Duration.swift. 2024-05-16 23:34:44 -07:00
Alex Martini
b57dbae317 Fix typo in docs code example
Co-authored-by: Kavon Farvardin <kfarvardin@apple.com>
2024-05-16 16:33:12 -07:00
Alex Martini
97790c03a7 Indent code listings, to match style used elsewhere 2024-05-16 14:35:29 -07:00
Alex Martini
6fa34bdabf Add a missing implicit Copyable constraint
Co-authored-by: Kavon Farvardin <kfarvardin@apple.com>
Co-authored-by: Slava Pestov <spestov@apple.com>
2024-05-16 13:47:36 -07:00
Alejandro Alonso
db9232f246 Merge pull request #73550 from Azoy/string-debugger-changes
[debug] Print strings using their description in the debugger
2024-05-16 11:40:00 -07:00
Erik Eckstein
15acfbb268 stdlib: improve debug performance of UnsafePointer.pointer(to:)
Making those functions transparent enables to completely remove the creation of keypaths, even with -Onone.
rdar://127793797
2024-05-16 10:15:53 +02:00
Erik Eckstein
fb036e9019 stdlib: more efficient pointer overflow checks in the UnsafePointer.pointer(to:) functions
Saves the optional nil check for unwrapping the pointer and one condition
2024-05-16 10:15:42 +02:00
Joe Groff
2c6bfa23c8 Merge pull request #72967 from jckarter/enable-borrowing-switch-frontend
Enable 'BorrowingSwitch' feature.
2024-05-15 10:57:07 -07:00
Alejandro Alonso
b2f21bbfb3 Update DebuggerSupport.swift 2024-05-15 10:02:35 -07:00
Karoy Lorentey
6e6a5ba1d0 Merge pull request #73400 from lorentey/fix-managedbuffer-abi-mixup
[stdlib] ManagedBuffer: Fix misapplied linkage names for legacy entry points
2024-05-14 20:52:17 -07:00
Joe Groff
10f9289ef8 Enable 'BorrowingSwitch' feature. 2024-05-14 07:31:59 -07:00
Kuba Mracek
e68195b8f2 [embedded] Avoid using UInt64 in int->string code (which triggers allocations on 32-bit systems) 2024-05-12 22:11:40 -07:00
Kuba Mracek
7120279755 [embedded] Avoid using a metatype variable in _allocateUninitializedArray 2024-05-12 22:07:00 -07:00
Alejandro Alonso
180a11fdc2 Print strings using their description in the debugger 2024-05-09 14:36:57 -07:00
Kuba Mracek
92c20a699b [embedded] Avoid unsafeBitCast, use Builtin.castFromNativeObject instead, add armv7 test 2024-05-08 21:29:11 -07:00
Nate Chandler
2671652085 [BitwiseCopyable] Avoid a condfail.
The standard library defines
```
protocol BitwiseCopyable {}
typealias _BitwiseCopyable = BitwiseCopyable
```
For current compilers, `BitwiseCopyable` is a "known protocol".

For older compilers, it is not; instead `_BitwiseCopyable` is.  So
print the following into the swiftinterface for those older compilers:
```
protocol _BitwiseCopyable {}
typealias BitwiseCopyable = _BitwiseCopyable
```

rdar://127755503
2024-05-08 16:53:14 -07:00
Nate Chandler
acd9b72833 [BitwiseCopyable] Only deprecate underscored.
Rather than immediately outright banning the old protocol, just make it
be a deprecated typealias for the real one.
2024-05-08 16:52:51 -07:00
Kuba Mracek
7ae20b7039 [embedded] Port Swift.String to embedded Swift 2024-05-08 11:11:37 -07:00
nate-chandler
bcd08c0c9a Merge pull request #73235 from nate-chandler/bitwise-copyable/enable
[BitwiseCopyable] Promote to feature.
2024-05-04 10:16:40 -07:00