make print() generic, just like println()
							parent
							
								
									7fc899dfd6
								
							
						
					
					
						commit
						0c31172fb0
					
				| 
						 | 
				
			
			@ -834,12 +834,12 @@ fn (p mut Parser) fn_call_args(f mut Fn) *Fn {
 | 
			
		|||
		// Optimize `println`: replace it with `printf` to avoid extra allocations and
 | 
			
		||||
		// function calls. `println(777)` => `printf("%d\n", 777)`
 | 
			
		||||
		// (If we don't check for void, then V will compile `println(func())`)
 | 
			
		||||
		if i == 0 && f.name == 'println' && typ != 'string' && typ != 'void' {
 | 
			
		||||
		if i == 0 && (f.name == 'println' || f.name == 'print')  && typ != 'string' && typ != 'void' {
 | 
			
		||||
			T := p.table.find_type(typ)
 | 
			
		||||
			$if !windows {
 | 
			
		||||
				fmt := p.typ_to_fmt(typ, 0)
 | 
			
		||||
				if fmt != '' {
 | 
			
		||||
					p.cgen.resetln(p.cgen.cur_line.replace('println (', '/*opt*/printf ("' + fmt + '\\n", '))
 | 
			
		||||
					p.cgen.resetln(p.cgen.cur_line.replace(f.name + ' (', '/*opt*/printf ("' + fmt + '\\n", '))
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,7 +132,7 @@ const (
 | 
			
		|||
	CReserved = [
 | 
			
		||||
		'exit',
 | 
			
		||||
		'unix',
 | 
			
		||||
		'print',
 | 
			
		||||
		//'print',
 | 
			
		||||
		// 'ok',
 | 
			
		||||
		'error',
 | 
			
		||||
		'malloc',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue