- Made 'until' accept date instances as well.
- Testcases for new code.
diff --git a/dateutil/rrule.py b/dateutil/rrule.py
index 5e29a11..1cebb8e 100644
--- a/dateutil/rrule.py
+++ b/dateutil/rrule.py
@@ -100,6 +100,8 @@
         self._freq = freq
         self._interval = interval
         self._count = count
+        if until and not isinstance(until, datetime.datetime):
+            until = datetime.datetime.fromordinal(until.toordinal())
         self._until = until
         if wkst is None:
             self._wkst = calendar.firstweekday()
diff --git a/test.py b/test.py
index 31a452a..74b9820 100644
--- a/test.py
+++ b/test.py
@@ -2240,6 +2240,15 @@
                               until=parse("19970901T090000"))),
                          [])
 
+    def testUntilWithDate(self):
+        self.assertEqual(list(rrule(FREQ_DAILY,
+                              count=3,
+                              dtstart=parse("19970902T090000"),
+                              until=date(1997, 9, 5))),
+                         [datetime(1997, 9, 2, 9, 0),
+                          datetime(1997, 9, 3, 9, 0),
+                          datetime(1997, 9, 4, 9, 0)])
+
     def testWkStIntervalMO(self):
         self.assertEqual(list(rrule(FREQ_WEEKLY,
                               count=3,