@@ -683,7 +683,8 @@ Planned mapping:
683683- C parameter -> ` SemanticArgument `
684684- C primitive -> ` SemanticType `
685685- C pointer -> constraints and ownership metadata
686- - C array -> ` Shape(...) ` , ` ORDER_C ` , and pointer/extent metadata
686+ - C array -> subscription shape notation such as ` T[n] ` , order metadata such as
687+ ` ORDER_C ` , and pointer/extent metadata
687688- ` const ` -> read-only ownership/constraint metadata
688689- ` restrict ` -> aliasing metadata
689690- structs/unions -> ` SemanticClass ` or named opaque semantic type
@@ -712,10 +713,11 @@ Likely stub patterns:
712713- plain scalar functions:
713714 - ` def f(x: Int32) -> Float64: ... `
714715- pointer arguments:
715- - use semantic constraints such as ` Pointer ` , ` Writable ` , ` Const ` , ` Shape `
716- only after the IR supports them cleanly
716+ - use storage/calling contracts such as ` Ptr(...) ` , ` Const(...) ` , writable
717+ metadata, and explicit extent metadata only after the IR supports them
718+ cleanly
717719- arrays:
718- - ` Float64[Shape("n") , ORDER_C] `
720+ - ` Annotated[ Float64[n] , ORDER_C]`
719721- opaque handles:
720722 - classes or named semantic types with ownership constraints
721723- structs:
@@ -727,9 +729,9 @@ Likely stub patterns:
727729 - ` Final[...] `
728730
729731The existing ` .pyi ` parser already supports ` Final ` , ` private ` , ` native_call ` ,
730- imports, classes, functions, shapes, and native projection entries. C-specific
731- work should extend the semantic model intentionally before changing ` .pyi `
732- syntax.
732+ imports, classes, functions, shape subscriptions, storage contracts, metadata,
733+ and native projection entries. C-specific work should extend the semantic model
734+ intentionally before changing ` .pyi ` syntax.
733735
734736For function pointers and callbacks, parser extraction and later wrappability
735737are separate decisions. The parser should extract the function pointer type into
0 commit comments