// Phase 4 verification: an `impl Into(...) for ...` is registered into the
// global impl table when its module is imported anywhere in the program, but
// is only **visible** from files that themselves transitively import the impl's
// defining module. Here:
//   - issue-0033-impl.sx declares an `impl Into(Wrap) for s64`.
//   - issue-0033-user.sx tries to `xx 7 : Wrap` but only imports the shared
//     types — not the impl module.
//   - The xx at issue-0033-user.sx:7 must produce a clean "no visible xx
//     conversion" diagnostic, not silently fall through to whatever was
//     registered in another module.

#import "modules/std.sx";
#import "./issue-0033-impl.sx";
#import "./issue-0033-user.sx";

main :: () -> s32 { run_user(); }
