e16c76e3c3
This makes code more readale and concise, moving all format arguments like `format!("{}", foo)` into the more compact `format!("{foo}")` form. The change was automatically created with, so there are far less change of an accidental typo. ``` cargo clippy --fix -- -A clippy::all -W clippy::uninlined_format_args ```
16 lines
484 B
Rust
16 lines
484 B
Rust
//! Things which exist to solve practical issues, but which shouldn't exist.
|
|
//!
|
|
//! Please avoid adding new usages of the functions in this module
|
|
|
|
use crate::{ast, AstNode};
|
|
|
|
pub fn parse_expr_from_str(s: &str) -> Option<ast::Expr> {
|
|
let s = s.trim();
|
|
let file = ast::SourceFile::parse(&format!("const _: () = {s};"));
|
|
let expr = file.syntax_node().descendants().find_map(ast::Expr::cast)?;
|
|
if expr.syntax().text() != s {
|
|
return None;
|
|
}
|
|
Some(expr)
|
|
}
|