-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Copy link
Labels
kind:bugA bug in the code. Does not apply to documentation, specs, etc.A bug in the code. Does not apply to documentation, specs, etc.topic:compiler:interpreter
Description
Bug Report
code to reproduce:
abstract class A
abstract def foo : Int32
def bar
foo
end
end
class B < A
@test = 0
def foo : Int32
@test
end
end
puts B.new.as(A).bar
Interpreter fails with error while compiled binary succeeds.
$ cr i local/abstract_method_bug.cr
Using compiled compiler at .build/crystal
Crystal interpreter 1.18.2 [635ca37a6] (2025-10-21).
EXPERIMENTAL SOFTWARE: if you find a bug, please consider opening an issue in
https://github.com/crystal-lang/crystal/issues/new/
Nil assertion failed (NilAssertionError)
from src/nil.cr:113:7 in 'not_nil!'
from src/nil.cr:109:3 in 'not_nil!'
from src/compiler/crystal/interpreter/context.cr:396:18 in 'ivar_offset'
from src/compiler/crystal/interpreter/compiler.cr:3500:7 in 'ivar_offset'
from src/compiler/crystal/interpreter/compiler.cr:1038:21 in 'compile_instance_var'
from src/compiler/crystal/interpreter/compiler.cr:1862:11 in 'visit'
from src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
from src/compiler/crystal/interpreter/compiler.cr:243:5 in 'compile_def'
from src/compiler/crystal/interpreter/compiler.cr:2174:7 in 'create_compiled_def'
from src/compiler/crystal/interpreter/compiler.cr:1908:22 in 'visit'Add a 👍 reaction to issues you find important.
ysbaddaden
Metadata
Metadata
Assignees
Labels
kind:bugA bug in the code. Does not apply to documentation, specs, etc.A bug in the code. Does not apply to documentation, specs, etc.topic:compiler:interpreter