(input: ParseStream)
| 1066 | Ok(MirScalarExpr::Literal(Ok(row), typ)) |
| 1067 | } |
| 1068 | fn parse_literal_err(input: ParseStream) -> Result { |
| 1069 | input.parse::<kw::error>()?; |
| 1070 | let mut msg = { |
| 1071 | let content; |
| 1072 | syn::parenthesized!(content in input); |
| 1073 | content.parse::<syn::LitStr>()?.value() |
| 1074 | }; |
| 1075 | let err = if msg.starts_with("internal error: ") { |
| 1076 | Ok(mz_expr::EvalError::Internal(msg.split_off(16).into())) |
| 1077 | } else { |
| 1078 | Err(Error::new(msg.span(), "expected `internal error: $msg`")) |
| 1079 | }?; |
| 1080 | Ok(MirScalarExpr::literal(Err(err), ReprScalarType::Bool)) |
| 1081 | } |
| 1082 | |
| 1083 | fn parse_literal_array(input: ParseStream) -> Result { |
| 1084 | use mz_expr::func::variadic::ArrayCreate; |
no test coverage detected