opaque type Opaque
String.Opaque is a supertype for all String based opaque types
The reason to have String.Opaque vs. AnyRef.Opaque based types, is that String.Opaque will inherit a large library of methods, same a String itself does. String.Opaque will behave like a regular String, but be different from a String. If this behaviour is not desirable, use AnyRef.Opaque.Base even with String opaques.
- Source
- __.scala