mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-04 15:11:07 +01:00
Add a `NameId` that is effectively just a wrapper around a `StringId`, with some additional predefined values for names that don't correspond to strings, such as the name of `self` or the function's return slot.
26 lines
975 B
Plaintext
26 lines
975 B
Plaintext
// 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
|
|
|
|
// CHECK:STDERR: fail_collapse.carbon:[[@LINE+3]]:9: `const` applied repeatedly to the same type has no additional effect.
|
|
// CHECK:STDERR: fn G(p: const (const i32)**) -> i32** {
|
|
// CHECK:STDERR: ^
|
|
fn G(p: const (const i32)**) -> i32** {
|
|
// CHECK:STDERR: fail_collapse.carbon:[[@LINE+3]]:11: ERROR: Cannot implicitly convert from `const i32**` to `i32**`.
|
|
// CHECK:STDERR: return p;
|
|
// CHECK:STDERR: ^
|
|
return p;
|
|
}
|
|
|
|
// CHECK:STDOUT: file "fail_collapse.carbon" {
|
|
// CHECK:STDOUT: %G: <function> = fn_decl @G
|
|
// CHECK:STDOUT: }
|
|
// CHECK:STDOUT:
|
|
// CHECK:STDOUT: fn @G(%p: const i32**) -> i32** {
|
|
// CHECK:STDOUT: !entry:
|
|
// CHECK:STDOUT: %p.ref: const i32** = name_reference p, %p
|
|
// CHECK:STDOUT: return <error>
|
|
// CHECK:STDOUT: }
|