| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // Part of the Carbon Language project, under the Apache License v2.0 with LLVM
- // Exceptions. See /LICENSE for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- // AUTOUPDATE
- package ExplorerTest api;
- interface ManyTypes {
- let T0:! type;
- let T1:! type;
- let T2:! type;
- let T3:! type;
- let T4:! type;
- let T5:! type;
- let T6:! type;
- let T7:! type;
- let T8:! type;
- let T9:! type;
- }
- fn F[
- M:! ManyTypes where
- .T0 = .T1 and
- .T1 = .T2 and
- .T2 = .T3 and
- .T3 = .T4 and
- .T4 = .T5 and
- .T5 = .T6 and
- .T6 = .T7 and
- .T7 = .T8 and
- .T8 = .T9 and
- .T9 = i32](m: M) -> i32 {
- var v: M.T0 = 1;
- return v;
- }
- class C {
- extend impl as ManyTypes where
- .T0 = i32 and
- .T1 = .T0 and
- .T2 = .T1 and
- .T3 = .T2 and
- .T4 = .T3 and
- .T5 = .T4 and
- .T6 = .T5 and
- .T7 = .T6 and
- .T8 = .T7 and
- .T9 = .T8 {}
- }
- fn Main() -> i32 {
- var c: C = {};
- return F(c);
- }
- // CHECK:STDOUT: result: 1
|