#include template using term = boost::yap::terminal; template using ref = boost::yap::expression_ref; namespace yap = boost::yap; namespace bh = boost::hana; void compile_placeholders () { using namespace boost::yap::literals; { yap::placeholder<1> p1 = 1_p; (void)p1; } { yap::placeholder<1> p1 = 1_p; term unity{1.0}; yap::expression< yap::expr_kind::plus, bh::tuple< ref &>, ref &> > > expr = p1 + unity; (void)expr; } { yap::placeholder<1> p1 = 1_p; yap::expression< yap::expr_kind::plus, bh::tuple< ref &>, yap::placeholder<2> > > expr = p1 + 2_p; (void)expr; } }