You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, Cppfront doesn't wrap in cpp2::in
a template function $F$'s function parameter
that has the type of one of $F$'s template parameter
to avoid making it non-deducible.
However, it also does the same
when a similar use of $F$'s template parameter
makes the function parameter non-deducible.
If a function parameter is already non-deducible,
its type should be wrapped in cpp2::in.
Activity
[-][BUG] Use `cpp2::in` for non-deducible parameters[/-][+][BUG] Recognize non-deducible parameter[/+]JohelEGP commentedon Jul 3, 2023
Title: Recognize non-deducible parameter.
Description:
The report generalizes.
The same applies to
outparameters.Minimal reproducer (https://cpp2.godbolt.org/z/Tnvczs8qa):
Commands:
cppfront main.cpp2 clang++17 -std=c++23 -stdlib=libc++ -lc++abi -pedantic-errors -Wall -Wextra -Wconversion -I . main.cppExpected result:
Actual result and error:
Cpp2 lowered to Cpp1:
Output:
JohelEGP commentedon Jul 6, 2023
See #533 (comment) for the source of the bug.