Skip to content

Commit a2f27c7

Browse files
committed
Enable InlineArray type sugar
Promote it from an experimental feature. rdar://155607927
1 parent 638901a commit a2f27c7

File tree

15 files changed

+9
-39
lines changed

15 files changed

+9
-39
lines changed

CodeGeneration/Sources/SyntaxSupport/ExperimentalFeatures.swift

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ public enum ExperimentalFeature: String, CaseIterable {
2121
case coroutineAccessors
2222
case keypathWithMethodMembers
2323
case oldOwnershipOperatorSpellings
24-
case inlineArrayTypeSugar
2524
case defaultIsolationPerFile
2625

2726
/// The name of the feature as it is written in the compiler's `Features.def` file.
@@ -43,8 +42,6 @@ public enum ExperimentalFeature: String, CaseIterable {
4342
return "KeypathWithMethodMembers"
4443
case .oldOwnershipOperatorSpellings:
4544
return "OldOwnershipOperatorSpellings"
46-
case .inlineArrayTypeSugar:
47-
return "InlineArrayTypeSugar"
4845
case .defaultIsolationPerFile:
4946
return "DefaultIsolationPerFile"
5047
}
@@ -69,8 +66,6 @@ public enum ExperimentalFeature: String, CaseIterable {
6966
return "keypaths with method members"
7067
case .oldOwnershipOperatorSpellings:
7168
return "`_move` and `_borrow` as ownership operators"
72-
case .inlineArrayTypeSugar:
73-
return "sugar type for InlineArray"
7469
case .defaultIsolationPerFile:
7570
return "set default actor isolation for a file"
7671
}

CodeGeneration/Sources/SyntaxSupport/TypeNodes.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,6 @@ public let TYPE_NODES: [Node] = [
313313
Node(
314314
kind: .inlineArrayType,
315315
base: .type,
316-
experimentalFeature: .inlineArrayTypeSugar,
317316
nameForDiagnostics: "inline array type",
318317
documentation: "An inline array type `[3 of Int]`, sugar for `InlineArray<3, Int>`.",
319318
children: [

Sources/SwiftParser/Types.swift

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -647,8 +647,6 @@ extension Parser {
647647
unexpectedBeforeLSquare: RawUnexpectedNodesSyntax?,
648648
leftSquare: RawTokenSyntax
649649
) -> RawTypeSyntax {
650-
precondition(self.experimentalFeatures.contains(.inlineArrayTypeSugar))
651-
652650
// We allow both values and types here and for the element type for
653651
// better recovery in cases where the user writes e.g '[Int of 3]'.
654652
let count = self.parseGenericArgumentType()
@@ -876,10 +874,6 @@ extension Parser.Lookahead {
876874
/// Checks whether we can parse the start of an InlineArray type. This does
877875
/// not include the element type.
878876
mutating func canParseStartOfInlineArrayTypeBody() -> Bool {
879-
guard self.experimentalFeatures.contains(.inlineArrayTypeSugar) else {
880-
return false
881-
}
882-
883877
// We must have at least '[<type-or-integer> of', which cannot be any other
884878
// kind of expression or type. We specifically look for both types and
885879
// integers for better recovery in e.g cases where the user writes e.g
@@ -908,7 +902,7 @@ extension Parser.Lookahead {
908902

909903
mutating func canParseCollectionTypeBody() -> Bool {
910904
// Check to see if we have an InlineArray sugar type.
911-
if self.experimentalFeatures.contains(.inlineArrayTypeSugar) {
905+
do {
912906
var lookahead = self.lookahead()
913907
if lookahead.canParseInlineArrayTypeBody() {
914908
self = lookahead

Sources/SwiftParser/generated/ExperimentalFeatures.swift

Lines changed: 1 addition & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/SwiftSyntax/Documentation.docc/generated/SwiftSyntax.md

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/SwiftSyntax/generated/SyntaxAnyVisitor.swift

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/SwiftSyntax/generated/SyntaxEnum.swift

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/SwiftSyntax/generated/SyntaxKind.swift

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/SwiftSyntax/generated/SyntaxRewriter.swift

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)