From 437b33d5366affcbb96576ab6df7565a91cf2ba5 Mon Sep 17 00:00:00 2001 From: Pelle Johnsen Date: Mon, 16 Nov 2020 17:57:34 +0100 Subject: [PATCH] [glsl-in] use TypeInner::scalar_kind for casts (#279) * [glsl-in] use TypeInner::scalar_kind for casts * [glsl-in] Use .ok_or for casts --- src/front/glsl/parser.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/front/glsl/parser.rs b/src/front/glsl/parser.rs index f16da82bac..293ab70105 100644 --- a/src/front/glsl/parser.rs +++ b/src/front/glsl/parser.rs @@ -245,13 +245,9 @@ pomelo! { match fc.kind { FunctionCallKind::TypeConstructor(ty) => { let h = if fc.args.len() == 1 { - let kind = match extra.module.types[ty].inner { - TypeInner::Scalar{kind, ..} => kind, - TypeInner::Vector{kind, ..} => kind, - _ => { - return Err(ErrorKind::SemanticError("Can only cast to scalar or vector")); - } - }; + let kind = extra.module.types[ty].inner + .scalar_kind() + .ok_or(ErrorKind::SemanticError("Can only cast to scalar or vector"))?; extra.context.expressions.append(Expression::As { kind, expr: fc.args[0].expression,