Page MenuHomePhabricator

JohelEGP (Johel Ernesto Guerrero Peña)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 25 2020, 6:33 PM (35 w, 4 d)

Recent Activity

Dec 28 2020

JohelEGP accepted D93839: [clang-format] PR48594 BraceWrapping: SplitEmptyRecord ignored for templates.
Dec 28 2020, 1:27 PM · Restricted Project, Restricted Project

Dec 27 2020

JohelEGP requested changes to D93839: [clang-format] PR48594 BraceWrapping: SplitEmptyRecord ignored for templates.
Dec 27 2020, 5:07 PM · Restricted Project, Restricted Project
JohelEGP added a comment to D93839: [clang-format] PR48594 BraceWrapping: SplitEmptyRecord ignored for templates.

I have another case:
.clang-format:

BraceWrapping:
  AfterStruct: true
  SplitEmptyRecord: true
BreakBeforeBraces: Custom
Dec 27 2020, 5:06 PM · Restricted Project, Restricted Project
JohelEGP accepted D93839: [clang-format] PR48594 BraceWrapping: SplitEmptyRecord ignored for templates.

Thank you.

Dec 27 2020, 11:59 AM · Restricted Project, Restricted Project

Dec 4 2020

JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

Yes, here's my reply: https://bugs.llvm.org/show_bug.cgi?id=47161#c2.

Dec 4 2020, 10:27 PM · Restricted Project, Restricted Project
JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

I was a bit late, but thanks for everything!

Dec 4 2020, 10:10 AM · Restricted Project, Restricted Project

Oct 20 2020

JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

Could you do a rebase? The patch no longer applies:

Oct 20 2020, 6:23 PM · Restricted Project, Restricted Project

Aug 13 2020

JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

This is actually failing in the handling of parsing the <> in (parseAngle() actually parseBrace() inside of that), it is not really concepts specific except it may be seen now because of the presence of the ;

Aug 13 2020, 6:07 PM · Restricted Project, Restricted Project

Aug 10 2020

JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

I found another case. See how everything after the requires-clause is indented for constructors with just the constructor's name (it works otherwise, maybe because it looks like a function).

class [[nodiscard]] data_t
{
public:
    template <std::ranges::input_range R>
        requires std::same_as<std::ranges::range_value_t<R>, flippable_tile_id>
        /*explicit*/ data_t(R&& ids, const format_t f = encoding_t::csv)
          : format_t{f}, tile_ids_{ranges::to_vector(std::forward<R>(ids))}
        {
        }
Aug 10 2020, 5:46 PM · Restricted Project, Restricted Project

Jul 8 2020

JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

Ah, that makes sense. The very definition of Allman is to always break before braces. I suppose I'll need to use BreakBeforeBraces: Custom and BraceWrapping:. I did some testing and noticed that the weird format comes with any of these:

Jul 8 2020, 12:32 AM · Restricted Project, Restricted Project

Jul 6 2020

JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

Yes, it's valid C++ (is my hope). It's from WIP code, which I made available to show you: https://github.com/johelegp/jge.

Jul 6 2020, 4:11 PM · Restricted Project, Restricted Project

Jul 5 2020

JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

Another weird formatting when direct-initializing a variable with a non-parenthesized requires-expression:

Jul 5 2020, 6:39 PM · Restricted Project, Restricted Project

Jul 4 2020

JohelEGP requested changes to D79773: [clang-format] Improve clang-formats handling of concepts.

Thank you. Everything I reported works fine now.

Jul 4 2020, 8:30 PM · Restricted Project, Restricted Project

Jul 1 2020

JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

Using parameter packs within non-parenthesized requires-clauses results in weird formatting:

template <std::semiregular F, std::semiregular... Args>
    requires std::invocable < F, std::invoke_result_t<Args>
... > struct constant;

vs

template <std::semiregular F, std::semiregular... Args>
    requires(std::invocable<F, std::invoke_result_t<Args>...>)
struct constant;
Jul 1 2020, 7:58 PM · Restricted Project, Restricted Project
JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.

Just so I'm clear for this and your Allman coment would you show me what you are seeing and what you expect to see? just so I understand.

Jul 1 2020, 11:54 AM · Restricted Project, Restricted Project

Jun 30 2020

JohelEGP added a comment to D79773: [clang-format] Improve clang-formats handling of concepts.
constexpr plane(const plane& other) noexcept(
    (detail::default_allocator_is_nothrow &&
     std::is_nothrow_copy_constructible_v<T>)) requires(std::copyable<T>)
  : plane{to1d(other), other.sz.w}
{
}

Without the parentheses in trailing requires-clauses, all code following the constructor initializer list is further indented.

Jun 30 2020, 4:50 PM · Restricted Project, Restricted Project

Jun 25 2020

JohelEGP requested changes to D79773: [clang-format] Improve clang-formats handling of concepts.

BreakBeforeBraces: Allman isn't respected.

template <class D, class U, class Rep2>
friend constexpr auto
operator*(const size2d& l, const units::quantity<D, U, Rep2>& r) noexcept(
    noexcept(l.w* r)) requires(requires { l.w* r; }) //
{
    return size2d<decltype(l.w() * r)>{l.w * r, l.h * r};
}

When a trailing requires-clause is right before the function body, its opening brace should go on its own line, as dictated by my config file.

Jun 25 2020, 7:08 PM · Restricted Project, Restricted Project