From 1db65939af1bbedb09be00bf00aba9a2e74006ed Mon Sep 17 00:00:00 2001 From: Rigidity Date: Tue, 18 Nov 2025 11:30:12 +0800 Subject: [PATCH] Fix --- crates/rue-cli/src/main.rs | 4 ++-- .../src/compile/binding/struct_binding.rs | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/crates/rue-cli/src/main.rs b/crates/rue-cli/src/main.rs index cb5b5c03..3f1af41f 100644 --- a/crates/rue-cli/src/main.rs +++ b/crates/rue-cli/src/main.rs @@ -101,7 +101,7 @@ fn init(args: InitArgs) -> Result<()> { fn build(args: BuildArgs) -> Result<()> { let mut allocator = Allocator::new(); - let search_path = Path::new(args.file.as_deref().unwrap_or(".")); + let search_path = &Path::new(args.file.as_deref().unwrap_or(".")).canonicalize()?; let project = find_project(search_path, args.debug)?; let Some(project) = project else { @@ -199,7 +199,7 @@ fn build(args: BuildArgs) -> Result<()> { fn test(args: TestArgs) -> Result<()> { let mut allocator = Allocator::new(); - let search_path = Path::new(args.file.as_deref().unwrap_or(".")); + let search_path = &Path::new(args.file.as_deref().unwrap_or(".")).canonicalize()?; let project = find_project(search_path, true)?; let Some(project) = project else { diff --git a/crates/rue-compiler/src/compile/binding/struct_binding.rs b/crates/rue-compiler/src/compile/binding/struct_binding.rs index 7205b99d..c5c6f950 100644 --- a/crates/rue-compiler/src/compile/binding/struct_binding.rs +++ b/crates/rue-compiler/src/compile/binding/struct_binding.rs @@ -64,20 +64,20 @@ pub fn create_struct_binding( if let Some(binding) = field.binding() { create_binding(ctx, binding_symbol, &binding); + + ctx.add_syntax( + SyntaxItemKind::FieldReference(SyntaxField { + name: name.text().to_string(), + container: ty, + ty: field_type, + }), + name.text_range(), + ); } else { create_binding_for_identifier(ctx, binding_symbol, &name); } ctx.pop_declaration(); - - ctx.add_syntax( - SyntaxItemKind::FieldReference(SyntaxField { - name: name.text().to_string(), - container: ty, - ty: field_type, - }), - name.text_range(), - ); } ctx.add_syntax(