You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.
This should generate a program that throws a TypeLoadException at runtime (because the facade assemblies for Reflection.Emit are bogus for AOT - dotnet/corefx#30127), but instead we crash the compiler because we find out Foo cannot be loaded too late in the process.
The obvious fix would be to add factory.NecessaryTypeSymbol(typeArg); around here to make sure we hit the problem when compiling the problematic method (at which point this is handled by the existing infrastructure), except the current design of CheckCanGenerateEEType can't deal with recursion (adding the check makes us run out of stack for things like char implementing IEquatable<char>). It will need a slight rearchitecturing of the validation part.
The text was updated successfully, but these errors were encountered:
This should generate a program that throws a
TypeLoadException
at runtime (because the facade assemblies for Reflection.Emit are bogus for AOT - dotnet/corefx#30127), but instead we crash the compiler because we find outFoo
cannot be loaded too late in the process.The obvious fix would be to add
factory.NecessaryTypeSymbol(typeArg);
around here to make sure we hit the problem when compiling the problematic method (at which point this is handled by the existing infrastructure), except the current design ofCheckCanGenerateEEType
can't deal with recursion (adding the check makes us run out of stack for things likechar
implementingIEquatable<char>
). It will need a slight rearchitecturing of the validation part.The text was updated successfully, but these errors were encountered: