mirror of
https://github.com/ppy/osu.git
synced 2025-01-13 10:03:05 +08:00
528de5869e
This was not spotted previously, because the base `Attribute` overrides `Equals()` to have semantics similar to structs (per-field equality) by using reflection. That masked the issue when strings were used, and migrating to `LocalisableString` revealed it, as that struct's implementation of equality currently uses instance checks. Whether `LocalisableString.Equals()` is the correct implementation may still be up for discussion, but allowing multiple enumeration is wrong anyway, since the underlying enumerables are live (one especially is a yield iterator, causing new object instances to be allocated). |
||
---|---|---|
.. | ||
BackgroundSource.cs | ||
DatabasedConfigManager.cs | ||
DatabasedSetting.cs | ||
DevelopmentOsuConfigManager.cs | ||
DiscordRichPresenceMode.cs | ||
HUDVisibilityMode.cs | ||
InMemoryConfigManager.cs | ||
IntroSequence.cs | ||
ModSettingChangeTracker.cs | ||
OsuConfigManager.cs | ||
RandomSelectAlgorithm.cs | ||
RankingType.cs | ||
ReleaseStream.cs | ||
ScalingMode.cs | ||
ScoreMeterType.cs | ||
ScreenshotFormat.cs | ||
ScrollVisualisationMethod.cs | ||
SeasonalBackgroundMode.cs | ||
SessionStatics.cs | ||
SettingSourceAttribute.cs | ||
SettingsStore.cs | ||
StorageConfigManager.cs |