diff --git a/osu.Android.props b/osu.Android.props
index 32e236ccd5..0bb0bf171c 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -52,6 +52,6 @@
-
+
diff --git a/osu.Game/Rulesets/Mods/Mod.cs b/osu.Game/Rulesets/Mods/Mod.cs
index 4879590e24..7f48888abe 100644
--- a/osu.Game/Rulesets/Mods/Mod.cs
+++ b/osu.Game/Rulesets/Mods/Mod.cs
@@ -7,6 +7,7 @@ using System.Linq;
using System.Reflection;
using Newtonsoft.Json;
using osu.Framework.Bindables;
+using osu.Framework.Extensions.TypeExtensions;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Testing;
using osu.Game.Configuration;
@@ -170,7 +171,12 @@ namespace osu.Game.Rulesets.Mods
target.UnbindFrom(sourceBindable);
}
else
- target.Parse(source);
+ {
+ if (!(target is IParseable parseable))
+ throw new InvalidOperationException($"Bindable type {target.GetType().ReadableName()} is not {nameof(IParseable)}.");
+
+ parseable.Parse(source);
+ }
}
public bool Equals(IMod other) => other is Mod them && Equals(them);
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index b5405f6262..e0a267241d 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -29,7 +29,7 @@
-
+
diff --git a/osu.iOS.props b/osu.iOS.props
index 09f6033bfe..bcd953c0bd 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -70,7 +70,7 @@
-
+
@@ -93,7 +93,7 @@
-
+