mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Types converts to typeid implicitly.
This commit is contained in:
@@ -37,16 +37,26 @@ fn usz? available(InStream s)
|
||||
return 0;
|
||||
}
|
||||
|
||||
macro bool @is_instream(#expr)
|
||||
macro bool @is_instream(#expr) @const
|
||||
{
|
||||
return @assignable_to(#expr, InStream);
|
||||
}
|
||||
|
||||
macro bool @is_outstream(#expr)
|
||||
macro bool @is_not_instream_if_ptr(#expr) @const
|
||||
{
|
||||
return !$defined(&#expr) ||| !@is_instream(&#expr);
|
||||
}
|
||||
|
||||
macro bool @is_outstream(#expr) @const
|
||||
{
|
||||
return @assignable_to(#expr, OutStream);
|
||||
}
|
||||
|
||||
macro bool @is_not_outstream_if_ptr(#expr) @const
|
||||
{
|
||||
return !$defined(&#expr) ||| !@is_outstream(&#expr);
|
||||
}
|
||||
|
||||
<*
|
||||
@param [&out] ref
|
||||
@require @is_instream(stream) : "Expected a stream"
|
||||
|
||||
Reference in New Issue
Block a user