aaron.ballman added a comment. In D84005#2172747 <https://reviews.llvm.org/D84005#2172747>, @doug.gregor wrote:
> In D84005#2171982 <https://reviews.llvm.org/D84005#2171982>, @MForster wrote: > > > @milseman, @doug.gregor, could you please help with the open questions on > > this review? > > > > Specifically: > > > > - Is `ns_error_domain` ever needed for something other than an enum? > > > No, it only makes sense on enums. > > > - Why is this designed in the way it is (requiring an identifier for the > > domain, not allowing literals and then only using the name of the > > identifier from Swift)? > > It's codifying the design of NSError, which has been this way since... longer > than Clang has existed, and is independent of Swift. NSErrors have a domain > (identified by an NSString constant symbol, not a literal, for pointer > uniqueness and code size) and a code (an integer, conventionally defined by > an enum). The two need to be used together, e.g., you create an NSError with > a domain and a code from that domain. This attribute finally ties those > things together at the source level. Ah, thank you, that makes the design far more clear to me. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84005/new/ https://reviews.llvm.org/D84005 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits