mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 20:11:17 +00:00
- Order of attribute declaration is changed for `alias`. - Added `LANGUAGE_DEV_VERSION` env constant. - Rename `anyfault` -> `fault`. - Changed `fault` -> `faultdef`. - Added `attrdef` instead of `alias` for attribute aliases.
24 lines
445 B
Plaintext
24 lines
445 B
Plaintext
module foo{Type};
|
|
import std::io;
|
|
|
|
macro @hello(Type thing) {
|
|
io::printfn("%d", $sizeof(thing));
|
|
}
|
|
fn void hello() {}
|
|
|
|
module bar;
|
|
|
|
import foo @public;
|
|
|
|
typedef Int = int;
|
|
macro Int.@test(self) {}
|
|
|
|
alias intHello = foo::@hello{int}; // #error: An at-macro like
|
|
alias @intHello = foo::hello{int};
|
|
alias @intTest = Int.@test;
|
|
alias intTest = Int.@test; // #error: An at-macro like
|
|
|
|
|
|
fn void main(String[] args) {
|
|
@intHello(42);
|
|
} |