Skip to content

Bug in closure conversion for cursed code #56510

@Keno

Description

@Keno
Member

The following fails to properly closure convert one of the references to X, leading to an incorrect error:

julia> struct X <: (global f; (f() = X); Any)
       x::f()
       end
ERROR: TypeError: in Type, in parameter, expected Type, got a value of type Core.Box
Stacktrace:
 [1] top-level scope
   @ REPL[1]:1

Activity

shubh4mk

shubh4mk commented on Nov 11, 2024

@shubh4mk
topolarity

topolarity commented on Feb 20, 2025

@topolarity
Member

On a related (?) note, this segfaults:

struct Foo <: (global Bar;
               struct Bar
                   x::Foo
               end; Any)
    y::Bar
end
[266101] signal 11 (1): Segmentation fault
in expression starting at REPL[1]:1
mtcache_hash_lookup at /cache/build/builder-amdci4-1/julialang/julia-master/src/typemap.c:312 [inlined]
mtcache_hash_lookup at /cache/build/builder-amdci4-1/julialang/julia-master/src/typemap.c:308 [inlined]
jl_typemap_intersection_visitor at /cache/build/builder-amdci4-1/julialang/julia-master/src/typemap.c:791
jl_typemap_intersection_visitor at /cache/build/builder-amdci4-1/julialang/julia-master/src/typemap.c:770
get_intersect_matches at /cache/build/builder-amdci4-1/julialang/julia-master/src/gf.c:1762 [inlined]
jl_method_table_activate at /cache/build/builder-amdci4-1/julialang/julia-master/src/gf.c:2292
ijl_method_table_insert at /cache/build/builder-amdci4-1/julialang/julia-master/src/gf.c:2491
ijl_method_def at /cache/build/builder-amdci4-1/julialang/julia-master/src/method.c:1262
eval_methoddef at /cache/build/builder-amdci4-1/julialang/julia-master/src/interpreter.c:109
eval_body at /cache/build/builder-amdci4-1/julialang/julia-master/src/interpreter.c:629
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    compiler:loweringSyntax lowering (compiler front end, 2nd stage)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @Keno@topolarity@shubh4mk

        Issue actions

          Bug in closure conversion for cursed code · Issue #56510 · JuliaLang/julia