Fix stack overflow when printing shader error

Fixes #3238.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index adbd2b3..a67a830 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -34,6 +34,7 @@
 - Block selection starting from first column after beginning leaves the scrollback
 - Incorrect selection status of the first cell when selection is off screen
 - Backwards bracket selection
+- Stack overflow when printing shader creation error
 
 ### Removed
 
diff --git a/alacritty/src/renderer/mod.rs b/alacritty/src/renderer/mod.rs
index d5d48b4..2a1d872 100644
--- a/alacritty/src/renderer/mod.rs
+++ b/alacritty/src/renderer/mod.rs
@@ -88,7 +88,11 @@
 
 impl Display for Error {
     fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
-        write!(f, "There was an error initializing the shaders: {}", self)
+        match self {
+            Error::ShaderCreation(err) => {
+                write!(f, "There was an error initializing the shaders: {}", err)
+            },
+        }
     }
 }