Reminded by the mention of automove in the previous thread, I agree it works really well, though for one of my uses I needed to add the move operators to my local C++ skeleton.
So I was happy to see these were recently added in the bison repo: "This will be used in glr2.cc, which requires C++11.", but then sad to see them explicitly hidden from the other skeletons: "don't publish move ctor to lalr1.cc". Shouldn't the C++ version requirement ideally be determined in part from the user semantic type definition? It seems a reasonable thing for a user to want a move-only type with an LALR1 grammar? Or is the lalr.cc skeleton somewhat frozen/obsolescent/deprecated now and only GLR is recommended for new code?