That is the asset in the compiler that is being hit when the code unsafeBitCasts to a c function.
typealias TypeMetadataAccessor = @convention(c) () -> AnyClass? let accessor = unsafeBitCast(symbol, TypeMetadataAccessor.self) // <— this causes the compiler to assert there. > On Dec 30, 2015, at 10:03 AM, Joe Groff via swift-dev <[email protected]> > wrote: > > >> On Dec 29, 2015, at 9:04 PM, Luke Howard via swift-dev <[email protected]> >> 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 > _______________________________________________ > swift-dev mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-dev _______________________________________________ swift-dev mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-dev
