summaryrefslogblamecommitdiff
path: root/src/library/scala/languageFeature.scala
blob: 1f411c412a11980b1f352d270164004754a06357 (plain) (tree)
1
2
3
4
5
6
7
8
9

             
                            


                        
                                                                                 
                       
                                  
 
                                                                     
                         
                                      
 
                                                                                                
                              
                                                
 
                                                                        
                                  
                                                        
 
                                                                     
                          
                                        
 
                                                                                              
                           
                                          

                       
                                                                    
                       
                                


   
package scala

import scala.annotation.meta

object languageFeature {

  @meta.languageFeature("extension of type scala.Dynamic", enableRequired = true)
  sealed trait dynamics
  object dynamics extends dynamics

  @meta.languageFeature("postfix operator #", enableRequired = false)
  sealed trait postfixOps
  object postfixOps extends postfixOps

  @meta.languageFeature("reflective access of structural type member #", enableRequired = false)
  sealed trait reflectiveCalls
  object reflectiveCalls extends reflectiveCalls

  @meta.languageFeature("implicit conversion #", enableRequired = false)
  sealed trait implicitConversions
  object implicitConversions extends implicitConversions

  @meta.languageFeature("higher-kinded type", enableRequired = false)
  sealed trait higherKinds
  object higherKinds extends higherKinds

  @meta.languageFeature("#, which cannot be expressed by wildcards, ", enableRequired = false)
  sealed trait existentials
  object existentials extends existentials

  object experimental {
    @meta.languageFeature("macro definition", enableRequired = true)
    sealed trait macros
    object macros extends macros
  }
}