[swift-dev] ExistentialMetatypeType assertion failure on Linux

Joe Groff jgroff at apple.com
Wed Dec 30 12:03:44 CST 2015


> On Dec 29, 2015, at 9:04 PM, Luke Howard via swift-dev <swift-dev at swift.org> wrote:
> 
> I’m seeing an assertion failure when I try to compile the following on Linux:
> 
> 	typealias TypeMetadataAccessor = @convention(c) () -> AnyClass?
> 
> The assertion failing is:
> 
>    assert(getASTContext().LangOpts.EnableObjCInterop ||
>           *repr != MetatypeRepresentation::ObjC);
> 
> in ExistentialMetatypeType::ExistentialMetatypeType(). Commenting it out and the code compiles and works.
> 
> Can someone that understands the compiler suggest the correct fix?

It looks like you're trying to poke at private runtime metadata structures; please don't do that. What are you trying to do?

-Joe


More information about the swift-dev mailing list