When expandtabs() would be a no-op, don't create a duplicate string
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index 4f6f132..840b76f 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -1585,6 +1585,10 @@
             return
         self.assertRaises(OverflowError, 't\tt\t'.expandtabs, sys.maxsize)
 
+    def test_expandtabs_optimization(self):
+        s = 'abc'
+        self.assertIs(s.expandtabs(), s)
+
     def test_raiseMemError(self):
         if struct.calcsize('P') == 8:
             # 64 bits pointers