test(C0.2): pin curated-bindings shape — #source-only unit + hand #foreign works (JIT+AOT), but the ref is decorative (xfail for C3.1)
This commit is contained in:
18
examples/1620-cimport-foreign-ref-unvalidated.sx
Normal file
18
examples/1620-cimport-foreign-ref-unvalidated.sx
Normal file
@@ -0,0 +1,18 @@
|
||||
// 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
|
||||
}
|
||||
Reference in New Issue
Block a user