hsutter / cppfront

A personal experimental C++ Syntax 2 -> Syntax 1 compiler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Help requested: Identifying higher-priority open issues/PRs

hsutter opened this issue · comments

Now that the initial documentation is complete, I can spend more time writing and reviewing code, and catching up with issues and PRs.

What would help me is: If there is an issue or PR you think should be higher priority for me to look at sooner, please reply here with an individual comment for each issue/PR, or if a comment for it already exists please upvote that comment.

For example, if you think issues 5555, 6666, and 7777 are important, and this thread only has a comment already for 6666:

  • please create one new comment for 5555
  • please upvote the existing comment for 6666
  • please create one new comment for 7777

Thanks!

Feature/regular expression metafunction #904

feat: evaluate program-defined metafunctions (based on #797) #907

Rework of is that adds new functionalities or simplify implementation #701

[BUG] Last use of member function cannot be inout this #999

Per: #1004 (comment)

[BUG] UFCS fails with move after last-use #1002

Per: #1004 (comment)

[BUG] Last-use of an object passed as argument to a new object's constructor fails #968

(There are 2 bugs listed in #968 which I think are related.)

feat: support function types #526

feat: recognize requires expressions #596

(maybe not exactly the syntax in the proposed PR, but I consider authoring concepts to be essential in good modern C++)

Conditional compilation support (static if?) #942

[BUG] Impossible to use destructuring in for loops #500
[BUG] Assignment of multiple return values #543

(I've grouped them since I think they'll likely be resolved by the same solution.)

[BUG] Modules support #269

One big step is that Clang 18 cancels the ODR check for global module fragment.
link
After that I find that module can be easily integrated in existing projects, mixing module and non-module headers.

In fact, I use cppfront in my projects with manually applying #569 on a daily basis. :(

Allow template specialization #598

[BUG] Can't pass dependent type template argument #727

commented

Add support for several translation units using the old syntax (i.e., .cpp/.h files).
i believe that old code must also be able to include cpp2 headers, at least if modules are not used..
edit: cppfront should produce headers that can be consumed by cpp1, if module exports are not used.

related bugs:
#594
#1145

discussions:
#1058
#1168
and maybe
#1091
#1066

Add support for several translation units using the old syntax (i.e., .cpp/.h files). i believe that old code must also be able to include cpp2 headers, at least if modules are not used..

I don't see a way for cpp1 code to include cpp2 headers, but it should be able to include cpp2 headers that have been transpiled to cpp1. You see that now with reflect.h2 being transpiled to reflect.h.