! / 0 0 0 0 8 ` // 76 ` always_assert-65ae3abe15b00112.always_assert.c86d7deee87d4e4b-cgu.0.rcgu.o/ lib.rmeta/ 0 0 0 644 10088 ` ELF>%@@GNUrust$+#rustc 1.72.0 (5680fa18f 2023-08-23)ՆQ4-46a989d0e2cef827e$ɛDp>-b114db70ea0690b1rustc_std_workspace_core ūu sR-13da980d6c74fec5logmc$x-13e3634f7ef0e600 }ޱL{ :-8f88c761e33f2651YnFmZܝ--649be05783c8912epWĪ9/-f002c8f83a289c4b &c~~*ĽVa-682387162b570769cfg_ifz$kdgK!--05a2cedbb78c1d4f miniz_oxidePnzn )m-9c3df673b2797081adlerA%lon  2-c6afbee8d1102512 hashbrown8*^| -356231f77d1e268arustc_std_workspace_allocL%gqG-80ed5799bf463787 std_detecta^Ʒc -1bccb7a942e1b311rustc_demanglekŗ,N/ST%L)-bc6864da821ce9a2 addr2line2Ȃ']51:.-4930b3dc482158f7gimli~2)F25˼-65bea4bb6af40828object^]UVW-919f89587cbed68dmemchrk/YO+-c6624cb4360306cdBhnge],Q-f9018f9cee1cc5ff __log_error __FORCE222false   > Recoverable assertions, inspired by [the use of `assert()` in A- SQLite](https://www.sqlite.org/assert.html).M0~C `never!` and `always!` return the actual value of the condition ifF! `debug_assertions` are disabled.$I Use them when terminating on assertion failure is worse than continuing.L= One example would be a critical application like a database:@ ```ignore  use always_assert::never;U fn apply_transaction(&mut self, tx: Transaction) -> Result<(), TransactionAborted> {X) let delta = self.compute_delta(&tx);,8 if never!(!self.check_internal_invariant(&delta)) {;K // Ok, something in this transaction messed up our internal state.NI // This really shouldn't be happening, and this signifies a bug.LF // Luckily, we can recover by just rejecting the transaction.I& return abort_transaction(tx);) }  self.commit(delta); Ok(()) } ```M Another example is assertions about non-critical functionality in usual appsP - let english_message = "super app installed!"03 let mut local_message = localize(english_message); 6V if never!(local_message.is_empty(), "missing localization for {}", english_message) { YN // We localized all the messages but this one slipper through the cracks? QB // Better to show the english one then than to fail outright; E% local_message = english_message; (  println!("{}", local_message); "   H Asserts that the condition is always true and returns its actual value. K A If the condition is true does nothing and and evaluates to true. D  If the condition is false: ? * panics if `force` feature or `debug_assertions` are enabled, B- * logs an error if `log` feature is enabled,0 * evaluates to false.# Accepts `format!` style arguments.&   cond     assertion failed: {}           arg                  !          !  G Asserts that the condition is never true and returns its actual value.JC If the condition is false does nothing and and evaluates to false.F If the condition is true:B0 * evaluates to true.&( Empty condition is equivalent to false:+ ' never!("oups") ~= unreachable!("oups")*   !         !                     *assertion failed: entered unreachable code,   !                !       !                  !             !     "https://www.sqlite.org/assert.html<<KN}}mȴ-IKN}}m5w FUKN}}m}ԚKN}}m{5?nKN}}mȱYK[kKN}}mȩJ#OKN}}m~V@&KN}}mȵQ6h [* 2 %% (U , "0)2 losz3KN}}m'R$kY$KN}}m'v !)! !J!ODHT KN}}m~V@&KN}}mȩJ#OKN}}mȴ-IKN}}mȵQ6hKN}}m{5?nKN}}m}ԚKN}}m5w FUKN}}mȱYK[k'$IHO*5'$IHO*5a/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/always-assert-0.1.3/src/lib.rs (5֊V#}< { B1G%MAY-@@6.text.debug_aranges.note.GNU-stack.strtab.symtabalways_assert.c86d7deee87d4e4b-cgu.0&p[@@@.@0