boost::log 1.66.0。 boost 教程中 set_filter 的参数是错误的

boost::log 1.66.0. Argument for set_filter from boost's tutorial is wrong

我将学习 boost::log 使用 Boost 1.66.0 和 VS 2017 的库教程。 从一开始就解决问题:

void init()  
{ 
  logging::core::get()->set_filter
  (
    logging::trivial::severity >= logging::trivial::info
  );
}

错误: 没有运算符“>=”匹配这些操作数... 它看起来合法——第一个操作数是一个没有定义任何比较运算符的结构(包括 public base class。我是不是错过了一些免费功能?)。第二个操作数是枚举。
我的问题是它以前是如何工作的?

示例代码没有错误,可以测试编译运行,完整代码见libs/log/example/doc/tutorial_trivial_flt.cpp

过滤器表达式中的第一个参数是一个关键字,也是一个Boost.Phoenix终端。它使过滤器表达式构建一个 Boost.Phoenix 函数对象,而不是立即评估比较。因此,比较运算符取自 Boost.Phoenix(boost/phoenix/operator/comparison.hpp,它由 boost/log/expressions.hpp 通过 boost/phoenix/operator.hpp 包含)。