✓
Passing This code compiles and runs correctly.
Code
// TEST: Instantiate generic with another instantiated generic as parameter
//
// Uses an already-instantiated type as a type argument.
//
// Expected: Compiles with nested instantiation
~import "$std/types"
const std = @import("std");
~struct(Box<T>) { value: T }
~struct(Wrapper<T>) { inner: T }
~type(IntBox = Box<i32>)
~type(WrappedIntBox = Wrapper<IntBox>)
~event test_nested {}
| done {}
~proc test_nested {
const inner = IntBox{ .value = 77 };
const wrapped = WrappedIntBox{ .inner = inner };
std.debug.print("Nested value: {d}\n", .{wrapped.inner.value});
return .{ .done = .{} };
}
~test_nested()
| done |> _
Actual
Nested value: 77
Test Configuration
MUST_RUN
Expected Behavior:
CONTAINS Nested value: 77