> On Oct 21, 2014, at 5:45 PM, Rick Mann <rm...@latencyzero.com> wrote:
> 
> I've created a sample project showing the behavior and submitted it with 
> radar #18730653.

Thanks for the bug report. There is a Swift importer bug here. Your enumerators 
all have a common name prefix, but that name prefix differs from the type name. 
I think the importer tries to remove that prefix from the Swift names but gets 
it wrong.

typedef NS_ENUM(int, McpResponseStatus) {
    MCP_RESPONSE_SUCCESS       = 0,
    MCP_RESPONSE_BAD_TOKEN     = 1
};
// Swift names should be McpResponseStatus.SUCCESS etc. 
// Swift is instead mistakenly importing these as 
McpResponseStatus.CP_RESPONSE_SUCCESS etc. (with only 'M' removed).


Workaround: add an enumerator that doesn't have the same name prefix. Then the 
importer will not try to strip any common prefix and you can use the long names 
in Swift.

typedef NS_ENUM(int, McpResponseStatus) {
    MCP_RESPONSE_SUCCESS       = 0,
    MCP_RESPONSE_BAD_TOKEN     = 1, 
    SwiftHackForMcpResponseStatus
};
// Swift names are McpResponseStatus.MCP_RESPONSE_SUCCESS etc.


-- 
Greg Parker     gpar...@apple.com     Runtime Wrangler



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to