cppfront
cppfront copied to clipboard
A personal experimental C++ Syntax 2 -> Syntax 1 compiler
**Describe the bug** Multiplying by a negative number is being parsed incorrectly. Putting the negative number in parenthesis is a workaround to parse it correctly. **To Reproduce** This cpp2 code:...
**[T](#title)itle**: Can't pass dependent type template argument. **[M](#rep)inimal reproducer** (): ```Cpp2 f: () std::vector(); main: () = { } ``` Commands: ```bash cppfront main.cpp2 clang++18 -std=c++23 -stdlib=libc++ -lc++abi -pedantic-errors -Wall...
Hi folks! I ran into a very confusing bug while experimenting with cppfront. Consider the following type: ```cpp dummy: @value type = { name_: std::string; operator=: (out this, in name:...
## Suggestion cppfront could detect at runtime (and maybe even compile time?) and prevent aliasing of `inout` or `move` function parameters when the function also takes an `in` parameter of...
This adds some configuration to clang tidy, more to come in the future as well as more fixes to the code to go along with it. Thanks.
Resolves #1205 Suggestion 1, suggest making new issues/suggestions for 2 and 3.
This is a follow-up of #797, #907, #909 and all other related issues/discussions regarding metafunctions I might have missed. It is not necessary to have all of the previous context...
As stated in the title.
As described in the doc, **type** can be used as an ordinary name ``` type : i32 = 1; ``` or ``` type : type = { data: i64; }...
Use a CTAD deduction guide to deduce the `std::common_type` for both types (if a common one exists). This allows code like the following to compile without integer precision conversion warnings:...