brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · 5b15a88 Raw
126 lines · cpp
1// RUN: rm -rf %t && mkdir -p %t2// RUN: clang-doc --extra-arg -std=c++20 --output=%t --format=json --executor=standalone %s3// RUN: FileCheck %s < %t/json/GlobalNamespace/index.json4 5template<typename T> concept Incrementable = requires (T a) {6  a++;7};8 9template<typename T> concept Decrementable = requires (T a) {10  a--;11};12 13template<typename T> concept PreIncrementable = requires (T a) {14  ++a;15};16 17template<typename T> concept PreDecrementable = requires (T a) {18  --a;19};20 21template<typename T> requires Incrementable<T> && Decrementable<T> void One();22 23template<typename T> requires (Incrementable<T> && Decrementable<T>) void Two();24 25template<typename T> requires (Incrementable<T> && Decrementable<T>) || (PreIncrementable<T> && PreDecrementable<T>) void Three();26 27template<typename T> requires (Incrementable<T> && Decrementable<T>) || PreIncrementable<T> void Four();28 29// CHECK:         "Name": "One",30// CHECK:         "Template": {31// CHECK-NEXT:      "Constraints": [32// CHECK-NEXT:        {33// CHECK-NEXT:          "Expression": "Incrementable<T>",34// CHECK-NEXT:          "Name": "Incrementable",35// CHECK-NEXT:          "Path": "",36// CHECK-NEXT:          "QualName": "Incrementable",37// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"38// CHECK-NEXT:        },39// CHECK-NEXT:        {40// CHECK-NEXT:          "End": true,41// CHECK-NEXT:          "Expression": "Decrementable<T>",42// CHECK-NEXT:          "Name": "Decrementable",43// CHECK-NEXT:          "Path": "",44// CHECK-NEXT:          "QualName": "Decrementable",45// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"46// CHECK-NEXT:        }47// CHECK-NEXT:      ],48// CHECK:         "Name": "Two",49// CHECK:         "Template": {50// CHECK-NEXT:      "Constraints": [51// CHECK-NEXT:        {52// CHECK-NEXT:          "Expression": "Incrementable<T>",53// CHECK-NEXT:          "Name": "Incrementable",54// CHECK-NEXT:          "Path": "",55// CHECK-NEXT:          "QualName": "Incrementable",56// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"57// CHECK-NEXT:        },58// CHECK-NEXT:        {59// CHECK-NEXT:          "End": true,60// CHECK-NEXT:          "Expression": "Decrementable<T>",61// CHECK-NEXT:          "Name": "Decrementable",62// CHECK-NEXT:          "Path": "",63// CHECK-NEXT:          "QualName": "Decrementable",64// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"65// CHECK-NEXT:        }66// CHECK-NEXT:      ],67// CHECK:         "Name": "Three",68// CHECK:         "Template": {69// CHECK-NEXT:      "Constraints": [70// CHECK-NEXT:        {71// CHECK-NEXT:          "Expression": "Incrementable<T>",72// CHECK-NEXT:          "Name": "Incrementable",73// CHECK-NEXT:          "Path": "",74// CHECK-NEXT:          "QualName": "Incrementable",75// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"76// CHECK-NEXT:        },77// CHECK-NEXT:        {78// CHECK-NEXT:          "Expression": "Decrementable<T>",79// CHECK-NEXT:          "Name": "Decrementable",80// CHECK-NEXT:          "Path": "",81// CHECK-NEXT:          "QualName": "Decrementable",82// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"83// CHECK-NEXT:        },84// CHECK-NEXT:        {85// CHECK-NEXT:          "Expression": "PreIncrementable<T>",86// CHECK-NEXT:          "Name": "PreIncrementable",87// CHECK-NEXT:          "Path": "",88// CHECK-NEXT:          "QualName": "PreIncrementable",89// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"90// CHECK-NEXT:        },91// CHECK-NEXT:        {92// CHECK-NEXT:          "End": true,93// CHECK-NEXT:          "Expression": "PreDecrementable<T>",94// CHECK-NEXT:          "Name": "PreDecrementable",95// CHECK-NEXT:          "Path": "",96// CHECK-NEXT:          "QualName": "PreDecrementable",97// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"98// CHECK-NEXT:        }99// CHECK-NEXT:      ],100// CHECK:         "Name": "Four",101// CHECK:         "Template": {102// CHECK-NEXT:      "Constraints": [103// CHECK-NEXT:        {104// CHECK-NEXT:          "Expression": "Incrementable<T>",105// CHECK-NEXT:          "Name": "Incrementable",106// CHECK-NEXT:          "Path": "",107// CHECK-NEXT:          "QualName": "Incrementable",108// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"109// CHECK-NEXT:        },110// CHECK-NEXT:        {111// CHECK-NEXT:          "Expression": "Decrementable<T>",112// CHECK-NEXT:          "Name": "Decrementable",113// CHECK-NEXT:          "Path": "",114// CHECK-NEXT:          "QualName": "Decrementable",115// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"116// CHECK-NEXT:        },117// CHECK-NEXT:        {118// CHECK-NEXT:          "End": true,119// CHECK-NEXT:          "Expression": "PreIncrementable<T>",120// CHECK-NEXT:          "Name": "PreIncrementable",121// CHECK-NEXT:          "Path": "",122// CHECK-NEXT:          "QualName": "PreIncrementable",123// CHECK-NEXT:          "USR": "{{[0-9A-F]*}}"124// CHECK-NEXT:        }125// CHECK-NEXT:      ],126