Skip to content

Commit

Permalink
Add hello world for Rust
Browse files Browse the repository at this point in the history
  • Loading branch information
dkomanov committed Sep 23, 2022
1 parent 1bc6f3b commit 2d93002
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 0 deletions.
1 change: 1 addition & 0 deletions .ijwb/.bazelproject
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
directories:
rs
src
.

Expand Down
25 changes: 25 additions & 0 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -171,3 +171,28 @@ maven_install(
fetch_sources = True,
repositories = maven_repositories,
)

## ██████ ██ ██ ███████ ████████
## ██ ██ ██ ██ ██ ██
## ██████ ██ ██ ███████ ██
## ██ ██ ██ ██ ██ ██
## ██ ██ ██████ ███████ ██

http_archive(
name = "rules_rust",
sha256 = "0cc7e6b39e492710b819e00d48f2210ae626b717a3ab96e048c43ab57e61d204",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_rust/releases/download/0.10.0/rules_rust-v0.10.0.tar.gz",
"https://github.com/bazelbuild/rules_rust/releases/download/0.10.0/rules_rust-v0.10.0.tar.gz",
],
)

load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")

rules_rust_dependencies()

rust_register_toolchains(edition = "2021")

load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")

crate_universe_dependencies()
7 changes: 7 additions & 0 deletions rs/hello/bin/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
load("@rules_rust//rust:defs.bzl", "rust_binary")

rust_binary(
name = "bin",
srcs = ["main.rs"],
deps = ["//rs/hello/greeter"],
)
6 changes: 6 additions & 0 deletions rs/hello/bin/main.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
extern crate greeter;

fn main() {
let hello = greeter::Greeter::new("Hello");
hello.greet("world");
}
10 changes: 10 additions & 0 deletions rs/hello/greeter/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package(default_visibility = ["//visibility:public"])

load("@rules_rust//rust:defs.bzl", "rust_library")

rust_library(
name = "greeter",
srcs = [
"greeter.rs",
],
)
13 changes: 13 additions & 0 deletions rs/hello/greeter/greeter.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
pub struct Greeter {
greeting: String,
}

impl Greeter {
pub fn new(greeting: &str) -> Greeter {
Greeter { greeting: greeting.to_string(), }
}

pub fn greet(&self, thing: &str) {
println!("{} {}", &self.greeting, thing);
}
}

0 comments on commit 2d93002

Please sign in to comment.