tests: add as_cast_already_smartcast_sumtype_test.v (#10517)
							parent
							
								
									7ec55e4c51
								
							
						
					
					
						commit
						1a52da9f62
					
				| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
struct S1 {
 | 
			
		||||
	s1 string = 'abc'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct Empty {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type Sum = Empty | S1
 | 
			
		||||
 | 
			
		||||
fn test_as_cast_already_smartcast_sumtype() {
 | 
			
		||||
	a := Sum(S1{})
 | 
			
		||||
	if a is S1 {
 | 
			
		||||
		println('if expr: $a.s1')
 | 
			
		||||
		assert a.s1 == 'abc'
 | 
			
		||||
		v1 := a as S1
 | 
			
		||||
		println('if expr (as cast): $v1.s1')
 | 
			
		||||
		assert v1.s1 == 'abc'
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	match a {
 | 
			
		||||
		S1 {
 | 
			
		||||
			println('match expr: $a.s1')
 | 
			
		||||
			assert a.s1 == 'abc'
 | 
			
		||||
			v1 := a as S1
 | 
			
		||||
			println('match expr (as cast): $v1.s1')
 | 
			
		||||
			assert v1.s1 == 'abc'
 | 
			
		||||
		}
 | 
			
		||||
		else {}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue