Awesome icon indicating copy to clipboard operation
Awesome copied to clipboard

With the new architecture, you can't have a variable for an Amazing instance

Open ipodishima opened this issue 6 years ago • 2 comments

Hi there!

Thanks for the library, very helpful for my project! But... Given the update on Amazing (public protocol Amazing: RawRepresentable, CaseIterable where RawValue == String) we could write

var icon: Amazing {
        switch self {
        case .conversations:
            return AwesomePro.Regular.comment
        case .statistics:
            return AwesomePro.Solid.chartPie
        }
    }

Now we can't :( Protocol 'Amazing' can only be used as a generic constraint because it has Self or associated type requirements

ipodishima avatar Nov 22 '18 19:11 ipodishima

@rafiki270 @ghowen Any ideas? In extensions we use the generic <AmazingType: Amazing>, but as far as I know we can't do that with variable types, plus it would hurt readability for the API consumer.

padarom avatar Nov 24 '18 11:11 padarom

Well, as a quick hack I would suggest you return another type for now ... like image or attributed string. I’ll try to check some options about this asap

rafiki270 avatar Nov 24 '18 18:11 rafiki270