Support valueOf of singleton tuples #17883
                  
                    
                      Swoorup
                    
                  
                
                  started this conversation in
                Feature Requests
              
            Replies: 0 comments 2 replies
-
| For now, you can make a similar abstraction using  final class ReflectType[T](val asValue: T) extends AnyVal {
  type Refl = T
  def refl: Refl = asValue
}
def reflectType[T](using refl: ReflectType[T]): refl.Refl = refl.refl
// forces bounds to be fixed in pattern match
final abstract class TypeBox[T]()
transparent inline given genReflectType[T]: ReflectType[T] = inline compiletime.erasedValue[TypeBox[T]] match {
  case _: TypeBox[t *: ts]    => ReflectType(compiletime.constValueTuple[t *: ts])
  case _: TypeBox[EmptyTuple] => ReflectType(EmptyTuple)
  case _: TypeBox[T]          => ReflectType(valueOf[T])
}
val one: 1 = reflectType[1]
val many: (1,"msg",true) = reflectType[(1,"msg",true)] | 
Beta Was this translation helpful? Give feedback.
                  
                    0 replies
                  
                
            -
| Thank you. | 
Beta Was this translation helpful? Give feedback.
                  
                    0 replies
                  
                
            
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    
Uh oh!
There was an error while loading. Please reload this page.
-
Currently this gives:
As @Odomontois pointed out in gitter something like this could support tuple singletons:
Beta Was this translation helpful? Give feedback.
All reactions