Before this commit, we were inferring whether an inductive/structure/class were meta or not. This was bad since the user had no clue whether the type was trusted (non meta) or not. Moreover, users could get confused by this behavior and assume the kernel was allowing trusted code to rely on untrusted one.
20 lines
663 B
C++
20 lines
663 B
C++
/*
|
|
Copyright (c) 2016 Microsoft Corporation. All rights reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
|
|
Author: Daniel Selsam
|
|
*/
|
|
#pragma once
|
|
#include "kernel/environment.h"
|
|
#include "frontends/lean/type_util.h"
|
|
#include "library/inductive_compiler/ginductive_decl.h"
|
|
|
|
namespace lean {
|
|
environment add_basic_inductive_decl(environment const & env, options const & opts,
|
|
name_map<implicit_infer_kind> implicit_infer_map,
|
|
ginductive_decl const & decl, bool is_trusted);
|
|
|
|
void initialize_inductive_compiler_basic();
|
|
void finalize_inductive_compiler_basic();
|
|
|
|
}
|