Crates.io | eh |
lib.rs | eh |
version | 0.1.0 |
source | src |
created_at | 2019-09-19 02:12:05.346733 |
updated_at | 2019-09-19 02:12:05.346733 |
description | Convert values to `bool`, kind of like C, eh? |
homepage | |
repository | https://github.com/cuviper/eh |
max_upload_size | |
id | 165856 |
size | 20,053 |
Convert values to bool
, kind of like C, eh?
Eh
roughly follows the implicit conversion rules for C to _Bool
or C++ to bool
, but Rust requires an explicit conversion. Integer
0
, floating-point 0.0
, and null pointers are false
, and all other
values are true
.
As a Rust-specific extension, this is also implemented for Option<T>
and
Result<T, E>
. It returns true
when the ?
operator would unwrap a T
value, and false
when ?
would cause an early return.
Eh
does not implement further boolean conversions of other languages,
especially since they're not universal. For example:
false
, different than C and C++ (and eh
).[]
and {}
to true
, but in Python they're false
.false
and non-empty strings to true
,
but "0"
is also false
in Perl and PHP.The name is a play on the Canadian "eh", turning a declarative sentence into a question.
This project is licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in eh
by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.