hiroshinishio / julia

The Julia Programming Language
https://julialang.org/
MIT License
0 stars 0 forks source link

GitAuto: Core.println repr wrong for Core.IntrinsicFunction type #17

Closed gitauto-for-dev[bot] closed 2 months ago

gitauto-for-dev[bot] commented 2 months ago

Original issue: #9

Why the bug occurs

The bug occurs because the jl_static_show function in rtutils.c is not correctly handling the special case of Core.IntrinsicFunction types. The Symbol name in the MethodTable of jl_intrinsic_type is causing confusion, leading to incorrect representation.

How to reproduce

  1. Execute which(Core.Compiler.is_pure_intrinsic_infer, (Core.IntrinsicFunction,)).sig in Julia REPL to get the correct signature.
  2. Pipe the result to Core.println and observe the incorrect representation.
  3. Check the name and method table name of Core.IntrinsicFunction to see the inconsistency.

How to fix

  1. Modify the jl_static_show function in rtutils.c to utilize the jl_intrinsic_name function for Core.IntrinsicFunction types. This will ensure the correct identifier is printed.
  2. Update the is_globname_binding function to take an additional argument indicating whether v is a value or type. This will allow branching based on this information instead of using the || operator, which currently leads to incorrect behavior.

Test these changes locally

git checkout -b gitauto-wes/issue-#9-6f08475f-834a-434e-ac1e-9f74b04d294d
git pull origin gitauto-wes/issue-#9-6f08475f-834a-434e-ac1e-9f74b04d294d