From 4be27c839c7088d26dfab0eb517fd775249c5ee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= <mordae@anilinux.org> Date: Thu, 29 Apr 2021 13:53:41 +0200 Subject: [PATCH] Do not warn about unreachable partial code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Hamal Dvořák <mordae@anilinux.org> --- lib/Hikaru/Form.hs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/Hikaru/Form.hs b/lib/Hikaru/Form.hs index 713764c..9624adf 100644 --- a/lib/Hikaru/Form.hs +++ b/lib/Hikaru/Form.hs @@ -683,7 +683,10 @@ where placeholder :: (Monad m) => l -> ControlT 'InputFieldTag l o v m () placeholder ph = ControlT do modify \s@ControlState{..} -> - s { csField = csField { fieldPlacehold = Just ph } } + s { csField = case csField of + InputField{..} -> InputField{fieldPlacehold = Just ph, ..} + SelectField{} -> error "BUG: Unreachable" + } -- | @@ -724,7 +727,10 @@ where let opts' = case csValue of Nothing -> opts Just val -> selectOptions val opts - in s { csField = csField { fieldOptions = opts' } } + in s { csField = case csField of + SelectField{} -> SelectField{fieldOptions = opts', ..} + InputField{} -> error "BUG: Unreachable" + } -- | @@ -793,7 +799,9 @@ where modify \s@ControlState{csField} -> s { csValue = value' - , csField = csField { fieldValue = maybe "" toParam value' } + , csField = case csField of + InputField{..} -> InputField{fieldValue = maybe "" toParam value', ..} + SelectField{} -> error "BUG: Unreachable" } -- GitLab