================== traits_size ================== program() var i: Int := 1 s: Int := cast(#size(Int): Int) a: [10]Int as: Int := cast(#size([10]Int): Int) p: Int := cast(#size(^Word8): Int) begin assert(s > 0); assert(as = 10 * cast(#size(Int): Int)); assert(p > 0) end. --- (source_file (program_declaration (var_section (variable_declaration (identifier_definition (identifier)) (identifier) (literal (integer))) (variable_declaration (identifier_definition (identifier)) (identifier) (cast_expression (traits_expression (trait) (identifier)) (identifier))) (variable_declaration (identifier_definition (identifier)) (array_type (literal (integer)) (identifier))) (variable_declaration (identifier_definition (identifier)) (identifier) (cast_expression (traits_expression (trait) (array_type (literal (integer)) (identifier))) (identifier))) (variable_declaration (identifier_definition (identifier)) (identifier) (cast_expression (traits_expression (trait) (pointer_type (identifier))) (identifier)))) (call_expression (identifier) (argument_list (binary_expression (identifier) (literal (integer))))) (call_expression (identifier) (argument_list (binary_expression (identifier) (binary_expression (literal (integer)) (cast_expression (traits_expression (trait) (identifier)) (identifier)))))) (call_expression (identifier) (argument_list (binary_expression (identifier) (literal (integer)))))))