Ideas for versioned serde struct
Goals
- version external APIs
- read (write?) data of older versions
- be agnostic over protocol (but we'll actually use JSON in our examples)
#![allow(dead_code)] | |
// ------------------ | |
// The game code | |
// ------------------ | |
fn main() { | |
let mut app = App::new() | |
.add_system(example_system) | |
.add_system(another_example_system) |
// ------------------ | |
// The game code | |
// ------------------ | |
fn main() { | |
App::new().add_system(example_system).run(); | |
} | |
fn example_system() { | |
println!("foo"); |
#![allow(dead_code)] | |
// ------------------ | |
// The game code | |
// ------------------ | |
fn main() { | |
App::new() | |
.add_system(example_system) | |
.add_system(another_example_system) |
<article> | |
<header> | |
<h1>Aliquid voluptas facilis odio</h1> | |
<p class="abstract">Look at this glorious layout. Beautiful side­bars on wide screens: One for navi­gat­ing between and inside of articles; and one that render side­notes (that become foot­notes on narrow screens), as well as auto­matically shows side­notes for links (showing their titles). And let's not forget the brilliant typo­graphy.</p> | |
<p class="meta">Written by <a href="#">Pascal Hertleif</a> on June 20, 2020. Published in <a href="#">Typography</a>, <a href="#">Webshit</a>, and <a href="#">Code</a>.</p> | |
<!--<nav class="series"> | |
<a href="#" class="pre"> | |
<span class="label">Previous post</span> | |
<span class="title">Lorem ipsum secundus</span> | |
</a> |
stages: | |
- test | |
- postprocess | |
rust builder: | |
stage: test | |
image: docker:stable | |
variables: | |
CONTAINER_NAME: registry.gitlab.com/PASTE_IN_PROJECT_PATH_HERE/builder:$CI_COMMIT_REF_SLUG | |
before_script: |
/target | |
**/*.rs.bk |
version: "3.2" | |
services: | |
rust: | |
image: rust:1.29.2 # alternatively choose one from https://hub.docker.com/u/japaric/ | |
volumes: | |
- type: bind | |
source: './' | |
target: /app/code | |
read_only: true | |
- type: volume |
PANDOC ?= $(shell which pandoc) | |
INPUT_FOLDER ?= $(shell pwd)/src | |
OUTPUT_FOLDER ?= $(shell pwd)/dist | |
LIB_FOLDER ?= $(shell pwd)/lib | |
IMAGES_FOLDER ?= $(INPUT_FOLDER)/figures | |
REVEAL_TEMPLATE ?= $(LIB_FOLDER)/template.html | |
MARKDOWN_OPTIONS ?= markdown-citations | |
FILTER_OPTIONS ?= | |
# FILTER_OPTIONS ?= --filter pandoc-citeproc |
#[macro_use] extern crate serde_derive; | |
extern crate serde_json; | |
use std::borrow::Cow; | |
#[derive(Debug, Deserialize)] | |
struct Foo<'input> { | |
#[serde(borrow)] | |
bar: Cow<'input, str>, | |
} |