Skip to content

Commit 43d679b

Browse files
authored
cgen: cleanup comptime checks (#23372)
1 parent 495adc9 commit 43d679b

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

vlib/v/gen/c/assign.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ fn (mut g Gen) assign_stmt(node_ ast.AssignStmt) {
372372
g.assign_ct_type = var_type
373373
}
374374
} else if val is ast.InfixExpr && val.op in [.plus, .minus, .mul, .div, .mod]
375-
&& g.comptime.is_comptime(val.left) {
375+
&& val.left_ct_expr {
376376
ctyp := g.unwrap_generic(g.type_resolver.get_type(val.left))
377377
if ctyp != ast.void_type {
378378
ct_type_var := g.comptime.get_ct_type_var(val.left)

vlib/v/gen/c/str_intp.v

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,6 @@ fn (mut g Gen) str_val(node ast.StringInterLiteral, i int, fmts []u8) {
231231
}
232232

233233
fn (mut g Gen) string_inter_literal(node ast.StringInterLiteral) {
234-
// fn (mut g Gen) str_int2(node ast.StringInterLiteral) {
235234
inside_interface_deref_old := g.inside_interface_deref
236235
g.inside_interface_deref = true
237236
defer {

vlib/v/type_resolver/generic_resolver.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ pub fn (mut ct TypeResolver) unwrap_generic_expr(expr ast.Expr, default_typ ast.
1717
return expr.typ
1818
}
1919
ast.InfixExpr {
20-
if ct.info.is_comptime(expr.left) {
20+
if expr.left_ct_expr {
2121
return ct.resolver.unwrap_generic(ct.get_type(expr.left))
2222
}
23-
if ct.info.is_comptime(expr.right) {
23+
if expr.right_ct_expr {
2424
return ct.resolver.unwrap_generic(ct.get_type(expr.right))
2525
}
2626
return default_typ

vlib/v/type_resolver/type_resolver.v

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,12 +207,13 @@ pub fn (mut t TypeResolver) get_type(node ast.Expr) ast.Type {
207207
} else if node is ast.ParExpr && t.info.is_comptime(node.expr) {
208208
return t.get_type(node.expr)
209209
} else if node is ast.InfixExpr {
210-
if !node.left.is_literal() && t.info.is_comptime(node.left) {
210+
if node.left_ct_expr {
211211
return t.get_type(node.left)
212-
} else if !node.right.is_literal() && t.info.is_comptime(node.right) {
212+
} else if node.right_ct_expr {
213213
return t.get_type(node.right)
214214
}
215215
} else if node is ast.CastExpr && node.typ.has_flag(.generic) {
216+
// T(expr)
216217
return t.resolver.unwrap_generic(node.typ)
217218
}
218219
return ast.void_type

0 commit comments

Comments
 (0)