fix(library/congr_lemma_manager): warnings when compiling using clang on OSX
This commit is contained in:
parent
8e4fd50913
commit
4afd366a2c
2 changed files with 6 additions and 14 deletions
|
@ -13,11 +13,10 @@ Author: Leonardo de Moura
|
||||||
#include "library/congr_lemma_manager.h"
|
#include "library/congr_lemma_manager.h"
|
||||||
|
|
||||||
namespace lean {
|
namespace lean {
|
||||||
class congr_lemma_manager::imp {
|
struct congr_lemma_manager::imp {
|
||||||
app_builder & m_builder;
|
app_builder & m_builder;
|
||||||
fun_info_manager & m_fmanager;
|
fun_info_manager & m_fmanager;
|
||||||
type_context & m_ctx;
|
type_context & m_ctx;
|
||||||
bool m_ignore_inst_implicit;
|
|
||||||
struct key {
|
struct key {
|
||||||
expr m_fn;
|
expr m_fn;
|
||||||
unsigned m_nargs;
|
unsigned m_nargs;
|
||||||
|
@ -289,8 +288,8 @@ class congr_lemma_manager::imp {
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
imp(app_builder & b, fun_info_manager & fm, bool ignore_inst_implicit):
|
imp(app_builder & b, fun_info_manager & fm):
|
||||||
m_builder(b), m_fmanager(fm), m_ctx(fm.ctx()), m_ignore_inst_implicit(ignore_inst_implicit) {}
|
m_builder(b), m_fmanager(fm), m_ctx(fm.ctx()) {}
|
||||||
|
|
||||||
optional<result> mk_congr_simp(expr const & fn) {
|
optional<result> mk_congr_simp(expr const & fn) {
|
||||||
fun_info finfo = m_fmanager.get(fn);
|
fun_info finfo = m_fmanager.get(fn);
|
||||||
|
@ -396,8 +395,8 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
congr_lemma_manager::congr_lemma_manager(app_builder & b, fun_info_manager & fm, bool ignore_inst_implicit):
|
congr_lemma_manager::congr_lemma_manager(app_builder & b, fun_info_manager & fm):
|
||||||
m_ptr(new imp(b, fm, ignore_inst_implicit)) {
|
m_ptr(new imp(b, fm)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
congr_lemma_manager::~congr_lemma_manager() {
|
congr_lemma_manager::~congr_lemma_manager() {
|
||||||
|
|
|
@ -28,14 +28,7 @@ class congr_lemma_manager {
|
||||||
struct imp;
|
struct imp;
|
||||||
std::unique_ptr<imp> m_ptr;
|
std::unique_ptr<imp> m_ptr;
|
||||||
public:
|
public:
|
||||||
/** \brief When ignore_inst_implicit is set to true, then
|
congr_lemma_manager(app_builder & b, fun_info_manager & fm);
|
||||||
for type class instance implicit arguments that are *not* subsingletons,
|
|
||||||
the mananger will create congruence lemmas where these arguments remain fixed.
|
|
||||||
This is the behavior we want most of the time. For example, when creating a
|
|
||||||
congruence for
|
|
||||||
add : Pi {A : Type} [s : has_add A], A -> A -> A
|
|
||||||
we want the argumet s to remain fixed. */
|
|
||||||
congr_lemma_manager(app_builder & b, fun_info_manager & fm, bool ignore_inst_implicit = true);
|
|
||||||
~congr_lemma_manager();
|
~congr_lemma_manager();
|
||||||
typedef congr_lemma result;
|
typedef congr_lemma result;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue