File tree Expand file tree Collapse file tree 3 files changed +39
-0
lines changed Expand file tree Collapse file tree 3 files changed +39
-0
lines changed Original file line number Diff line number Diff line change 1+ import  scala .quoted .* 
2+ 
3+ case  class  QueryMeta [T ](map : Map [String , String ])
4+ 
5+ object  QueryMeta : 
6+   given  [T ]:  FromExpr [QueryMeta [T ]] =  new  FromExpr [QueryMeta [T ]]: 
7+     def  unapply (expr : Expr [QueryMeta [T ]])(using  q : Quotes ):  Option [QueryMeta [T ]] = 
8+       import  q .reflect .* 
9+       expr match 
10+         case  ' { QueryMeta /* [T]*/  ($ { map }:  Map [String , String ]) } =>  //  error: Reference to T within quotes requires a given scala.quoted.Type[T] in scope.
11+           map.value.map(QueryMeta [T ].apply)
12+         case  _ => 
13+           None 
Original file line number Diff line number Diff line change 1+ import  scala .quoted .* 
2+ 
3+ case  class  QueryMeta [T ](map : Map [String , String ])
4+ 
5+ object  QueryMeta : 
6+   given  [T :  Type ]:  FromExpr [QueryMeta [T ]] =  new  FromExpr [QueryMeta [T ]]: 
7+     def  unapply (expr : Expr [QueryMeta [T ]])(using  q : Quotes ):  Option [QueryMeta [T ]] = 
8+       import  q .reflect .* 
9+       expr match 
10+         case  ' { QueryMeta [t]($ { map }:  Map [String , String ]) } => 
11+           map.value.map(QueryMeta [T ].apply)
12+         case  _ => 
13+           None 
Original file line number Diff line number Diff line change 1+ import  scala .quoted .* 
2+ 
3+ case  class  QueryMeta [T ](map : Map [String , String ])
4+ 
5+ object  QueryMeta : 
6+   given  [T ]:  FromExpr [QueryMeta [T ]] =  new  FromExpr [QueryMeta [T ]]: 
7+     def  unapply (expr : Expr [QueryMeta [T ]])(using  q : Quotes ):  Option [QueryMeta [T ]] = 
8+       import  q .reflect .* 
9+       expr match 
10+         case  ' { QueryMeta [t]($ { map }:  Map [String , String ]) } => 
11+           map.value.map(QueryMeta [T ].apply)
12+         case  _ => 
13+           None 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments