mirror of
https://github.com/HigherOrderCO/Bend.git
synced 2024-09-11 03:45:29 +03:00
Merge pull request #458 from HigherOrderCO/top-level-names-with-double-slash
Dont allow top level names start with '//'
This commit is contained in:
commit
5036534d9f
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -68,7 +68,7 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
|
||||
|
||||
[[package]]
|
||||
name = "bend-lang"
|
||||
version = "0.2.16"
|
||||
version = "0.2.17"
|
||||
dependencies = [
|
||||
"TSPL",
|
||||
"arrayvec",
|
||||
|
@ -2,7 +2,7 @@
|
||||
name = "bend-lang"
|
||||
description = "A high-level, massively parallel programming language"
|
||||
license = "Apache-2.0"
|
||||
version = "0.2.16"
|
||||
version = "0.2.17"
|
||||
edition = "2021"
|
||||
exclude = ["tests/snapshots/"]
|
||||
|
||||
|
@ -812,6 +812,9 @@ pub trait ParserCommons<'a>: Parser<'a> {
|
||||
if nam.contains("__") {
|
||||
let msg = "Top-level names are not allowed to contain \"__\".".to_string();
|
||||
self.with_ctx(Err(msg), ini_idx, end_idx)
|
||||
} else if nam.starts_with("//") {
|
||||
let msg = "Top-level names are not allowed to start with \"//\".".to_string();
|
||||
self.with_ctx(Err(msg), ini_idx, end_idx)
|
||||
} else {
|
||||
Ok(nam)
|
||||
}
|
||||
|
@ -912,7 +912,7 @@ impl<'a> PyParser<'a> {
|
||||
}
|
||||
|
||||
self.skip_trivia_inline();
|
||||
let name = self.parse_bend_name()?;
|
||||
let name = self.parse_top_level_name()?;
|
||||
self.skip_trivia_inline();
|
||||
let params = if self.starts_with("(") {
|
||||
self.list_like(|p| p.parse_bend_name(), "(", ")", ",", true, 0)?
|
||||
|
@ -0,0 +1,8 @@
|
||||
def random//constant():
|
||||
return 3.14
|
||||
|
||||
def //thisshouldfail():
|
||||
return random//constant()
|
||||
|
||||
def main:
|
||||
return //thisshouldfail()
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
source: tests/golden_tests.rs
|
||||
input_file: tests/golden_tests/compile_file/top_level_name_slashslash.bend
|
||||
---
|
||||
[4m[1m[31mErrors:[0m
|
||||
In tests/golden_tests/compile_file/top_level_name_slashslash.bend :
|
||||
Top-level names are not allowed to start with "//".
|
||||
[0m 4 | def [4m[31m//thisshouldfail[0m():[0m
|
Loading…
Reference in New Issue
Block a user