Index: sdk/lib/_internal/pub/lib/src/pubspec.dart |
diff --git a/sdk/lib/_internal/pub/lib/src/pubspec.dart b/sdk/lib/_internal/pub/lib/src/pubspec.dart |
index 9a4d3e34930a1b091f4cb0a2026d4b01cc385fe0..8c29253492e1c754900e84665afdd90622c3ac0a 100644 |
--- a/sdk/lib/_internal/pub/lib/src/pubspec.dart |
+++ b/sdk/lib/_internal/pub/lib/src/pubspec.dart |
@@ -357,6 +357,9 @@ class Pubspec { |
sourceName = _sources.defaultSource.name; |
versionConstraint = _parseVersionConstraint(spec, "$field.$name"); |
} else if (spec is Map) { |
+ // Don't write to the immutable YAML map. |
+ spec = new Map.from(spec); |
+ |
if (spec.containsKey('version')) { |
versionConstraint = _parseVersionConstraint(spec.remove('version'), |
"$field.$name.version"); |