mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
$and, $or, $is_const, $assignable, .is_eq, .is_ordered, $defined($vatype(2)) works looking if we can create a type, $defined(foo[0]) $defined(foo()). Remove $checks and @checked. Improvide casting checks to always work without destructive changes.
This commit is contained in:
committed by
Christoffer Lerno
parent
8a12dc5bd4
commit
9af37fe427
24
test/unit/regression/castable_assignable.c3
Normal file
24
test/unit/regression/castable_assignable.c3
Normal file
@@ -0,0 +1,24 @@
|
||||
module castable @test;
|
||||
|
||||
fn void assignable()
|
||||
{
|
||||
assert($assignable(12.0, int) == false);
|
||||
assert($assignable(12, int));
|
||||
assert(!$assignable("12", int));
|
||||
assert($assignable("12", String));
|
||||
assert($assignable("12", char*));
|
||||
assert($assignable("12", char[*]));
|
||||
assert($assignable("12", char[2]));
|
||||
assert($assignable("12", char[3]));
|
||||
}
|
||||
|
||||
fn void castable()
|
||||
{
|
||||
assert($defined((int)12.0));
|
||||
assert($defined((int)12));
|
||||
assert(!$defined((int)"12"));
|
||||
assert($defined((String)"12"));
|
||||
assert($defined((char*)"12"));
|
||||
assert($defined((char[2])"12"));
|
||||
assert($defined((char[3])"12"));
|
||||
}
|
||||
Reference in New Issue
Block a user