swiftlang/swift
Voir sur GitHub[SR-1283] RawRepresentable extension for Self:NSCoding breaks implicit RawRepresentable implementation for enums
Open
#43 891 ouverte le 21 avr. 2016
bugcompilergood first issue
Métriques du dépôt
- Stars
- (69 989 stars)
- Métriques de merge PR
- (Merge moyen 8j 17h) (510 PRs mergées en 30 j)
Description
| Previous ID | SR-1283 |
| Radar | None |
| Original Reporter | josh (JIRA User) |
| Type | Bug |
Apple Swift version 2.2 (swiftlang-703.0.18.1 clang-703.0.29)
| Votes | 0 |
| Component/s | Compiler |
| Labels | Bug, StarterBug |
| Assignee | None |
| Priority | Medium |
md5: ebcb1594c186768ea99ccc914c314b25
Issue Description:
Copy + paste attached sample code into a Playground.
import Foundation
enum Status: Int {
case Good
case Bad
}
extension RawRepresentable where Self: NSCoding {
init?(rawValue: NSData) {
if let instance = NSKeyedUnarchiver.unarchiveObjectWithData(rawValue) as? Self {
self = instance
} else {
return nil
}
}
var rawValue: NSData {
get {
return NSKeyedArchiver.archivedDataWithRootObject(self)
}
}
}