mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-27 07:00:13 +01:00
The intent of this change is that instead of paths looking like `explorer/testdata/foo/bar.carbon` (repo-relative), they're now just `bar.carbon` (local). The consequence is that paths should be a bit more durable in various environments, and just paths should be shorter and easier to read. The explorer's prelude is an exception to this since it comes from data, rather than being the test target. Due to the change in approaches, it needs the regex again. Uses #2829
34 lines
738 B
Plaintext
34 lines
738 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
|
|
|
|
package ExplorerTest api;
|
|
|
|
class Point {
|
|
|
|
fn Origin() -> Point {
|
|
return {.x = 0, .y = 0};
|
|
}
|
|
|
|
fn GetSetX[addr self: Point*](x: i32) -> i32 {
|
|
var old: auto = (*self).x;
|
|
(*self).x = x;
|
|
return old;
|
|
}
|
|
|
|
var x: i32;
|
|
var y: i32;
|
|
}
|
|
|
|
fn Main() -> i32 {
|
|
let p: Point = Point.Origin();
|
|
// CHECK:STDERR: COMPILATION ERROR: fail_method_let.carbon:[[@LINE+1]]: method p.GetSetX requires its receiver to be a reference expression
|
|
var x: auto = p.GetSetX(42);
|
|
if (p.x == 42) {
|
|
return x;
|
|
}
|
|
return 1;
|
|
}
|