Mirror of https://github.com/leanprover/lean2 in case it ever disappears
Find a file
Leonardo de Moura f80106a895 chore(*): use 'explicit operator bool' everywhere.
operator bool() may produce unwanted conversions.
For example, we had the following bug in the code base.

...
   object const & obj = find_object(const_name(n));
   if (obj && obj.is_builtin() && obj.get_name() == n)
...

obj.get_name() has type lean::name
n              has type lean::expr

Both have 'operator bool()', then the compiler uses the operator to
convert them to Boolean, and then compare the result.
Of course, this is not our intention.

After this commit, the compiler correctly signs the error.
The correct code is

...
   object const & obj = find_object(const_name(n));
   if (obj && obj.is_builtin() && obj.get_name() == const_name(n))
...

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-12-02 23:02:45 -08:00
doc doc(lua): add options documentation 2013-11-28 11:02:34 -08:00
examples/lean feat(library/tactic): polish tactic API, and add new example showing how to implement tactics using Lua 2013-11-30 00:16:39 -08:00
script fix(script/demangle_cpptype): process line-by-line, instead of waiting for EOF 2013-09-29 18:36:01 -07:00
src chore(*): use 'explicit operator bool' everywhere. 2013-12-02 23:02:45 -08:00
tests feat(frontends/parser): simplified theorem definition using tactical proof 2013-12-02 08:20:18 -08:00
.gitignore chore(.gitignore): update .gitignore 2013-12-01 00:48:44 -05:00
.travis.osx.yml chore(travis): fix .travis.osx.yml 2013-11-12 23:15:03 -05:00
.travis.windows.yml chore(travis): fix dropbox_key in windows build 2013-11-16 23:44:31 -05:00
.travis.yml chore(travis): restore multiple builds 2013-11-17 03:04:37 -05:00
LICENSE Add LICENSE file 2013-07-15 18:55:48 -07:00
README.md doc(README.md): "Code coverage" => "Coverage" to fit in one line 2013-11-11 20:42:15 -05:00

UbuntuOS XWindowsCoverageBuilds / UnitTests / Dynamic Analyses
http://build.leanprover.net

About

Requirements

Installing required packages at

Build Instructions

Miscellaneous