Skip to content

Commit 2cac9c5

Browse files
authored
[QoI] Improve fixit for missing parameter clause in initializer decl (#5042)
Fix `init {}` to `init() {}` instead of `init () {}`.
1 parent 07e66a4 commit 2cac9c5

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

lib/Parse/ParsePattern.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -736,7 +736,7 @@ Parser::parseConstructorArguments(DeclName &FullName,
736736
{
737737
auto diag = diagnose(Tok, diag::expected_lparen_initializer);
738738
if (Tok.is(tok::l_brace))
739-
diag.fixItInsert(Tok.getLoc(), "() ");
739+
diag.fixItInsertAfter(PreviousLoc, "()");
740740
}
741741

742742
// Create an empty parameter list to recover.

test/Parse/init_deinit.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ struct FooStructConstructorB {
99
}
1010

1111
struct FooStructConstructorC {
12-
init {} // expected-error {{expected '('}}{{8-8=() }}
12+
init {} // expected-error {{expected '('}}{{7-7=()}}
13+
init<T> {} // expected-error {{expected '('}} {{10-10=()}}
14+
init? { self.init() } // expected-error {{expected '('}} {{8-8=()}}
1315
}
1416

1517

@@ -33,7 +35,7 @@ class FooClassDeinitializerB {
3335
deinit { }
3436
}
3537

36-
init {} // expected-error {{initializers may only be declared within a type}} expected-error {{expected '('}} {{6-6=() }}
38+
init {} // expected-error {{initializers may only be declared within a type}} expected-error {{expected '('}} {{5-5=()}}
3739
init() // expected-error {{initializers may only be declared within a type}}
3840
init() {} // expected-error {{initializers may only be declared within a type}}
3941

0 commit comments

Comments
 (0)