HaxeFoundation / HaxeFoundation/hashlink

Plugin load type too strict for shared type

Open
#951 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
901
Forks
201
Avg merge
18h 9m
Merged PRs (30d)
8

Description

For the moment the plugin system only load a class if Plugin and Main share exactly the same definition for excluded classes.

This isn't pratical for real use cases, where we'd like to build Plugin independent of Main. E.g.
- add some private variables/function in some class, without the need to rebuild the Plugin;
- allow h3d.Buffer remains Dynamic in the Plugin but have a driver definition in Main to avoid useless dependencies;
- do not actually include and try to load all classes if the Plugin does not depend on it

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the plugin system's type-loading and excluded-class handling; the issue names no specific files or tests. Compare how Plugin and Main definitions are matched, then verify that independent private additions, differing h3d.Buffer definitions, and unused classes no longer require identical definitions or loading.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.