Handle empty version constraint (#2796)

diff --git a/lib/src/pubspec.dart b/lib/src/pubspec.dart
index 8b78157..35a28d2 100644
--- a/lib/src/pubspec.dart
+++ b/lib/src/pubspec.dart
@@ -611,7 +611,7 @@
       YamlNode descriptionNode;
       String sourceName;
 
-      var versionConstraint = VersionRange();
+      VersionConstraint versionConstraint = VersionRange();
       var features = const <String, FeatureDependency>{};
       if (spec == null) {
         descriptionNode = nameNode;
diff --git a/test/pubspec_test.dart b/test/pubspec_test.dart
index 959249f..850031c 100644
--- a/test/pubspec_test.dart
+++ b/test/pubspec_test.dart
@@ -93,6 +93,19 @@
       expect(foo.constraint.allows(Version(3, 4, 5)), isFalse);
     });
 
+    test('allows empty version constraint', () {
+      var pubspec = Pubspec.parse('''
+dependencies:
+  foo:
+    fake: ok
+    version: ">=1.2.3 <0.0.0"
+''', sources);
+
+      var foo = pubspec.dependencies['foo'];
+      expect(foo.name, equals('foo'));
+      expect(foo.constraint.isEmpty, isTrue);
+    });
+
     test('allows an empty dependencies map', () {
       var pubspec = Pubspec.parse('''
 dependencies: