Commit Graph

4105 Commits

Author SHA1 Message Date
Alexis Laferrière
fa994e7eaf Merge pull request #61084 from xymus/pub-priv-import-in-swiftinterface
[Sema] Don't error on public imports of private modules in a swiftinterface
2022-09-19 09:23:46 -07:00
Alexis Laferrière
1e40db1d4b Merge pull request #61105 from xymus/default-require-explicit-avail
[Sema] Require explicit availability on public modules and customizable diagnostics level
2022-09-15 11:05:12 -07:00
Alexis Laferrière
dcbef35982 [Sema] Intro flag to promote to an error missing explicit availability 2022-09-14 16:21:52 -07:00
Alexis Laferrière
8f256ad297 [Sema] Update diagnostic for required availability 2022-09-14 10:36:24 -07:00
Alexis Laferrière
1a6a8a7368 [Sema] Don't error on public imports of private modules in a swiftinterface 2022-09-13 15:57:10 -07:00
Pavel Yaskevich
3f5dec53c0 Merge pull request #61028 from xedin/type-wrapper-ignore-attr
[AST/TypeChecker] TypeWrappers: Add @typeWrapperIgnored attribute
2022-09-13 09:23:02 -07:00
Alexis Laferrière
2cb6d72444 Merge pull request #61058 from xymus/spi-only-consistent 2022-09-13 07:49:22 -07:00
Alexis Laferrière
99d9bebf84 [Sema] Cleaner diagnostics for conflicting import modifiers 2022-09-12 17:17:23 -07:00
Alexis Laferrière
47d2f1acc4 [Sema] Check inconsistent @_spiOnly imports within one source file 2022-09-12 17:17:23 -07:00
Alexis Laferrière
622e47c89c [Sema] Report conflicting attributes on imports 2022-09-12 17:17:23 -07:00
nate-chandler
6075af2652 Merge pull request #61048 from nate-chandler/no_eager_move_attr
Renamed _noEagerMove attribute.
2022-09-12 13:14:32 -07:00
Nate Chandler
5642a46378 Renamed _noEagerMove attribute.
Avoid introducing extra terminology via an underscored attribute.

rdar://99723104
2022-09-12 08:21:18 -07:00
Pavel Yaskevich
149e57a0cb Merge pull request #60893 from calda/cal--warn-redundant-comparison-to-optional.none-case
Add warning when comparing a non-optional value to `Optional.none`
2022-09-12 00:36:24 -07:00
Cal Stephens
9167a177cc Merge branch 'main' into cal--implicit-weak-self 2022-09-11 10:24:55 -07:00
Pavel Yaskevich
116dea2f6d [AST/TypeChecker] TypeWrappers: Add @typeWrapperIgnored attribute
`@typeWrapperIgnored` attribute could be used on stored properties
of a type wrapped type to exclude them from type wrapper transform.
2022-09-09 23:52:35 -07:00
Slava Pestov
217c4a5ef3 Sema: Remove the older '@tuple (Int)' syntax 2022-09-10 00:26:43 -04:00
Alexis Laferrière
7b9d4e645c Merge pull request #61011 from xymus/spi-only-exportability
[Sema] Check exportability of @_spiOnly imported decls
2022-09-09 11:56:24 -07:00
Alexis Laferrière
6d396b4834 [Sema] Check @_spiOnly imported decls exportability
Decls imported via an @_spiOnly import can only be used in @_spi decls
signatures, internal decl signatures and non-inlinable function bodies.
2022-09-09 09:20:51 -07:00
Artem Chikin
070540f99a Merge pull request #60942 from artemcm/AttemptScannerFailDianostics
[Dependency Scanner] Diagnose failure to find a module
2022-09-08 09:01:03 -07:00
Xi Ge
ea21d325d5 Merge pull request #60983 from nkcsgexi/warn-all-spi-available 2022-09-07 17:28:48 -07:00
Artem Chikin
6da780e272 [Dependency Scanner] Diagnose failure to find a module
And produce a dependency path from the missing dependency to the main module being scanned.
2022-09-07 15:56:44 -07:00
Slava Pestov
67d182e770 Sema: Diagnose references to protocol extension type aliases from generic requirements
The requirement machine does not support this and would silently drop
the requirement.

Fixes https://github.com/apple/swift/issues/60741 and rdar://94248733.
2022-09-07 16:39:22 -04:00
Xi Ge
4f9cfd3a4f sema: diagnose @_spi_available on all platforms
@_spi_available should only be used when the symbol is publically available in some deployment
platforms, otherwise we should use @_spi.
2022-09-07 13:20:50 -07:00
Slava Pestov
1e12d0a31c Sema: Reject PackExpansionType in unsupported positions 2022-09-07 12:35:54 -04:00
Slava Pestov
79ed990728 AST: Replace TupleTypeRepr's ellipsis with PackExpansionTypeRepr 2022-09-07 12:35:54 -04:00
nate-chandler
2efc0f6857 Merge pull request #60940 from nate-chandler/eager_move_self
Self parameters can be @_noImplicitCopy or @_eagerMove.
2022-09-07 06:12:53 -07:00
Marina Azevedo
68687a693f [Diagnostics] Update existential type error message for clarity
Rework solution

to be squashed
2022-09-05 13:17:21 -03:00
Nate Chandler
9dbdfa8e3f [SILGen] Allow annotating self @_eagerMove.
Allow @_eagerMove (and @_lexical) to be applied to methods.  Applying
it there means that the self argument will have the attribute.
2022-09-02 16:13:08 -07:00
Alexis Laferrière
b680084748 [Sema] @_spiOnly needs to be enabled with a flag 2022-09-01 15:16:46 -07:00
Cal Stephens
c3e74e06b4 Use a single warning, but dynamically specify 'nil' or 'Optional.none' 2022-09-01 09:10:01 -07:00
Cal Stephens
c2bf0f943e Revert "Combine the two diagnostics"
This reverts commit 2e7656218e.
2022-09-01 08:11:46 -07:00
Cal Stephens
2e7656218e Combine the two diagnostics 2022-09-01 06:23:42 -07:00
Cal Stephens
ded9b78d25 Warn on redundant comparison to 'Optional.none', like we already do for 'nil' 2022-08-31 18:00:57 -07:00
Pavel Yaskevich
e22fc3e34c Merge pull request #60345 from xedin/type-wrappers
[TypeChecker] Type wrappers (experimental feature)
2022-08-29 12:06:27 -07:00
Alex Lorenz
7bf7642d51 [interop][SwiftToCxx] support @_expose attribute on initializers 2022-08-29 07:41:49 -07:00
Pavel Yaskevich
a3b54308d2 [Frontend] Mark 'Type Wrappers' as experimental feature that has to be enabled 2022-08-26 12:25:22 -07:00
Pavel Yaskevich
69d80dc738 [AST] Add a way to check whether type has a type wrapper 2022-08-26 12:25:22 -07:00
Pavel Yaskevich
38765fbd9a [AST] Add a new @typeWrapper attribute 2022-08-26 12:25:22 -07:00
Alex Lorenz
8de79390be [interop][SwiftToCxx] add @_expose(Cxx) attribute support
This attribute instructs the compiler that this declaration should be included in the generated C++ bindings
2022-08-24 10:14:07 -07:00
Slava Pestov
046c2040ce Merge pull request #60726 from slavapestov/variadic-generics-bits
AST: Plumbing for pack conformances and a few other variadic generics bits
2022-08-24 08:59:40 -04:00
Allan Shortlidge
e121dd3dd2 Merge pull request #60672 from tshortli/global-actor-access-control
Sema: Diagnose global actor attribute access and availability
2022-08-23 19:23:47 -07:00
Artem Chikin
19831bea58 Merge pull request #60585 from artemcm/SeparateUpToDateCheck
[Explicit Modules] On an explicit interface build, early exit if expected output is up-to-date.
2022-08-23 10:24:18 -07:00
Alexis Laferrière
ae9bc59a93 Merge pull request #60659 from xymus/print-missing-imports
[ModuleInterface] Print missing imports in swiftinterface
2022-08-23 09:47:25 -07:00
Slava Pestov
5c32f2136e AST: Introduce RequirementKind::SameCount 2022-08-23 11:12:00 -04:00
nate-chandler
064b713db0 Merge pull request #60599 from nate-chandler/eager_move
Add hooks for emitting lifetimes.
2022-08-22 19:34:27 -07:00
Holly Borla
34d962461f Merge pull request #60671 from hborla/invalid-existential-access
[Diagnostics] Improve diagnostics for invalid type access on existential types.
2022-08-22 19:39:50 -04:00
Alexis Laferrière
fefbbb6a1b [Sema] Note that the missing import is added automatically 2022-08-22 15:47:49 -07:00
Nate Chandler
b3ae13ddbe [Sema] Added _eagerMove and _lexical attributes.
The new attributes affect how the lifetimes of values may be shortened.
2022-08-21 21:44:53 -07:00
Allan Shortlidge
0e90e6a54a Sema: Diagnose use of global actor types with insufficient access on @usableFromInline declarations. 2022-08-19 22:27:11 -07:00
Allan Shortlidge
4d620c807d Sema: Diagnose when the access level of the global actor for a declaration is inconsistent with the access level of the declaration.
Resolves rdar://98200658 and https://github.com/apple/swift/issues/60420.
2022-08-19 22:27:11 -07:00