diff --git a/compiler/erg_compiler/context/initialize/mod.rs b/compiler/erg_compiler/context/initialize/mod.rs index ebfd0a88..14e12cd0 100644 --- a/compiler/erg_compiler/context/initialize/mod.rs +++ b/compiler/erg_compiler/context/initialize/mod.rs @@ -1852,6 +1852,15 @@ impl Context { ); self.register_builtin_impl("__mul__", op_t, Const, Private); let op_t = bin_op(l.clone(), r.clone(), mono_proj(mono_q("L"), "Output")); + let op_t = quant( + op_t, + set! { + static_instance("R", Type), + subtypeof(l.clone(), builtin_poly("FloorDiv", params.clone())) + }, + ); + self.register_builtin_impl("__floordiv__", op_t, Const, Private); + let op_t = bin_op(l.clone(), r.clone(), mono_proj(mono_q("L"), "Output")); let op_t = quant( op_t, set! {