Skip to main content

lisette_semantics/
lib.rs

1pub mod analyze;
2pub mod cache;
3pub mod call_classification;
4pub mod call_target;
5pub mod checker;
6pub mod context;
7pub mod diagnostics;
8pub mod facts;
9pub mod loader;
10pub mod module_graph;
11pub mod passes;
12pub mod path;
13pub mod prelude;
14pub mod promotion;
15pub mod store;
16
17use syntax::ast::Expression;
18
19pub(crate) fn is_trivial_expression(expression: &Expression) -> bool {
20    match expression {
21        Expression::Unit { .. } => true,
22        Expression::Block { items, .. } => {
23            items.is_empty() || (items.len() == 1 && matches!(items[0], Expression::Unit { .. }))
24        }
25        Expression::Tuple { elements, .. } => elements.is_empty(),
26        _ => false,
27    }
28}