On Jun 29, 2016, at 2:33 PM, Daniel Dunbar via swift-users 
<swift-users@swift.org> wrote:
> 
> I would like some clarification regarding the expected role of 
> `CustomStringConvertible` for types which have a natural, lossless, string 
> representation.

And this is why we started down the road towards clarifying that it wasn't 
convertible but a lossy representation. What you really want is a protocol that
represents an isomorphic relationship. RawRepresentable is about as close as 
you can get right now.

And "representation" in RawRepresentable actually means "isomorphic conversion
between types". (ish.)

-- E, paging Matthew Johnson to the SE-0041 courtesy phone

p.s. 
https://github.com/apple/swift-evolution/blob/master/proposals/0041-conversion-protocol-conventions.md


> I don't have good terminology to use here, but is the expectation that the 
> "textual string representation" is a readable description of the object? This 
> seems to correspond to the synthesized (?) default definition for struct 
> types, as well as some of the uses for Foundation types without natural 
> string representations (i.e. `Foundation.Notification` reports something like 
> "name = foo, object = ..., userInfo = ...").
> 
> Or, is the expectation that it provide a string *representation* of the 
> object, for objects where that makes sense. This corresponds to the use in 
> `Foundation.UUID`, or the example of `Point.description` from the stdlib's 
> `CustomStringConvertible` documentation.
> 
> Another way of phrasing this question is: for types which have a reversible 
> string representation, should I expect `CustomStringConvertible.description` 
> to give me a string I could use to reconstruct an instance _without_ knowing 
> its type?
> 
> And another way (my actual question) is, given a `struct Path` object which 
> contains a path string, what should `print(Path("a"))` print?
> 
> - Daniel
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to