我正在尝试构建一个HTML web-scraper,并且遇到了一个我无法通过的障碍.
#![feature(libc)]
#![feature(rustc_private)]
extern crate libc;
extern crate url;
extern crate hyper;
extern crate html5ever;
extern crate serialize;
extern crate html5ever_dom_sink;
#[macro_use]
extern crate tendril;
use tendril::{StrTendril, SliceExt};
use std::ffi::{CStr,CString};
use tendril::{ByteTendril, ReadExt};
use html5ever::{parse, one_input};
use html5ever_dom_sink::common::{Document, Doctype, Text, Comment, Element};
use html5ever_dom_sink::rcdom::{RcDom, Handle};
use hyper::Client;
use hyper::header::Connection;
use std::io::Read;
fn get_page(url: &str) -> String {
let mut client = Client::new();
let mut res = client.get(url)
// set a header
.header(Connection::close())
// let 'er go!
.send().unwrap();
let mut …Run Code Online (Sandbox Code Playgroud) 假设我的 Rust 库中的某处定义了以下枚举类型:
#[derive(Debug)]
pub enum Color {
Red,
Green,
Blue,
}
Run Code Online (Sandbox Code Playgroud)
Color::Yellow当我向枚举添加第四个变体时,这是否被视为重大更改?如果这是一个重大更改(我猜是因为声明match),有没有办法向 API 用户表明这种类型将来可能会扩展?