mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			488 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			488 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
pragma abicoder v2;
 | 
						|
 | 
						|
contract C {
 | 
						|
    struct S {
 | 
						|
        uint64 a;
 | 
						|
        uint64 b;
 | 
						|
    }
 | 
						|
    struct S1 {
 | 
						|
        uint256 a;
 | 
						|
        S s;
 | 
						|
        uint256 c;
 | 
						|
    }
 | 
						|
 | 
						|
    function f(S1 calldata s1)
 | 
						|
        external
 | 
						|
        pure
 | 
						|
        returns (uint256 a, uint64 b0, uint64 b1, uint256 c)
 | 
						|
    {
 | 
						|
        a = s1.a;
 | 
						|
        b0 = s1.s.a;
 | 
						|
        b1 = s1.s.b;
 | 
						|
        c = s1.c;
 | 
						|
    }
 | 
						|
}
 | 
						|
// ====
 | 
						|
// compileViaYul: also
 | 
						|
// ----
 | 
						|
// f((uint256,(uint64,uint64),uint256)): 42, 1, 2, 23 -> 42, 1, 2, 23
 |