`MutableCopy` on subclasses of `NSObject` don't return the NSMutable* variant
- Dominant language
- C#
- Stars
- 2.9k
- Forks
- 576
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 123
Description
### Steps to Reproduce
n/a
### Expected Behavior
When asking any `NSDictionary` instance to return a `MutableCopy`, I would expect it to return an `NSMutableDictionary`. The same goes:
- `NSArray`.`MutableCopy` returns `NSMutableArray`
- `NSAttributedString`.`MutableCopy` returns `NSMutableAttributedString`
- `NSData`.`MutableCopy` returns `NSMutableData`
- `NSOrderedSet`.`MutableCopy` returns `NSMutableOrderedSet`
- `NSSet`.`MutableCopy` returns `NSMutableSet`
- `NSString`.`MutableCopy` returns `NSMutableString`
- `NSUrlRequest`.`MutableCopy` returns `NSMutableUrlRequest`
### Actual Behavior
All of them return an `NSObject` when calling `MutableCopy`.
### Environment
```
=== Visual Studio Community 2019 for Mac ===
Version 8.2.5 (build 5)
Installation UUID: a14aece2-e2ce-41b7-8fc7-f8c6e55b90cc
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac 5.14.0.85 (d16-2-fix-mac-updates / 86973979)
Package version: 600000327
=== Mono Framework MDK ===
Runtime:
Mono 6.0.0.327 (2019-02/f8ea05bddcb) (64-bit)
Package version: 600000327
=== NuGet ===
Version: 5.1.0.6013
=== .NET Core ===
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
2.2.6
2.2.2
2.1.12
2.1.11
2.1.9
2.1.8
2.1.7
SDK: /usr/local/share/dotnet/sdk/2.2.401/Sdks
SDK Versions:
2.2.401
2.2.104
2.1.701
2.1.700
2.1.505
2.1.504
2.1.503
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.0.0/lib/mono/msbuild/Current/bin/Sdks
=== Xamarin.Profiler ===
Version: 1.6.11
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Updater ===
Version: 11
=== Xamarin.Android ===
Version: 9.4.1.0 (Visual Studio Community)
Commit: xamarin-android/d16-2/ebd65c9
Android SDK: /Users/hindrik/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
8.1 (API level 27)
SDK Tools Version: 26.1.1
SDK Platform Tools Version: 28.0.0
SDK Build Tools Version: 27.0.3
Build Information:
Mono: mono/mono/2019-02@e6f5369c2d2
Java.Interop: xamarin/java.interop/d16-2@d64ada5
LibZipSharp: grendello/LibZipSharp/d16-2@caa0c74
LibZip: nih-at/libzip/rel-1-5-1@b95cf3f
ProGuard: xamarin/proguard/master@905836d
SQLite: xamarin/sqlite/3.27.1@8212a2d
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-2@6f6c969
=== Microsoft Mobile OpenJDK ===
Java SDK: /Users/hindrik/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
=== Android Device Manager ===
Version: 1.2.0.60
Hash: 686c817
Branch: remotes/origin/d16-2
Build date: 2019-08-07 15:49:58 UTC
=== Xamarin Inspector ===
Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1
=== Apple Developer Tools ===
Xcode 10.3 (14492.2)
Build 10G8
=== Xamarin.Mac ===
Version: 5.14.0.114 (Visual Studio Community)
Hash: c6691164
Branch: d16-2
Build date: 2019-07-29 15:54:06-0400
=== Xamarin.iOS ===
Version: 12.14.0.114 (Visual Studio Community)
Hash: c6691164
Branch: d16-2
Build date: 2019-07-29 15:54:05-0400
=== Xamarin Designer ===
Version: 16.2.0.379
Hash: 3f0652957
Branch: remotes/origin/d16-2
Build date: 2019-08-01 17:32:50 UTC
=== Build Information ===
Release ID: 802050005
Git revision: 94d90d630b6c7876d1d5298730d14ec97bbde3f9
Build date: 2019-08-22 21:31:34+00
Build branch: release-8.2
Xamarin extensions: 1cf04a6621fb6629226ea0285028954d6196e93f
=== Operating System ===
Mac OS X 10.14.6
Darwin 18.7.0 Darwin Kernel Version 18.7.0
Thu Jun 20 18:42:21 PDT 2019
root:xnu-4903.270.47~4/RELEASE_X86_64 x86_64
```
### Build Logs
n/a
### Example Project (If Possible)
n/a
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.