From: Dries Vints <dries@vints.io>
Date: Tue, 9 Mar 2021 15:50:09 +0100
Subject: [9.x] Update to EmailValidator v3 (#36525)

* Update to EmailValidator v3

* Return null

Origin: https://github.com/laravel/framework/pull/36525
---
 composer.json                                                |  2 +-
 src/Illuminate/Validation/Concerns/FilterEmailValidation.php | 11 ++++++-----
 src/Illuminate/Validation/composer.json                      |  2 +-
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/composer.json b/composer.json
index ea01401..22a1314 100644
--- a/composer.json
+++ b/composer.json
@@ -21,7 +21,7 @@
         "ext-openssl": "*",
         "doctrine/inflector": "^1.4|^2.0",
         "dragonmantank/cron-expression": "^3.0.2",
-        "egulias/email-validator": "^2.1.10",
+        "egulias/email-validator": "^3.1",
         "laravel/serializable-closure": "^1.0",
         "league/commonmark": "^1.3|^2.0.2",
         "league/flysystem": "^1.1",
diff --git a/src/Illuminate/Validation/Concerns/FilterEmailValidation.php b/src/Illuminate/Validation/Concerns/FilterEmailValidation.php
index 2d21b6c..84ed212 100644
--- a/src/Illuminate/Validation/Concerns/FilterEmailValidation.php
+++ b/src/Illuminate/Validation/Concerns/FilterEmailValidation.php
@@ -3,6 +3,7 @@
 namespace Illuminate\Validation\Concerns;
 
 use Egulias\EmailValidator\EmailLexer;
+use Egulias\EmailValidator\Result\InvalidEmail;
 use Egulias\EmailValidator\Validation\EmailValidation;
 
 class FilterEmailValidation implements EmailValidation
@@ -42,7 +43,7 @@ class FilterEmailValidation implements EmailValidation
      * @param  \Egulias\EmailValidator\EmailLexer  $emailLexer
      * @return bool
      */
-    public function isValid($email, EmailLexer $emailLexer)
+    public function isValid(string $email, EmailLexer $emailLexer): bool
     {
         return is_null($this->flags)
                     ? filter_var($email, FILTER_VALIDATE_EMAIL) !== false
@@ -52,11 +53,11 @@ class FilterEmailValidation implements EmailValidation
     /**
      * Returns the validation error.
      *
-     * @return \Egulias\EmailValidator\Exception\InvalidEmail|null
+     * @return \Egulias\EmailValidator\Result\InvalidEmail|null
      */
-    public function getError()
+    public function getError(): ?InvalidEmail
     {
-        //
+        return null;
     }
 
     /**
@@ -64,7 +65,7 @@ class FilterEmailValidation implements EmailValidation
      *
      * @return \Egulias\EmailValidator\Warning\Warning[]
      */
-    public function getWarnings()
+    public function getWarnings(): array
     {
         return [];
     }
diff --git a/src/Illuminate/Validation/composer.json b/src/Illuminate/Validation/composer.json
index f4a0bab..a02065c 100755
--- a/src/Illuminate/Validation/composer.json
+++ b/src/Illuminate/Validation/composer.json
@@ -16,7 +16,7 @@
     "require": {
         "php": "^7.3|^8.0",
         "ext-json": "*",
-        "egulias/email-validator": "^2.1.10",
+        "egulias/email-validator": "^3.1",
         "illuminate/collections": "^8.0",
         "illuminate/container": "^8.0",
         "illuminate/contracts": "^8.0",
