mirror of
https://github.com/kmc7468/cs220.git
synced 2025-12-16 06:58:45 +00:00
Initial commit
This commit is contained in:
19
src/assignments/assignment01.rs
Normal file
19
src/assignments/assignment01.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
//! Assignment 1: Preparing for Rust Development Environment.
|
||||
//!
|
||||
//! The primary goal of this assignment is bringing up SSH, VSCode, and all the other necessary tools to develop Rust programs.
|
||||
//! Please make sure you're comfortable with developing Rust programs before moving on to the next assignments.
|
||||
//!
|
||||
//! You should fill out `add()` and `sub()` function bodies in such a way that `/scripts/grade-01.sh` works fine.
|
||||
//! See `assignment01_grade.rs` and `/scripts/grade-01.sh` for the test script.
|
||||
//!
|
||||
//! Hint: https://doc.rust-lang.org/std/primitive.usize.html
|
||||
|
||||
/// Adds two unsigned words. If overflow happens, just wrap around.
|
||||
pub(crate) fn add(lhs: usize, rhs: usize) -> usize {
|
||||
todo!()
|
||||
}
|
||||
|
||||
/// Adds two unsigned words. If underflow happens, just wrap around.
|
||||
pub(crate) fn sub(lhs: usize, rhs: usize) -> usize {
|
||||
todo!()
|
||||
}
|
||||
24
src/assignments/assignment01_grade.rs
Normal file
24
src/assignments/assignment01_grade.rs
Normal file
@@ -0,0 +1,24 @@
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::super::assignment01::*;
|
||||
|
||||
#[test]
|
||||
fn add_7_3() {
|
||||
assert_eq!(add(7, 3), 10);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn add_overflow() {
|
||||
assert_eq!(add(usize::MAX, 1), usize::MIN);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sub_7_3() {
|
||||
assert_eq!(sub(7, 3), 4);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sub_underflow() {
|
||||
assert_eq!(sub(usize::MIN, 1), usize::MAX);
|
||||
}
|
||||
}
|
||||
5
src/assignments/mod.rs
Normal file
5
src/assignments/mod.rs
Normal file
@@ -0,0 +1,5 @@
|
||||
#![allow(dead_code)]
|
||||
#![allow(unused_variables)]
|
||||
|
||||
mod assignment01;
|
||||
mod assignment01_grade;
|
||||
33
src/lib.rs
Normal file
33
src/lib.rs
Normal file
@@ -0,0 +1,33 @@
|
||||
//! KAIST CS220: Programming Principles
|
||||
|
||||
// # Tries to deny all lints (`rustc -W help`).
|
||||
#![deny(absolute_paths_not_starting_with_crate)]
|
||||
#![deny(anonymous_parameters)]
|
||||
#![deny(box_pointers)]
|
||||
#![deny(deprecated_in_future)]
|
||||
#![deny(explicit_outlives_requirements)]
|
||||
#![deny(keyword_idents)]
|
||||
#![deny(macro_use_extern_crate)]
|
||||
#![deny(missing_debug_implementations)]
|
||||
#![deny(non_ascii_idents)]
|
||||
#![deny(pointer_structural_match)]
|
||||
#![deny(rust_2018_idioms)]
|
||||
#![deny(trivial_numeric_casts)]
|
||||
#![deny(unaligned_references)]
|
||||
// #![deny(unused_crate_dependencies)] // TODO: uncomment
|
||||
#![deny(unused_extern_crates)]
|
||||
#![deny(unused_import_braces)]
|
||||
#![deny(unused_qualifications)]
|
||||
#![deny(unused_results)]
|
||||
#![deny(variant_size_differences)]
|
||||
#![deny(warnings)]
|
||||
#![deny(rustdoc::invalid_html_tags)]
|
||||
#![deny(rustdoc::missing_doc_code_examples)]
|
||||
#![deny(missing_docs)]
|
||||
#![deny(rustdoc::all)]
|
||||
#![deny(unreachable_pub)]
|
||||
#![deny(single_use_lifetimes)]
|
||||
#![deny(unused_lifetimes)]
|
||||
#![deny(unstable_features)]
|
||||
|
||||
mod assignments;
|
||||
Reference in New Issue
Block a user