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
that's a fair point. this is not an issue in practice, because the name of the type returned by InitClassName has symbols like $ in it, so you could not actually write a type with such a name in c# (or even in clojure, because we prefix type names with the namespaces they were defined in). an additional check would not hurt anything, though. i am focused on finishing MAGIC for the next few months so i will not be able to hack on ClojureCLR myself. if you want to take out a PR against https://github.com/arcadia-unity/clojure-clr i will merge that in once you've signed the clojure contributor's agreement (required by upstream).
Yes, normally it's safe, while when building in Unity3D and enable strip code, it made an "Incompatibility" with unity3d linker, and cause a bug here.
Personally, i thought it may be a problem with unity, but that's a complex prove, and could easier bypass it using the way above.
I would check the clojure contributor agreement later and try to make a PR.
Sorry, this issue is for ClojureCLR (https://github.com/arcadia-unity/clojure-clr), but that project does not accept issue, so i write it here.
When ClojureCLR invoke a clojure code, it iterate over all assemblies and find the type with
initClassName
matched. source code here:But it's not safe, as there may be another type have a same name , and would be wrongly loaded.
To prevent this situation, we could double check using excepted assembly name, like this:
The text was updated successfully, but these errors were encountered: