Skip to content

Commit 30200e1

Browse files
authored
Fix allowing numerals in package names (#1509)
This fixes a mistake in #1505 where numerals were disallowed in package names.
1 parent bcc4392 commit 30200e1

3 files changed

Lines changed: 9 additions & 1 deletion

File tree

crates/wasmparser/src/validator/names.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,10 @@ impl<'a> ComponentNameParser<'a> {
825825

826826
fn take_lowercase_kebab(&mut self) -> Result<&'a KebabStr> {
827827
let kebab = self.take_kebab()?;
828-
if let Some(c) = kebab.chars().find(|c| *c != '-' && !c.is_lowercase()) {
828+
if let Some(c) = kebab
829+
.chars()
830+
.find(|c| c.is_alphabetic() && !c.is_lowercase())
831+
{
829832
bail!(
830833
self.offset,
831834
"character `{c}` is not lowercase in package name/namespace"

tests/local/component-model/naming.wast

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,5 @@
112112
)
113113
(component
114114
(instance (import "a:b/c"))
115+
(instance (import "a1:b1/c"))
115116
)

tests/snapshots/local/component-model/naming.wast/16.print

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,8 @@
33
(instance)
44
)
55
(import "a:b/c" (instance (;0;) (type 0)))
6+
(type (;1;)
7+
(instance)
8+
)
9+
(import "a1:b1/c" (instance (;1;) (type 1)))
610
)

0 commit comments

Comments
 (0)