macro_rules! key_path {
(
@go:
$path:expr,
[],
) => { ... };
(
@go:
$path:expr,
[ . $field:ident $($tt:tt)*],
) => { ... };
(
@go:
$path:expr,
[ . $field:literal $($tt:tt)*],
) => { ... };
(
@go:
$path:expr,
[ [$field:expr] $($tt:tt)*],
) => { ... };
(
@go:
$path:expr,
[ :: $variant:ident $($tt:tt)*],
) => { ... };
(
@go:
$path:expr,
[$($tt:tt)*],
) => { ... };
( $($tt:tt)* ) => { ... };
}