swiftlang/swift

[SR-9789] Use "pretty" nullability in generated ObjC headers

Open

#52,214 opened on Jan 29, 2019

View on GitHub
 (5 comments) (0 reactions) (1 assignee)Swift (10,719 forks)batch import
PrintAsClangcompilergood first issueimprovement

Repository metrics

Stars
 (69,989 stars)
PR merge metrics
 (Avg merge 8d 17h) (510 merged PRs in 30d)

Description

Previous ID SR-9789
Radar None
Original Reporter @belkadan
Type Improvement
Votes 0
Component/s Compiler
Labels Improvement, PrintAsObjC, StarterBug
Assignee @adellibovi
Priority Medium

md5: 0bc925759fd7590c0a91c67c7a5de68f

Issue Description:

Objective-C supports two "pretty" forms for nullability qualifiers: within the parentheses of a method's parameters or return type:

- (id _Nullable)computate:(int * _Nonnull)values;

- (nullable id)computate:(nonnull int *)values;

And in the property attributes list for a property:

@property id _Nullable owner;

@property (nullable) id owner;

PrintAsObjC should adopt these where valid; right now it only uses them in hardcoded cases for instancetype.

Contributor guide