Skip to content

Commit 89d9491

Browse files
authored
Merge pull request #41284 from CodaFi/stay-inline-your-call-is-important-to-us
2 parents 967a8b4 + b68775c commit 89d9491

File tree

4 files changed

+6
-4
lines changed

4 files changed

+6
-4
lines changed

include/swift/AST/DiagnosticsSema.def

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5673,7 +5673,8 @@ ERROR(usable_from_inline_attr_with_explicit_access,
56735673
(DeclName, AccessLevel))
56745674

56755675
WARNING(inlinable_implies_usable_from_inline,none,
5676-
"'@inlinable' declaration is already '@usableFromInline'",())
5676+
"'@usableFromInline' attribute has no effect on '@inlinable' %0 %1",
5677+
(DescriptiveDeclKind, DeclName))
56775678

56785679
ERROR(usable_from_inline_attr_in_protocol,none,
56795680
"'@usableFromInline' attribute cannot be used in protocols", ())

lib/Sema/TypeCheckAttr.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2417,7 +2417,8 @@ void AttributeChecker::visitUsableFromInlineAttr(UsableFromInlineAttr *attr) {
24172417
// On internal declarations, @inlinable implies @usableFromInline.
24182418
if (VD->getAttrs().hasAttribute<InlinableAttr>()) {
24192419
if (Ctx.isSwiftVersionAtLeast(4,2))
2420-
diagnoseAndRemoveAttr(attr, diag::inlinable_implies_usable_from_inline);
2420+
diagnoseAndRemoveAttr(attr, diag::inlinable_implies_usable_from_inline,
2421+
VD->getDescriptiveKind(), VD->getName());
24212422
return;
24222423
}
24232424
}

test/Compatibility/attr_inlinable_old_spelling_42.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
// expected-warning@-1 {{'@_versioned' has been renamed to '@usableFromInline'}}{{2-12=usableFromInline}}
1010

1111
@inlinable @usableFromInline func redundantAttribute() {}
12-
// expected-warning@-1 {{'@inlinable' declaration is already '@usableFromInline'}}
12+
// expected-warning@-1 {{'@usableFromInline' attribute has no effect on '@inlinable' global function 'redundantAttribute()'}}

test/attr/attr_inlinable.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// expected-error@-1 {{'@inlinable' attribute cannot be applied to this declaration}}
77

88
@inlinable @usableFromInline func redundantAttribute() {}
9-
// expected-warning@-1 {{'@inlinable' declaration is already '@usableFromInline'}}
9+
// expected-warning@-1 {{'@usableFromInline' attribute has no effect on '@inlinable' global function 'redundantAttribute()'}} {{12-30=}}
1010

1111
private func privateFunction() {}
1212
// expected-note@-1 2{{global function 'privateFunction()' is not '@usableFromInline' or public}}

0 commit comments

Comments
 (0)