You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
record Foo[A] (
a: Type(A),
);
main() {
var foo = Foo[#1]();
if (foo.a != #1) // <-- compilation fails at this line
return 1;
if (Type(foo.a) != Type(#1))
return 2;
return 0;
}
Compilation fails with message:
###############################
}
forceinline default (!=)(a, b) : Bool = not (==)(a, b);
------------------------------------------------^
define ordered?;
###############################
/Users/yozh/devel/left/clay/build/compiler/../../lib-clay/core/operators/operators.clay(133,48): error: no matching overload found
... skippped
65 universal overloads not shown (show with -full-match-errors option)
compilation context:
==(Int32, Static[1])
/Users/yozh/devel/left/clay/build/compiler/../../lib-clay/core/operators/operators.clay(133,48):
!=(Int32, Static[1])
/Users/yozh/devel/left/clay/build/compiler/../../lib-clay/core/operators/operators.clay(432,18):
infixOperator(Int32, Static[!=], Static[1])
lang/records/params/static-int-param/test.clay(7,14):
main()
/Users/yozh/devel/left/clay/build/compiler/../../lib-clay/core/system/system.clay(23,30):
getExitCode(Int32)
/Users/yozh/devel/left/clay/build/compiler/../../lib-clay/core/system/system.clay(23,26):
runMain(Int32, Pointer[Pointer[Int8]], Static[main])
/Users/yozh/devel/left/clay/build/compiler/../../lib-clay/core/system/system.clay(39,13):
callMain(Static[main], Int32, Pointer[Pointer[Int8]])
external main
It means that foo.a has type Int32, but type of foo.a should be Static[1], because record type parameter is #1.
Similar code with 1, not #1 parameter works properly, see commit e6488ff.
The text was updated successfully, but these errors were encountered:
Code:
Compilation fails with message:
It means that
foo.a
has typeInt32
, but type offoo.a
should beStatic[1]
, because record type parameter is#1
.Similar code with
1
, not#1
parameter works properly, see commit e6488ff.The text was updated successfully, but these errors were encountered: