Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

Latest commit

 

History

History
41 lines (28 loc) · 1.05 KB

instructions.md

File metadata and controls

41 lines (28 loc) · 1.05 KB

Instructions

In this exercise you'll be generating semi-structured log messages.

You'll start with some stubbed functions and the following enum:

#[derive(Clone, PartialEq, Debug)]
pub enum LogLevel {
    Info,
    Warning,
    Error,
}

Your goal is to emit a log message as follows: "[<LEVEL>]: <MESSAGE>". You'll need to implement functions that correspond with log levels.

For example, the below snippet demonstrates an expected output for the log function.

log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"

And for info:

info("Timezone changed")
// Returns: "[INFO]: Timezone changed"

Have fun!

further practice

There is a feature-gated test in this suite. Feature gates disable compilation entirely for certain sections of your program. They will be covered later. For now just know that there is a test which is only built and run when you use a special testing invocation:

cargo test --features add-a-variant

This test is meant to show you how to add a variant to your enum.