diff --git a/jinja2/nodes.py b/jinja2/nodes.py
index 911f9fc..00f6d62 100644
--- a/jinja2/nodes.py
+++ b/jinja2/nodes.py
@@ -120,14 +120,14 @@
                 new_value = value.copy()
             elif isinstance(value, list):
                 new_value = []
-                for item in new_value:
+                for item in value:
                     if isinstance(item, Node):
                         item = item.copy()
                     else:
                         item = copy(item)
                     new_value.append(item)
             else:
-                new_value = copy(new_value)
+                new_value = copy(value)
             setattr(result, field, new_value)
         for attr in self.attributes:
             try:
@@ -326,8 +326,6 @@
         an `Impossible` exception."""
         from compiler import has_safe_repr
         if not has_safe_repr(value):
-            if silent:
-                return
             raise Impossible()
         return cls(value, lineno=lineno, environment=environment)
 
