windjammer 0.48.0

A simple language inspired by Go, Ruby, and Elixir that transpiles to Rust - 80% of Rust's power with 20% of the complexity
Documentation
// Test: Automatic clone insertion
// This file should compile WITHOUT any manual .clone() calls
// The compiler should automatically insert them where needed

fn main() {
    // Test 1: Simple move and reuse
    let data = vec![1, 2, 3, 4, 5]
    takes_ownership(data)  // Should auto-insert .clone() here
    println!("Data length: {}", data.len())  // data still usable!
    
    // Test 2: Multiple uses after move
    let message = "Hello, Windjammer!"
    send_message(message)  // Should auto-insert .clone() here
    log_message(message)   // Should auto-insert .clone() here
    println!("Message: {}", message)  // message still usable!
    
    // Test 3: No clone needed (single use)
    let temp = vec![10, 20, 30]
    process_and_drop(temp)  // No .clone() needed, temp not used again
    
    println!("Auto-clone test complete!")
}

fn takes_ownership(v: Vec<int>) {
    println!("Received vector with {} elements", v.len())
}

fn send_message(msg: string) {
    println!("Sending: {}", msg)
}

fn log_message(msg: string) {
    println!("Logging: {}", msg)
}

fn process_and_drop(v: Vec<int>) {
    println!("Processing {} elements", v.len())
}