return NULL;
}
+ if ((*member)->type->kind == Type_Kind_Struct
+ && (*member)->type->Struct.status == SPS_Start) {
+ s_node->pending_type_is_valid = 0;
+ return NULL;
+ }
+
mem_alignment = type_alignment_of((*member)->type);
if (mem_alignment <= 0) {
onyx_report_error((*member)->token->pos, Error_Critical, "Invalid member type: %s. Has alignment %d", type_get_name((*member)->type), mem_alignment);
--- /dev/null
+High-Level Goals
+
+There are many ideas that are wizzing around my head
+when I think about the future of Onyx, and I'm having
+a hard-time deciding what needs to be done and when.
+I think writing everything out and creating a (rough)
+timeline will be beneficial to me and the future of
+the language.
+
+
+
+
Mapped Directories
-==================
\ No newline at end of file
+==================
+
+I am thinking about complicating how the file resolution
+system works when loading new files. Currently, it is
+intentionally very simple. There is a global "search path"
+that will be sequentially appended to the file path being
+loaded, and the first full path that is a file will be used.
+This makes it easy to use, but also causes some confusion.
+
+I think it would be worth investigating using a *relative only*
+scheme for file resolution, UNLESS you specify the full path,
+or a *mapped directory* to use as the base directory.
+
+For example, instead of relying on "/usr/share/onyx" to be in
+the search path to make "core/std" work, we would instead have
+"core" be a mapped directory to "/usr/share/onyx/core". Then,
+you would say, `#load "core:std"` or `#load core "std"` to
+specify the base path.