HaxeFoundation / HaxeFoundation/haxe

macro functions in externs default to private

Open
#9,209 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.