HaxeFoundation / HaxeFoundation/haxe
macro functions in externs default to private
Open
platform-macro
- Dominant language
- Haxe
- Stars
- 6.9k
- Forks
- 715
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 11
Description
As discovered in https://github.com/HaxeFoundation/haxe/pull/9205, the default visibility of `macro` functions in externs seems to be `private`, which seems very counter-intuitive. That creates the following situation (visibility that Haxe uses by default in comments, you can also easily see this by hovering over the function names in VSCode):
```haxe
extern class Test {
/* public */ function a():Void;
/* public */ inline function b():Void {}
/* private */ macro inline function c():Void {}
}
```
Surely this is just an oversight / not an intentional design decision?
Contributor guide
Assessment
This issue has not been assessed yet.