ymandel added a comment.

In D69625#1729634 <https://reviews.llvm.org/D69625#1729634>, @gribozavr2 wrote:

> I fully agree about passing a Stencil to `access`. However whether to call 
> `makeStencil` inside is an interesting question. On one hand, such implicit 
> conversions increase the convenience. On the other, they increase the API 
> surface (more possible argument types), and makes the API harder to read. 
> What does `access` take? "I don't know, some T" vs. "A Stencil".
>
> I think that implicit conversions for `cat` arguments can be justified 
> because it seems like `cat` will be used frequently; however, `access` won't 
> be as frequently called.
>
> What do you think?


This seems reasonable, particularly the problem caused by using a template. I'd 
consider having three explicit overloads, but this doesn't scale in general 
(especially once you have a combinator with 2+ Stencil args).

Which idiom do you think we should encourage, then, for text and 
range-selectors -- the named combinator or the single-argument `cat`? That is

  access("object", text("field"))
  access("object", selection(member("e")))

versus

  access("object", cat("field"))
  access("object", cat(member("e")))


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69625/new/

https://reviews.llvm.org/D69625



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to