ci,cgen: put the Interface(unsafe{nil}) change for now behind -experimental (#21593)

This commit is contained in:
Delyan Angelov 2024-05-29 17:38:16 +03:00 committed by GitHub
parent 2d5c457901
commit a6016530f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2564,6 +2564,7 @@ fn (mut g Gen) expr_with_cast(expr ast.Expr, got_type_raw ast.Type, expected_typ
if exp_sym.info.is_generic {
fname = g.generic_fn_name(exp_sym.info.concrete_types, fname)
}
if g.pref.experimental {
// Do not allocate for `Interface(unsafe{nil})` casts
is_nil_cast := expr is ast.UnsafeExpr && expr.expr is ast.Nil
if is_nil_cast {
@ -2571,6 +2572,7 @@ fn (mut g Gen) expr_with_cast(expr ast.Expr, got_type_raw ast.Type, expected_typ
g.write('((void*)0)')
return
}
}
g.call_cfn_for_casting_expr(fname, expr, expected_is_ptr, exp_styp, got_is_ptr,
false, got_styp)
}