Files
sx/examples/1620-cimport-foreign-ref-unvalidated.sx

19 lines
607 B
Plaintext

// Pins the C3 gap (PLAN-C C0.2b): the `#foreign` library/unit ref is
// DECORATIVE today — `nosuchunit` names nothing anywhere, yet this
// compiles and the symbol resolves globally (the unit's objects are in
// the program; the ref is never consulted). After C3 this is a
// compile-time diagnostic: a #foreign ref must name a #library or a
// named `#import c` unit.
#import "modules/std.sx";
refs :: #import c {
#source "1620-cimport-foreign-ref-unvalidated/ref.c";
};
ref_answer :: () -> i32 #foreign nosuchunit "ref_answer";
main :: () -> i32 {
print("ref = {}\n", ref_answer());
0
}