|
| 1 | +pragma experimental solidity; |
| 2 | + |
| 3 | +type uint; |
| 4 | +type string; |
| 5 | + |
| 6 | +type T(A); |
| 7 | +type U(B) = T(B); |
| 8 | + |
| 9 | +function fun() { |
| 10 | + let w: U(uint); |
| 11 | + let v: T(uint); |
| 12 | + U.rep(w); |
| 13 | + U.abs(v); |
| 14 | + |
| 15 | + let s: U(string); |
| 16 | + let t: T(string); |
| 17 | + U.rep(s); |
| 18 | + U.abs(t); |
| 19 | +} |
| 20 | +// ==== |
| 21 | +// EVMVersion: >=constantinople |
| 22 | +// compileViaYul: true |
| 23 | +// ---- |
| 24 | +// Warning 2264: (0-29): Experimental features are turned on. Do not use experimental features on live deployments. |
| 25 | +// Info 4164: (31-41): Inferred type: uint |
| 26 | +// Info 4164: (42-54): Inferred type: string |
| 27 | +// Info 4164: (56-66): Inferred type: tfun('v:type, T('v:type)) |
| 28 | +// Info 4164: (62-65): Inferred type: 'u:type |
| 29 | +// Info 4164: (63-64): Inferred type: 'u:type |
| 30 | +// Info 4164: (67-84): Inferred type: tfun('x:type, U('x:type)) |
| 31 | +// Info 4164: (73-76): Inferred type: 'w:type |
| 32 | +// Info 4164: (74-75): Inferred type: 'w:type |
| 33 | +// Info 4164: (79-83): Inferred type: T('w:type) |
| 34 | +// Info 4164: (79-80): Inferred type: tfun('w:type, T('w:type)) |
| 35 | +// Info 4164: (81-82): Inferred type: 'w:type |
| 36 | +// Info 4164: (86-245): Inferred type: () -> () |
| 37 | +// Info 4164: (98-100): Inferred type: () |
| 38 | +// Info 4164: (111-121): Inferred type: U(uint) |
| 39 | +// Info 4164: (114-121): Inferred type: U(uint) |
| 40 | +// Info 4164: (114-115): Inferred type: tfun(uint, U(uint)) |
| 41 | +// Info 4164: (116-120): Inferred type: uint |
| 42 | +// Info 4164: (131-141): Inferred type: T(uint) |
| 43 | +// Info 4164: (134-141): Inferred type: T(uint) |
| 44 | +// Info 4164: (134-135): Inferred type: tfun(uint, T(uint)) |
| 45 | +// Info 4164: (136-140): Inferred type: uint |
| 46 | +// Info 4164: (147-155): Inferred type: T('bi:type) |
| 47 | +// Info 4164: (147-152): Inferred type: U(uint) -> T('bi:type) |
| 48 | +// Info 4164: (147-148): Inferred type: U('bg:type) |
| 49 | +// Info 4164: (153-154): Inferred type: U(uint) |
| 50 | +// Info 4164: (161-169): Inferred type: U('bm:type) |
| 51 | +// Info 4164: (161-166): Inferred type: T(uint) -> U('bm:type) |
| 52 | +// Info 4164: (161-162): Inferred type: U('bk:type) |
| 53 | +// Info 4164: (167-168): Inferred type: T(uint) |
| 54 | +// Info 4164: (180-192): Inferred type: U(string) |
| 55 | +// Info 4164: (183-192): Inferred type: U(string) |
| 56 | +// Info 4164: (183-184): Inferred type: tfun(string, U(string)) |
| 57 | +// Info 4164: (185-191): Inferred type: string |
| 58 | +// Info 4164: (202-214): Inferred type: T(string) |
| 59 | +// Info 4164: (205-214): Inferred type: T(string) |
| 60 | +// Info 4164: (205-206): Inferred type: tfun(string, T(string)) |
| 61 | +// Info 4164: (207-213): Inferred type: string |
| 62 | +// Info 4164: (220-228): Inferred type: T('bu:type) |
| 63 | +// Info 4164: (220-225): Inferred type: U(string) -> T('bu:type) |
| 64 | +// Info 4164: (220-221): Inferred type: U('bs:type) |
| 65 | +// Info 4164: (226-227): Inferred type: U(string) |
| 66 | +// Info 4164: (234-242): Inferred type: U('by:type) |
| 67 | +// Info 4164: (234-239): Inferred type: T(string) -> U('by:type) |
| 68 | +// Info 4164: (234-235): Inferred type: U('bw:type) |
| 69 | +// Info 4164: (240-241): Inferred type: T(string) |
0 commit comments