mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +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.
35 lines
324 B
Plaintext
35 lines
324 B
Plaintext
interface Foo
|
|
{
|
|
fn int foo();
|
|
}
|
|
|
|
struct Abc (Foo)
|
|
{
|
|
int a;
|
|
}
|
|
|
|
struct Bcd
|
|
{
|
|
inline Abc a;
|
|
}
|
|
|
|
struct Def
|
|
{
|
|
Abc a;
|
|
}
|
|
|
|
fn int Abc.foo(&self) @dynamic => 1;
|
|
|
|
typedef Foob = inline Abc;
|
|
|
|
fn void test1()
|
|
{
|
|
Foob b;
|
|
Abc x;
|
|
Bcd y;
|
|
Def d;
|
|
Foo f = &x;
|
|
f = &b;
|
|
f = &y;
|
|
f = &d; // #error: assume the interface is implemented
|
|
} |