Skip to content

Instantly share code, notes, and snippets.

@prostomarkeloff
Created May 12, 2020 12:29
Show Gist options
  • Save prostomarkeloff/40d55e283726a0c3e283883bc2d55960 to your computer and use it in GitHub Desktop.
Save prostomarkeloff/40d55e283726a0c3e283883bc2d55960 to your computer and use it in GitHub Desktop.
expanded ::))
fn test_params_macro() {
let map: Params = {
trait __AsString {
fn __as_string(self) -> String;
}
impl __AsString for String {
fn __as_string(self) -> String {
self
}
}
impl __AsString for &str {
fn __as_string(self) -> String {
self.to_owned()
}
}
use std::collections::HashMap;
let mut map = HashMap::new();
map.insert("name".__as_string(), "value".__as_string());
map.insert("value".__as_string(), "name".__as_string());
map
};
{
match (&map.len(), &2) {
(left_val, right_val) => {
if !(*left_val == *right_val) {
{
::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(
&[
"assertion failed: `(left == right)`\n left: `",
"`,\n right: `",
"`",
],
&match (&&*left_val, &&*right_val) {
(arg0, arg1) => [
::core::fmt::ArgumentV1::new(arg0, ::core::fmt::Debug::fmt),
::core::fmt::ArgumentV1::new(arg1, ::core::fmt::Debug::fmt),
],
},
))
}
}
}
}
};
{
match (&map.get("name").unwrap(), &&String::from("value")) {
(left_val, right_val) => {
if !(*left_val == *right_val) {
{
::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(
&[
"assertion failed: `(left == right)`\n left: `",
"`,\n right: `",
"`",
],
&match (&&*left_val, &&*right_val) {
(arg0, arg1) => [
::core::fmt::ArgumentV1::new(arg0, ::core::fmt::Debug::fmt),
::core::fmt::ArgumentV1::new(arg1, ::core::fmt::Debug::fmt),
],
},
))
}
}
}
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment